@dignite-ng/expand.cms 3.0.0-rc.48 → 3.0.0-rc.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/providers/route.provider.d.ts +2 -3
- package/esm2022/config/providers/route.provider.mjs +3 -4
- package/esm2022/lib/cms-routing.module.mjs +3 -3
- package/esm2022/lib/cms.module.mjs +4 -4
- package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +18 -16
- package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +9 -1
- package/esm2022/lib/components/admin/entries/create.component.mjs +25 -63
- package/esm2022/lib/components/admin/entries/edit.component.mjs +28 -14
- package/esm2022/lib/components/admin/entries/entries.component.mjs +11 -16
- package/esm2022/lib/components/admin/fields/create-field.component.mjs +54 -54
- package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +44 -69
- package/esm2022/lib/components/admin/fields/edit-field.component.mjs +130 -73
- package/esm2022/lib/components/admin/fields/fields-form-config.mjs +50 -0
- package/esm2022/lib/components/admin/fields/fields-group.component.mjs +128 -0
- package/esm2022/lib/components/admin/fields/fields.component.mjs +61 -57
- package/esm2022/lib/components/admin/fields/index.mjs +3 -3
- package/esm2022/lib/components/admin/sections/create-or-edit-sections-modal.component.mjs +17 -15
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +59 -86
- package/esm2022/lib/components/admin/sections/sections.component.mjs +11 -14
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +32 -23
- package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +26 -11
- package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +50 -26
- package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +10 -10
- package/esm2022/lib/components/dynamic-form/table/table-view.component.mjs +3 -2
- package/esm2022/lib/resolvers/page-default-toolbar-actions.mjs +42 -37
- package/esm2022/lib/resolvers/table-default-entity-props.mjs +4 -4
- package/esm2022/lib/services/fields-data.service.mjs +100 -0
- package/esm2022/lib/services/form-controls.service.mjs +12 -10
- package/esm2022/lib/services/index.mjs +3 -4
- package/esm2022/lib/services/keys-convert-to-lowercase.service.mjs +40 -0
- package/fesm2022/dignite-ng-expand.cms-config.mjs +2 -3
- package/fesm2022/dignite-ng-expand.cms-config.mjs.map +1 -1
- package/fesm2022/dignite-ng-expand.cms.mjs +811 -784
- package/fesm2022/dignite-ng-expand.cms.mjs.map +1 -1
- package/lib/cms.module.d.ts +2 -2
- package/lib/components/admin/entries/create-or-edit-entries.component.d.ts +3 -1
- package/lib/components/admin/entries/create-or-update-entry-input-base.d.ts +8 -0
- package/lib/components/admin/entries/create.component.d.ts +1 -2
- package/lib/components/admin/entries/edit.component.d.ts +1 -2
- package/lib/components/admin/entries/entries.component.d.ts +2 -1
- package/lib/components/admin/fields/create-field.component.d.ts +19 -22
- package/lib/components/admin/fields/create-or-edit-field.component.d.ts +20 -26
- package/lib/components/admin/fields/edit-field.component.d.ts +24 -30
- package/lib/components/admin/fields/fields-form-config.d.ts +19 -0
- package/lib/components/admin/fields/fields-group.component.d.ts +48 -0
- package/lib/components/admin/fields/fields.component.d.ts +18 -16
- package/lib/components/admin/fields/index.d.ts +1 -2
- package/lib/components/admin/sections/create-or-edit-sections-modal.component.d.ts +4 -1
- package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +14 -9
- package/lib/components/admin/sections/sections.component.d.ts +1 -3
- package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +10 -4
- package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +7 -3
- package/lib/components/dynamic-form/table/table-config.component.d.ts +15 -5
- package/lib/components/dynamic-form/table/table-control.component.d.ts +3 -3
- package/lib/components/dynamic-form/table/table-view.component.d.ts +2 -1
- package/lib/resolvers/page-default-toolbar-actions.d.ts +9 -6
- package/lib/services/fields-data.service.d.ts +45 -0
- package/lib/services/form-controls.service.d.ts +3 -1
- package/lib/services/index.d.ts +2 -3
- package/lib/services/keys-convert-to-lowercase.service.d.ts +16 -0
- package/package.json +1 -1
- package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +0 -18
- package/esm2022/lib/components/admin/fields/field-group.component.mjs +0 -144
- package/esm2022/lib/constants/styles.mjs +0 -19
- package/esm2022/lib/services/appent-content.mjs +0 -15
- package/esm2022/lib/services/cms-api.service.mjs +0 -94
- package/esm2022/lib/services/cms.service.mjs +0 -22
- package/esm2022/lib/services/field-abstracts.service.mjs +0 -48
- package/lib/components/admin/fields/create-or-update-field-input-base.d.ts +0 -15
- package/lib/components/admin/fields/field-group.component.d.ts +0 -58
- package/lib/constants/styles.d.ts +0 -2
- package/lib/services/appent-content.d.ts +0 -1
- package/lib/services/cms-api.service.d.ts +0 -23
- package/lib/services/cms.service.d.ts +0 -10
- package/lib/services/field-abstracts.service.d.ts +0 -20
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { KeysConvertToLowercaseService } from '../../../services';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class TableControlComponent {
|
|
6
|
-
private
|
|
7
|
-
constructor(
|
|
6
|
+
private _KeysConvertToLowercaseService;
|
|
7
|
+
constructor(_KeysConvertToLowercaseService: KeysConvertToLowercaseService);
|
|
8
8
|
private fb;
|
|
9
9
|
/**表单实体 */
|
|
10
10
|
_entity: FormGroup | undefined;
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ToolbarAction } from '@abp/ng.components/extensible';
|
|
2
|
+
/**
|
|
3
|
+
* 字段列表-新建
|
|
4
|
+
* [ECmsComponent.Fields]:Fields_Defaults_Toolbar_Action
|
|
5
|
+
*/
|
|
6
|
+
export declare const Fields_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
7
|
+
/**字段创建页-保存 */
|
|
8
|
+
export declare const Fields_Create_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
9
|
+
/**字段创建页-保存 */
|
|
10
|
+
export declare const Fields_Edit_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
2
11
|
/**版块 */
|
|
3
12
|
export declare const Sections_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
4
13
|
/**版块-创建-编辑 */
|
|
5
14
|
export declare const Sections_Create_Or_Edit_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
6
15
|
/**站点 */
|
|
7
|
-
/**字段 */
|
|
8
|
-
export declare const Fields_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
9
|
-
/**字段-创建 */
|
|
10
|
-
export declare const Fields_Create_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
11
|
-
/**字段-创建 */
|
|
12
|
-
export declare const Fields_Edit_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
13
16
|
/**条目 */
|
|
14
17
|
export declare const Entries_Defaults_Toolbar_Action: ToolbarAction<any[]>[];
|
|
15
18
|
/**条目-创建 */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CreateFieldInput, CreateOrUpdateFieldGroupInput, FieldAdminService, FieldGroupAdminService, GetFieldsInput, UpdateFieldInput } from '../proxy/dignite/cms/admin/fields';
|
|
2
|
+
import { FormAdminService } from '../proxy/dignite/cms/admin/dynamic-forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FieldsDataService {
|
|
5
|
+
private _fieldGroupService;
|
|
6
|
+
private _formService;
|
|
7
|
+
private _fieldService;
|
|
8
|
+
constructor(_fieldGroupService: FieldGroupAdminService, _formService: FormAdminService, _fieldService: FieldAdminService);
|
|
9
|
+
/**
|
|
10
|
+
* 字段分组列表
|
|
11
|
+
*/
|
|
12
|
+
fieldGroupsList: any[];
|
|
13
|
+
/**
|
|
14
|
+
* 字段控件类型列表
|
|
15
|
+
*/
|
|
16
|
+
fieldControlsTypesList: any[];
|
|
17
|
+
/**
|
|
18
|
+
* 获取字段分组
|
|
19
|
+
*/
|
|
20
|
+
getfieldGroups(newList?: boolean): Promise<unknown>;
|
|
21
|
+
/**
|
|
22
|
+
* 获取字段类型列表
|
|
23
|
+
*/
|
|
24
|
+
getControlsfieldTypes(): Promise<any[]>;
|
|
25
|
+
/**创建分组 */
|
|
26
|
+
createFieldGroup(input: CreateOrUpdateFieldGroupInput): import("rxjs").Observable<import("../proxy/dignite/cms/admin/fields").FieldGroupDto>;
|
|
27
|
+
/**编辑分组 */
|
|
28
|
+
updateFieldGroup(id: string, input: CreateOrUpdateFieldGroupInput): import("rxjs").Observable<import("../proxy/dignite/cms/admin/fields").FieldGroupDto>;
|
|
29
|
+
/**删除分组 */
|
|
30
|
+
deleteFieldGroup(id: string): import("rxjs").Observable<void>;
|
|
31
|
+
/**获取字段列表 */
|
|
32
|
+
getFieldsList(input: GetFieldsInput): import("rxjs").Observable<import("@abp/ng.core").PagedResultDto<import("../proxy/dignite/cms/admin/fields").FieldDto>>;
|
|
33
|
+
/**创建字段 */
|
|
34
|
+
createField(input: CreateFieldInput): import("rxjs").Observable<import("../proxy/dignite/cms/admin/fields").FieldDto>;
|
|
35
|
+
/**编辑字段 */
|
|
36
|
+
updateField(id: string, input: UpdateFieldInput): import("rxjs").Observable<import("../proxy/dignite/cms/admin/fields").FieldDto>;
|
|
37
|
+
/**获取字段详情 */
|
|
38
|
+
getFieldDetail(id: string): import("rxjs").Observable<import("../proxy/dignite/cms/admin/fields").FieldDto>;
|
|
39
|
+
/**字段验证 */
|
|
40
|
+
nameExists(name: string): import("rxjs").Observable<boolean>;
|
|
41
|
+
/**删除字段 */
|
|
42
|
+
deleteField(id: string): import("rxjs").Observable<void>;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldsDataService, never>;
|
|
44
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FieldsDataService>;
|
|
45
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FormAdminService } from '../proxy/dignite/cms/admin/dynamic-forms/form-admin.service';
|
|
2
|
+
import { FieldsDataService } from './fields-data.service';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class FormControlsService {
|
|
4
5
|
private _FormAdminService;
|
|
5
|
-
|
|
6
|
+
private _service;
|
|
7
|
+
constructor(_FormAdminService: FormAdminService, _service: FieldsDataService);
|
|
6
8
|
/**需要查询的动态表单类型 */
|
|
7
9
|
enableSearchTypeList: any[];
|
|
8
10
|
/**不需要展示的动态表单类型 */
|
package/lib/services/index.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './cms-api.service';
|
|
1
|
+
export * from './fields-data.service';
|
|
2
|
+
export * from './keys-convert-to-lowercase.service';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Converts all keys of an object to lowercase.
|
|
4
|
+
* 将对象所有建转化为小写
|
|
5
|
+
*/
|
|
6
|
+
export declare class KeysConvertToLowercaseService {
|
|
7
|
+
/**
|
|
8
|
+
* 递归将对象属性名首字母转为小写
|
|
9
|
+
* @param obj 需要处理的对象或数组
|
|
10
|
+
* @param isInsideFormConfig 标记是否在 FormConfiguration 内部
|
|
11
|
+
* @returns 处理后的新对象
|
|
12
|
+
*/
|
|
13
|
+
get(obj: any, isInsideFormConfig?: boolean): any;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KeysConvertToLowercaseService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<KeysConvertToLowercaseService>;
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FormGroup, Validators } from '@angular/forms';
|
|
2
|
-
export class CreateOrUpdateFieldInputBase {
|
|
3
|
-
constructor() {
|
|
4
|
-
/**分组id */
|
|
5
|
-
this.groupId = ['', []];
|
|
6
|
-
/**字段名称 Display name of this field */
|
|
7
|
-
this.displayName = ['', [Validators.required]];
|
|
8
|
-
/**字段唯一名称 Unique Name*/
|
|
9
|
-
this.name = ['', [Validators.required]];
|
|
10
|
-
/**描述 说明 */
|
|
11
|
-
this.description = ['', []];
|
|
12
|
-
/**FieldType字段类型 表单控件名称 */
|
|
13
|
-
this.formControlName = [undefined, [Validators.required]];
|
|
14
|
-
/**动态表单配置 */
|
|
15
|
-
this.formConfiguration = new FormGroup({});
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1maWVsZC1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY21zL3NyYy9saWIvY29tcG9uZW50cy9hZG1pbi9maWVsZHMvY3JlYXRlLW9yLXVwZGF0ZS1maWVsZC1pbnB1dC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsTUFBTSxPQUFPLDRCQUE0QjtJQUF6QztRQUNJLFVBQVU7UUFDVixZQUFPLEdBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEIscUNBQXFDO1FBQ3JDLGdCQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUvQyx1QkFBdUI7UUFDdkIsU0FBSSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFeEMsV0FBVztRQUNYLGdCQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFNUIsMEJBQTBCO1FBQzFCLG9CQUFlLEdBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUxRCxZQUFZO1FBQ1osc0JBQWlCLEdBQTBCLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWpFLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVPclVwZGF0ZUZpZWxkSW5wdXRCYXNlIHtcclxuICAgIC8qKuWIhue7hGlkICovXHJcbiAgICBncm91cElkOiBhbnkgPSBbJycsIFtdXTtcclxuXHJcbiAgICAvKirlrZfmrrXlkI3np7AgRGlzcGxheSBuYW1lIG9mIHRoaXMgZmllbGQgKi9cclxuICAgIGRpc3BsYXlOYW1lOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcblxyXG4gICAgLyoq5a2X5q615ZSv5LiA5ZCN56ewIFVuaXF1ZSBOYW1lKi9cclxuICAgIG5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuXHJcbiAgICAvKirmj4/ov7Ag6K+05piOICovXHJcbiAgICBkZXNjcmlwdGlvbjogYW55ID0gWycnLCBbXV07XHJcblxyXG4gICAgLyoqRmllbGRUeXBl5a2X5q6157G75Z6LIOihqOWNleaOp+S7tuWQjeensCAqL1xyXG4gICAgZm9ybUNvbnRyb2xOYW1lOiBhbnkgPSBbdW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG5cclxuICAgIC8qKuWKqOaAgeihqOWNlemFjee9riAqL1xyXG4gICAgZm9ybUNvbmZpZ3VyYXRpb246IEZvcm1Hcm91cCB8IHVuZGVmaW5lZCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
-
import { Component, EventEmitter, inject, Output } from '@angular/core';
|
|
3
|
-
import { FormBuilder, Validators } from '@angular/forms';
|
|
4
|
-
import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
5
|
-
import { finalize } from 'rxjs/operators';
|
|
6
|
-
import { FieldAbstractsService } from '../../../services/field-abstracts.service';
|
|
7
|
-
import { LocalizationService } from '@abp/ng.core';
|
|
8
|
-
import { ValidatorsService } from '@dignite-ng/expand.core';
|
|
9
|
-
import { FieldGroupAdminService } from '../../../proxy/dignite/cms/admin/fields';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
import * as i2 from "../../../proxy/dignite/cms/admin/fields";
|
|
13
|
-
import * as i3 from "@abp/ng.theme.shared";
|
|
14
|
-
import * as i4 from "../../../services/field-abstracts.service";
|
|
15
|
-
import * as i5 from "@abp/ng.core";
|
|
16
|
-
import * as i6 from "@angular/common";
|
|
17
|
-
import * as i7 from "@ngx-validate/core";
|
|
18
|
-
export class FieldGroupComponent {
|
|
19
|
-
constructor(fb, _FieldGroupAdminService, toaster, confirmation, _FieldAbstractsService, _LocalizationService) {
|
|
20
|
-
this.fb = fb;
|
|
21
|
-
this._FieldGroupAdminService = _FieldGroupAdminService;
|
|
22
|
-
this.toaster = toaster;
|
|
23
|
-
this.confirmation = confirmation;
|
|
24
|
-
this._FieldAbstractsService = _FieldAbstractsService;
|
|
25
|
-
this._LocalizationService = _LocalizationService;
|
|
26
|
-
/**表单已存在的值 */
|
|
27
|
-
this.selected = {};
|
|
28
|
-
/**选择的字段分组id */
|
|
29
|
-
this.fieldGroupId = '';
|
|
30
|
-
/**创建分组模态框状态 */
|
|
31
|
-
this.createGroupOpen = false;
|
|
32
|
-
/**用于确定模态的繁忙状态是否为真 */
|
|
33
|
-
this.modalBusy = false;
|
|
34
|
-
/**编辑分组模态框状态 */
|
|
35
|
-
this.editGroupOpen = false;
|
|
36
|
-
/**点击分组回调 */
|
|
37
|
-
this.OnGroupClickBack = new EventEmitter();
|
|
38
|
-
this._ValidatorsService = inject(ValidatorsService);
|
|
39
|
-
/**表单验证状态
|
|
40
|
-
* {
|
|
41
|
-
* title:true,
|
|
42
|
-
* }
|
|
43
|
-
*/
|
|
44
|
-
this.formValidation = '';
|
|
45
|
-
}
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this._FieldAbstractsService.getfieldGroupList();
|
|
48
|
-
}
|
|
49
|
-
/**创建字段分组 */
|
|
50
|
-
createGroupBtn() {
|
|
51
|
-
this.createGroupOpen = true;
|
|
52
|
-
this.formValidation = '';
|
|
53
|
-
this.createForm = this.fb.group({
|
|
54
|
-
name: ['', [Validators.required]],
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**创建分组模态框状态改变 */
|
|
58
|
-
createGroupVisibleChange(event) {
|
|
59
|
-
if (!event) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**编辑字段分组 */
|
|
64
|
-
editGroupBtn(itemName) {
|
|
65
|
-
this.editGroupOpen = true;
|
|
66
|
-
this.formValidation = '';
|
|
67
|
-
this.editGroupForm = this.fb.group({
|
|
68
|
-
name: [itemName, [Validators.required]],
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
/**编辑分组模态框状态改变 */
|
|
72
|
-
editGroupVisibleChange(event) {
|
|
73
|
-
if (!event) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**创建字段分组保存 */
|
|
78
|
-
createSave() {
|
|
79
|
-
const input = this.createForm.value;
|
|
80
|
-
this.formValidation = this._ValidatorsService.getFormValidationStatus(this.createForm);
|
|
81
|
-
if (this._ValidatorsService.isCheckForm(this.formValidation, 'Cms'))
|
|
82
|
-
return;
|
|
83
|
-
if (!this.createForm?.valid)
|
|
84
|
-
return;
|
|
85
|
-
if (this.modalBusy)
|
|
86
|
-
return;
|
|
87
|
-
this.modalBusy = true;
|
|
88
|
-
this._FieldGroupAdminService.create(input).pipe(finalize(() => {
|
|
89
|
-
this.modalBusy = false;
|
|
90
|
-
this.createGroupOpen = false;
|
|
91
|
-
this.formValidation = '';
|
|
92
|
-
})).subscribe(res => {
|
|
93
|
-
this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
|
|
94
|
-
this._FieldAbstractsService.getfieldGroupList();
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
/**编辑字段分组保存 */
|
|
98
|
-
editSave() {
|
|
99
|
-
const input = this.editGroupForm.value;
|
|
100
|
-
this.formValidation = this._ValidatorsService.getFormValidationStatus(this.createForm);
|
|
101
|
-
if (this._ValidatorsService.isCheckForm(this.formValidation, 'Cms'))
|
|
102
|
-
return;
|
|
103
|
-
if (!this.editGroupForm.valid)
|
|
104
|
-
return;
|
|
105
|
-
if (this.modalBusy)
|
|
106
|
-
return;
|
|
107
|
-
this.modalBusy = true;
|
|
108
|
-
this._FieldGroupAdminService.update(this.fieldGroupId, input).pipe(finalize(() => {
|
|
109
|
-
this.modalBusy = false;
|
|
110
|
-
this.editGroupOpen = false;
|
|
111
|
-
this.formValidation = '';
|
|
112
|
-
})).subscribe(res => {
|
|
113
|
-
this.toaster.success(this._LocalizationService.instant(`AbpUi::SavedSuccessfully`));
|
|
114
|
-
this._FieldAbstractsService.getfieldGroupList();
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
/**删除字段分组1 */
|
|
118
|
-
deleteGroupbtn(fieldGroupitem) {
|
|
119
|
-
this.confirmation.warn(fieldGroupitem.name, this._LocalizationService.instant(`AbpUi::ItemWillBeDeletedMessage`)).subscribe((status) => {
|
|
120
|
-
if (status == 'confirm') {
|
|
121
|
-
this._FieldGroupAdminService.delete(this.fieldGroupId).pipe(finalize(() => {
|
|
122
|
-
})).subscribe(res => {
|
|
123
|
-
this.toaster.success(this._LocalizationService.instant(`AbpUi::DeletedSuccessfully`));
|
|
124
|
-
this.fieldGroupId = '';
|
|
125
|
-
this._FieldAbstractsService.getfieldGroupList();
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**字段分组改变 */
|
|
131
|
-
fieldGroupChange(event) {
|
|
132
|
-
this.fieldGroupId = event;
|
|
133
|
-
this.OnGroupClickBack.emit(event);
|
|
134
|
-
}
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FieldGroupComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FieldGroupAdminService }, { token: i3.ToasterService }, { token: i3.ConfirmationService }, { token: i4.FieldAbstractsService }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: FieldGroupComponent, selector: "cms-field-group", outputs: { OnGroupClickBack: "OnGroupClickBack" }, ngImport: i0, template: "<div class=\"card-header px-2 py-sm-2 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'Cms::FieldGroup' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-link btn-sm ms-2\"><i class=\"fas fa-plus-circle\" aria-hidden=\"true\"\n (click)=\"createGroupBtn()\"></i></button>\n</div>\n<div class=\"card-body p-0\">\n <div class=\"container-height overflow-auto\">\n <ul class=\"list-group list-group-flush\">\n <li class=\"list-group-item list-group-item-action active\" [class.active]=\"fieldGroupId===''\"\n (click)=\"fieldGroupChange('')\">{{'Cms::AllFields' | abpLocalization}}</li>\n <ng-container *ngFor=\"let item of _FieldAbstractsService.fieldGroupList\">\n <li class=\"list-group-item list-group-item-action d-flex justify-content-between align-items-center\"\n [class.active]=\"fieldGroupId===item.id\" (click)=\"fieldGroupChange(item.id)\">\n <div>{{item.name}}</div>\n <div *ngIf=\"fieldGroupId===item.id\">\n <i class=\"fas fa-trash px-1\" role=\"button\" (click.stop)=\"deleteGroupbtn(item)\"></i>\n <i class=\"fas fa-edit px-1\" role=\"button\" (click.stop)=\"editGroupBtn(item.name)\"></i>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>\n\n<abp-modal [(visible)]=\"createGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"createGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'Cms::New' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"createForm; else loaderRef\" [formGroup]=\"createForm\" [class]=\"{'was-validated':formValidation}\" (submit)=\"createSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"createForm?.invalid\" [loading]=\"modalBusy\" (click)=\"createSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>\n\n<abp-modal [(visible)]=\"editGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"editGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'AbpUi::Edit' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"editGroupForm; else loaderRef\" [formGroup]=\"editGroupForm\" [class]=\"{'was-validated':formValidation}\" (submit)=\"editSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"editGroupForm?.invalid\" (click)=\"editSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
137
|
-
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FieldGroupComponent, decorators: [{
|
|
139
|
-
type: Component,
|
|
140
|
-
args: [{ selector: 'cms-field-group', template: "<div class=\"card-header px-2 py-sm-2 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'Cms::FieldGroup' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-link btn-sm ms-2\"><i class=\"fas fa-plus-circle\" aria-hidden=\"true\"\n (click)=\"createGroupBtn()\"></i></button>\n</div>\n<div class=\"card-body p-0\">\n <div class=\"container-height overflow-auto\">\n <ul class=\"list-group list-group-flush\">\n <li class=\"list-group-item list-group-item-action active\" [class.active]=\"fieldGroupId===''\"\n (click)=\"fieldGroupChange('')\">{{'Cms::AllFields' | abpLocalization}}</li>\n <ng-container *ngFor=\"let item of _FieldAbstractsService.fieldGroupList\">\n <li class=\"list-group-item list-group-item-action d-flex justify-content-between align-items-center\"\n [class.active]=\"fieldGroupId===item.id\" (click)=\"fieldGroupChange(item.id)\">\n <div>{{item.name}}</div>\n <div *ngIf=\"fieldGroupId===item.id\">\n <i class=\"fas fa-trash px-1\" role=\"button\" (click.stop)=\"deleteGroupbtn(item)\"></i>\n <i class=\"fas fa-edit px-1\" role=\"button\" (click.stop)=\"editGroupBtn(item.name)\"></i>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>\n\n<abp-modal [(visible)]=\"createGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"createGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'Cms::New' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"createForm; else loaderRef\" [formGroup]=\"createForm\" [class]=\"{'was-validated':formValidation}\" (submit)=\"createSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"createForm?.invalid\" [loading]=\"modalBusy\" (click)=\"createSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>\n\n<abp-modal [(visible)]=\"editGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"editGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'AbpUi::Edit' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"editGroupForm; else loaderRef\" [formGroup]=\"editGroupForm\" [class]=\"{'was-validated':formValidation}\" (submit)=\"editSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"editGroupForm?.invalid\" (click)=\"editSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>" }]
|
|
141
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.FieldGroupAdminService }, { type: i3.ToasterService }, { type: i3.ConfirmationService }, { type: i4.FieldAbstractsService }, { type: i5.LocalizationService }], propDecorators: { OnGroupClickBack: [{
|
|
142
|
-
type: Output
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY21zL3NyYy9saWIvY29tcG9uZW50cy9hZG1pbi9maWVsZHMvZmllbGQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY21zL3NyYy9saWIvY29tcG9uZW50cy9hZG1pbi9maWVsZHMvZmllbGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQU9qRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ1UsRUFBZSxFQUNmLHVCQUErQyxFQUMvQyxPQUF1QixFQUN2QixZQUFpQyxFQUNsQyxzQkFBNkMsRUFDN0Msb0JBQXlDO1FBTHhDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FB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YXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgZmluYWxpemV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZpZWxkQWJzdHJhY3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkLWFic3RyYWN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICdAZGlnbml0ZS1uZy9leHBhbmQuY29yZSc7XG5pbXBvcnQgeyBGaWVsZEdyb3VwQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJveHkvZGlnbml0ZS9jbXMvYWRtaW4vZmllbGRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY21zLWZpZWxkLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZ3JvdXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBfRmllbGRHcm91cEFkbWluU2VydmljZTogRmllbGRHcm91cEFkbWluU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBfRmllbGRBYnN0cmFjdHNTZXJ2aWNlOiBGaWVsZEFic3RyYWN0c1NlcnZpY2UsXG4gICAgcHVibGljIF9Mb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxuICApIHsgfVxuXG5cbiAgLyoq5Yib5bu65YiG57uE6KGo5Y2VICovXG4gIGNyZWF0ZUZvcm06IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcblxuICAvKiog57yW6L6R5YiG57uE6KGo5Y2VKi9cbiAgZWRpdEdyb3VwRm9ybTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuXG4gIC8qKuihqOWNleW3suWtmOWcqOeahOWAvCAqL1xuICBzZWxlY3RlZCA9IHt9IGFzIGFueTtcblxuICAvKirpgInmi6nnmoTlrZfmrrXliIbnu4RpZCAqL1xuICBmaWVsZEdyb3VwSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnXG5cbiAgLyoq5Yib5bu65YiG57uE5qih5oCB5qGG54q25oCBICovXG4gIGNyZWF0ZUdyb3VwT3BlbiA9IGZhbHNlXG5cbiAgLyoq55So5LqO56Gu5a6a5qih5oCB55qE57mB5b+Z54q25oCB5piv5ZCm5Li655yfICovXG4gIG1vZGFsQnVzeTogYm9vbGVhbnxhbnkgPSBmYWxzZVxuXG4gIC8qKue8lui+keWIhue7hOaooeaAgeahhueKtuaAgSAqL1xuICBlZGl0R3JvdXBPcGVuOiBib29sZWFufGFueSA9IGZhbHNlXG5cbiAgLyoq54K55Ye75YiG57uE5Zue6LCDICovXG4gIEBPdXRwdXQoKSBPbkdyb3VwQ2xpY2tCYWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX0ZpZWxkQWJzdHJhY3RzU2VydmljZS5nZXRmaWVsZEdyb3VwTGlzdCgpXG4gIH1cblxuICAvKirliJvlu7rlrZfmrrXliIbnu4QgKi9cbiAgY3JlYXRlR3JvdXBCdG4oKSB7XG4gICAgdGhpcy5jcmVhdGVHcm91cE9wZW4gPSB0cnVlO1xuICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XG4gICAgdGhpcy5jcmVhdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgfSlcbiAgfVxuXG4gIC8qKuWIm+W7uuWIhue7hOaooeaAgeahhueKtuaAgeaUueWPmCAqL1xuICBjcmVhdGVHcm91cFZpc2libGVDaGFuZ2UoZXZlbnQpIHtcbiAgICBpZiAoIWV2ZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvKirnvJbovpHlrZfmrrXliIbnu4QgKi9cbiAgZWRpdEdyb3VwQnRuKGl0ZW1OYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVkaXRHcm91cE9wZW4gPSB0cnVlO1xuICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XG4gICAgdGhpcy5lZGl0R3JvdXBGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbaXRlbU5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgfSlcbiAgfVxuXG4gIC8qKue8lui+keWIhue7hOaooeaAgeahhueKtuaAgeaUueWPmCAqL1xuICBlZGl0R3JvdXBWaXNpYmxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX1ZhbGlkYXRvcnNTZXJ2aWNlID0gaW5qZWN0KFZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgLyoq6KGo5Y2V6aqM6K+B54q25oCBXG4gICAqIHtcbiAgICogIHRpdGxlOnRydWUsXG4gICAqIH1cbiAgICovXG4gIGZvcm1WYWxpZGF0aW9uOiBhbnkgPSAnJztcblxuXG4gIC8qKuWIm+W7uuWtl+auteWIhue7hOS/neWtmCAqL1xuICBjcmVhdGVTYXZlKCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5jcmVhdGVGb3JtLnZhbHVlO1xuICAgIHRoaXMuZm9ybVZhbGlkYXRpb24gPSB0aGlzLl9WYWxpZGF0b3JzU2VydmljZS5nZXRGb3JtVmFsaWRhdGlvblN0YXR1cyh0aGlzLmNyZWF0ZUZvcm0pO1xuICAgIGlmICh0aGlzLl9WYWxpZGF0b3JzU2VydmljZS5pc0NoZWNrRm9ybSh0aGlzLmZvcm1WYWxpZGF0aW9uLCdDbXMnKSkgcmV0dXJuO1xuICAgIGlmKCF0aGlzLmNyZWF0ZUZvcm0/LnZhbGlkKSByZXR1cm47XG4gICAgaWYodGhpcy5tb2RhbEJ1c3kpcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLl9GaWVsZEdyb3VwQWRtaW5TZXJ2aWNlLmNyZWF0ZShpbnB1dCkucGlwZShmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsQnVzeSA9IGZhbHNlO1xuICAgICAgdGhpcy5jcmVhdGVHcm91cE9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XG4gICAgfSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGBBYnBVaTo6U2F2ZWRTdWNjZXNzZnVsbHlgKSk7XG4gICAgICB0aGlzLl9GaWVsZEFic3RyYWN0c1NlcnZpY2UuZ2V0ZmllbGRHcm91cExpc3QoKVxuICAgIH0pXG4gIH1cblxuICAvKirnvJbovpHlrZfmrrXliIbnu4Tkv53lrZggKi9cbiAgZWRpdFNhdmUoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmVkaXRHcm91cEZvcm0udmFsdWU7XG4gICAgdGhpcy5mb3JtVmFsaWRhdGlvbiA9IHRoaXMuX1ZhbGlkYXRvcnNTZXJ2aWNlLmdldEZvcm1WYWxpZGF0aW9uU3RhdHVzKHRoaXMuY3JlYXRlRm9ybSk7XG4gICAgaWYgKHRoaXMuX1ZhbGlkYXRvcnNTZXJ2aWNlLmlzQ2hlY2tGb3JtKHRoaXMuZm9ybVZhbGlkYXRpb24sJ0NtcycpKSByZXR1cm47XG4gICAgaWYoIXRoaXMuZWRpdEdyb3VwRm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIGlmKHRoaXMubW9kYWxCdXN5KXJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG4gICAgdGhpcy5fRmllbGRHcm91cEFkbWluU2VydmljZS51cGRhdGUodGhpcy5maWVsZEdyb3VwSWQsIGlucHV0KS5waXBlKGZpbmFsaXplKCgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxCdXN5ID0gZmFsc2U7XG4gICAgICB0aGlzLmVkaXRHcm91cE9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb249Jyc7XG4gICAgfSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3ModGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGBBYnBVaTo6U2F2ZWRTdWNjZXNzZnVsbHlgKSk7XG4gICAgICB0aGlzLl9GaWVsZEFic3RyYWN0c1NlcnZpY2UuZ2V0ZmllbGRHcm91cExpc3QoKVxuICAgIH0pXG4gIH1cblxuICAvKirliKDpmaTlrZfmrrXliIbnu4QxICovXG4gIGRlbGV0ZUdyb3VwYnRuKGZpZWxkR3JvdXBpdGVtOiBhbnkpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKFxuICAgICAgZmllbGRHcm91cGl0ZW0ubmFtZSxcbiAgICAgIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQWJwVWk6Okl0ZW1XaWxsQmVEZWxldGVkTWVzc2FnZWApLFxuICAgICkuc3Vic2NyaWJlKChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMpID0+IHtcbiAgICAgIGlmIChzdGF0dXMgPT0gJ2NvbmZpcm0nKSB7XG4gICAgICAgIHRoaXMuX0ZpZWxkR3JvdXBBZG1pblNlcnZpY2UuZGVsZXRlKHRoaXMuZmllbGRHcm91cElkKS5waXBlKGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgfSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQWJwVWk6OkRlbGV0ZWRTdWNjZXNzZnVsbHlgKSk7XG4gICAgICAgICAgdGhpcy5maWVsZEdyb3VwSWQgPSAnJ1xuICAgICAgICAgIHRoaXMuX0ZpZWxkQWJzdHJhY3RzU2VydmljZS5nZXRmaWVsZEdyb3VwTGlzdCgpXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKirlrZfmrrXliIbnu4TmlLnlj5ggKi9cbiAgZmllbGRHcm91cENoYW5nZShldmVudCkge1xuICAgIHRoaXMuZmllbGRHcm91cElkID0gZXZlbnRcbiAgICB0aGlzLk9uR3JvdXBDbGlja0JhY2suZW1pdChldmVudClcbiAgfVxuXG59XG5cblxuIiwiPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB4LTIgcHktc20tMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGg2IGNsYXNzPVwiaDYgbWItMFwiPnt7J0Ntczo6RmllbGRHcm91cCcgfCBhYnBMb2NhbGl6YXRpb259fTwvaDY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIG1zLTJcIj48aSBjbGFzcz1cImZhcyBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlR3JvdXBCdG4oKVwiPjwvaT48L2J1dHRvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWhlaWdodCBvdmVyZmxvdy1hdXRvXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gYWN0aXZlXCIgW2NsYXNzLmFjdGl2ZV09XCJmaWVsZEdyb3VwSWQ9PT0nJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpZWxkR3JvdXBDaGFuZ2UoJycpXCI+e3snQ21zOjpBbGxGaWVsZHMnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xpPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfRmllbGRBYnN0cmFjdHNTZXJ2aWNlLmZpZWxkR3JvdXBMaXN0XCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZmllbGRHcm91cElkPT09aXRlbS5pZFwiIChjbGljayk9XCJmaWVsZEdyb3VwQ2hhbmdlKGl0ZW0uaWQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3tpdGVtLm5hbWV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmllbGRHcm91cElkPT09aXRlbS5pZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdHJhc2ggcHgtMVwiIHJvbGU9XCJidXR0b25cIiAoY2xpY2suc3RvcCk9XCJkZWxldGVHcm91cGJ0bihpdGVtKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWVkaXQgcHgtMVwiIHJvbGU9XCJidXR0b25cIiAoY2xpY2suc3RvcCk9XCJlZGl0R3JvdXBCdG4oaXRlbS5uYW1lKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJjcmVhdGVHcm91cE9wZW5cIiBbYnVzeV09XCJtb2RhbEJ1c3lcIiAodmlzaWJsZUNoYW5nZSk9XCJjcmVhdGVHcm91cFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxuICAgICAgICA8aDM+e3snQ21zOjpOZXcnIHwgYWJwTG9jYWxpemF0aW9ufX08L2gzPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRlclJlZj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPjxpIGNsYXNzPVwiZmEgZmEtcHVsc2UgZmEtc3Bpbm5lclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGZvcm0gKm5nSWY9XCJjcmVhdGVGb3JtOyBlbHNlIGxvYWRlclJlZlwiIFtmb3JtR3JvdXBdPVwiY3JlYXRlRm9ybVwiIFtjbGFzc109XCJ7J3dhcy12YWxpZGF0ZWQnOmZvcm1WYWxpZGF0aW9ufVwiIChzdWJtaXQpPVwiY3JlYXRlU2F2ZSgpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlRm9ybUNvbnRyb2xJbnB1dDFcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydDbXM6Ok5hbWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlRm9ybUNvbnRyb2xJbnB1dDFcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgYWJwQ2xvc2U+e3snQWJwVWk6OkNsb3NlJyB8IGFicExvY2FsaXphdGlvbn19PC9idXR0b24+XG4gICAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImNyZWF0ZUZvcm0/LmludmFsaWRcIiBbbG9hZGluZ109XCJtb2RhbEJ1c3lcIiAoY2xpY2spPVwiY3JlYXRlU2F2ZSgpXCI+e3snQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvYWJwLW1vZGFsPlxuXG48YWJwLW1vZGFsIFsodmlzaWJsZSldPVwiZWRpdEdyb3VwT3BlblwiIFtidXN5XT1cIm1vZGFsQnVzeVwiICh2aXNpYmxlQ2hhbmdlKT1cImVkaXRHcm91cFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxuICAgICAgICA8aDM+e3snQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9ufX08L2gzPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRlclJlZj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPjxpIGNsYXNzPVwiZmEgZmEtcHVsc2UgZmEtc3Bpbm5lclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGZvcm0gKm5nSWY9XCJlZGl0R3JvdXBGb3JtOyBlbHNlIGxvYWRlclJlZlwiIFtmb3JtR3JvdXBdPVwiZWRpdEdyb3VwRm9ybVwiICBbY2xhc3NdPVwieyd3YXMtdmFsaWRhdGVkJzpmb3JtVmFsaWRhdGlvbn1cIiAoc3VibWl0KT1cImVkaXRTYXZlKClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGVGb3JtQ29udHJvbElucHV0MVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0Ntczo6TmFtZScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGVGb3JtQ29udHJvbElucHV0MVwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT57eydBYnBVaTo6Q2xvc2UnIHwgYWJwTG9jYWxpemF0aW9ufX08L2J1dHRvbj5cbiAgICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBbZGlzYWJsZWRdPVwiZWRpdEdyb3VwRm9ybT8uaW52YWxpZFwiIChjbGljayk9XCJlZGl0U2F2ZSgpXCI+e3snQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvYWJwLW1vZGFsPiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export default `
|
|
2
|
-
.lpx-content-container .lpx-content{min-height:calc(100vh - 34px);padding:1.25em 2em 1.25em}h1,h2,h3,h4,h5,h6{color:inherit}.lpx-settings .lpx-context-menu{overflow:auto}
|
|
3
|
-
a {
|
|
4
|
-
text-decoration: unset;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// :root select{
|
|
9
|
-
// cursor: pointer; /* this will show the pointer when hovering */
|
|
10
|
-
// }
|
|
11
|
-
// .cdk-global-overlay-wrapper, .cdk-overlay-container {pointer-events: none;top: 0;left: 0;height: 100%;width: 100% }.cdk-overlay-container {position: fixed;z-index: 1000 }.cdk-overlay-container:empty {display: none }.cdk-global-overlay-wrapper, .cdk-overlay-connected-position-bounding-box, .cdk-overlay-pane {position: absolute;z-index: 1000;display: flex }.cdk-overlay-pane {pointer-events: auto;box-sizing: border-box;max-width: 100%;max-height: 100% }.cdk-overlay-backdrop {position: absolute;top: 0;bottom: 0;left: 0;right: 0;z-index: 1000;pointer-events: auto;transition: opacity .4s cubic-bezier(.25, .8, .25, 1);opacity: 0 }.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {opacity: 1 }.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {opacity: .6 }.cdk-overlay-dark-backdrop {background: rgba(0, 0, 0, .32) }.cdk-overlay-transparent-backdrop {transition: visibility 1ms linear, opacity 1ms linear;visibility: hidden;opacity: 1 }.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {opacity: 0;visibility: visible }.cdk-overlay-backdrop-noop-animation {transition: none }.cdk-overlay-connected-position-bounding-box {flex-direction: column;min-width: 1px;min-height: 1px }.cdk-global-scrollblock {position: fixed;width: 100%;overflow-y: scroll }.cdk-visually-hidden {border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;outline: 0;-webkit-appearance: none;-moz-appearance: none }.nz-overlay-transparent-backdrop, .nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {opacity: 0 }.ant-select, .ant-select-dropdown {margin: 0;line-height: 1.5715;box-sizing: border-box;font-feature-settings: 'tnum';list-style: none }.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom, .ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft, .ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight, .ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft, .ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft {animation-name: antSlideUpIn }.ant-select-dropdown.ant-select-tree-dropdown {top: 100%;left: 0;position: relative;width: 100%;margin-top: 4px;margin-bottom: 4px;overflow: auto }.ant-select-dropdown-hidden, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before {display: none }.ant-select-dropdown {top: 100%;left: 0;position: relative;width: 100%;margin-top: 4px;margin-bottom: 4px;display: block }.ant-select-dropdown .cdk-virtual-scroll-content-wrapper {right: 0 }.ant-select-dropdown .full-width {contain: initial }.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper {position: static }.ant-select-dropdown .full-width .cdk-virtual-scroll-spacer {position: absolute;top: 0;width: 1px }.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft, .ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft {animation-name: antSlideDownIn }.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft {animation-name: antSlideUpOut }.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft {animation-name: antSlideDownOut }
|
|
12
|
-
|
|
13
|
-
/*** 表单验证样式 start */
|
|
14
|
-
.was-validated .form-control:invalid, .form-control.is-invalid{
|
|
15
|
-
border-color: #c00d49 !important;
|
|
16
|
-
}
|
|
17
|
-
/*** 表单验证样式 end */
|
|
18
|
-
`;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY21zL3NyYy9saWIvY29uc3RhbnRzL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgYFxyXG4ubHB4LWNvbnRlbnQtY29udGFpbmVyIC5scHgtY29udGVudHttaW4taGVpZ2h0OmNhbGMoMTAwdmggLSAzNHB4KTtwYWRkaW5nOjEuMjVlbSAyZW0gMS4yNWVtfWgxLGgyLGgzLGg0LGg1LGg2e2NvbG9yOmluaGVyaXR9LmxweC1zZXR0aW5ncyAubHB4LWNvbnRleHQtbWVudXtvdmVyZmxvdzphdXRvfVxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5zZXQ7XHJcbn1cclxuXHJcblxyXG4vLyA6cm9vdCBzZWxlY3R7XHJcbi8vICAgY3Vyc29yOiBwb2ludGVyOyAvKiB0aGlzIHdpbGwgc2hvdyB0aGUgcG9pbnRlciB3aGVuIGhvdmVyaW5nICovXHJcbi8vIH0gXHJcbi8vIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciwgLmNkay1vdmVybGF5LWNvbnRhaW5lciB7cG9pbnRlci1ldmVudHM6IG5vbmU7dG9wOiAwO2xlZnQ6IDA7aGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlIH0uY2RrLW92ZXJsYXktY29udGFpbmVyIHtwb3NpdGlvbjogZml4ZWQ7ei1pbmRleDogMTAwMCB9LmNkay1vdmVybGF5LWNvbnRhaW5lcjplbXB0eSB7ZGlzcGxheTogbm9uZSB9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyLCAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCwgLmNkay1vdmVybGF5LXBhbmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAxMDAwO2Rpc3BsYXk6IGZsZXggfS5jZGstb3ZlcmxheS1wYW5lIHtwb2ludGVyLWV2ZW50czogYXV0bztib3gtc2l6aW5nOiBib3JkZXItYm94O21heC13aWR0aDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlIH0uY2RrLW92ZXJsYXktYmFja2Ryb3Age3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7Ym90dG9tOiAwO2xlZnQ6IDA7cmlnaHQ6IDA7ei1pbmRleDogMTAwMDtwb2ludGVyLWV2ZW50czogYXV0bzt0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoLjI1LCAuOCwgLjI1LCAxKTtvcGFjaXR5OiAwIH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7b3BhY2l0eTogMSB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7b3BhY2l0eTogLjYgfS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4zMikgfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7dHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxbXMgbGluZWFyLCBvcGFjaXR5IDFtcyBsaW5lYXI7dmlzaWJpbGl0eTogaGlkZGVuO29wYWNpdHk6IDEgfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtvcGFjaXR5OiAwO3Zpc2liaWxpdHk6IHZpc2libGUgfS5jZGstb3ZlcmxheS1iYWNrZHJvcC1ub29wLWFuaW1hdGlvbiB7dHJhbnNpdGlvbjogbm9uZSB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3gge2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47bWluLXdpZHRoOiAxcHg7bWluLWhlaWdodDogMXB4IH0uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7cG9zaXRpb246IGZpeGVkO3dpZHRoOiAxMDAlO292ZXJmbG93LXk6IHNjcm9sbCB9LmNkay12aXN1YWxseS1oaWRkZW4ge2JvcmRlcjogMDtjbGlwOiByZWN0KDAgMCAwIDApO2hlaWdodDogMXB4O21hcmdpbjogLTFweDtvdmVyZmxvdzogaGlkZGVuO3BhZGRpbmc6IDA7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxcHg7b3V0bGluZTogMDstd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7LW1vei1hcHBlYXJhbmNlOiBub25lIH0ubnotb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLm56LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7b3BhY2l0eTogMCB9LmFudC1zZWxlY3QsIC5hbnQtc2VsZWN0LWRyb3Bkb3duIHttYXJnaW46IDA7bGluZS1oZWlnaHQ6IDEuNTcxNTtib3gtc2l6aW5nOiBib3JkZXItYm94O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ3RudW0nO2xpc3Qtc3R5bGU6IG5vbmUgfS5hbnQtZHJvcGRvd24uYW50LXNsaWRlLWRvd24tYXBwZWFyLmFudC1zbGlkZS1kb3duLWFwcGVhci1hY3RpdmUuYW50LWRyb3Bkb3duLXBsYWNlbWVudC1ib3R0b20sIC5hbnQtZHJvcGRvd24uYW50LXNsaWRlLWRvd24tYXBwZWFyLmFudC1zbGlkZS1kb3duLWFwcGVhci1hY3RpdmUuYW50LWRyb3Bkb3duLXBsYWNlbWVudC1ib3R0b21MZWZ0LCAuYW50LWRyb3Bkb3duLmFudC1zbGlkZS1kb3duLWFwcGVhci5hbnQtc2xpZGUtZG93bi1hcHBlYXItYWN0aXZlLmFudC1kcm9wZG93bi1wbGFjZW1lbnQtYm90dG9tUmlnaHQsIC5hbnQtZHJvcGRvd24uYW50LXNsaWRlLWRvd24tZW50ZXIuYW50LXNsaWRlLWRvd24tZW50ZXItYWN0aXZlLmFudC1kcm9wZG93bi1wbGFjZW1lbnQtYm90dG9tLCAuYW50LWRyb3Bkb3duLmFudC1zbGlkZS1kb3duLWVudGVyLmFudC1zbGlkZS1kb3duLWVudGVyLWFjdGl2ZS5hbnQtZHJvcGRvd24tcGxhY2VtZW50LWJvdHRvbUxlZnQsIC5hbnQtZHJvcGRvd24uYW50LXNsaWRlLWRvd24tZW50ZXIuYW50LXNsaWRlLWRvd24tZW50ZXItYWN0aXZlLmFudC1kcm9wZG93bi1wbGFjZW1lbnQtYm90dG9tUmlnaHQsIC5hbnQtc2VsZWN0LWRyb3Bkb3duLmFudC1zbGlkZS11cC1hcHBlYXIuYW50LXNsaWRlLXVwLWFwcGVhci1hY3RpdmUuYW50LXNlbGVjdC1kcm9wZG93bi1wbGFjZW1lbnQtYm90dG9tTGVmdCwgLmFudC1zZWxlY3QtZHJvcGRvd24uYW50LXNsaWRlLXVwLWVudGVyLmFudC1zbGlkZS11cC1lbnRlci1hY3RpdmUuYW50LXNlbGVjdC1kcm9wZG93bi1wbGFjZW1lbnQtYm90dG9tTGVmdCB7YW5pbWF0aW9uLW5hbWU6IGFudFNsaWRlVXBJbiB9LmFudC1zZWxlY3QtZHJvcGRvd24uYW50LXNlbGVjdC10cmVlLWRyb3Bkb3duIHt0b3A6IDEwMCU7bGVmdDogMDtwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7bWFyZ2luLXRvcDogNHB4O21hcmdpbi1ib3R0b206IDRweDtvdmVyZmxvdzogYXV0byB9LmFudC1zZWxlY3QtZHJvcGRvd24taGlkZGVuLCAuYW50LXVwbG9hZC1saXN0LXBpY3R1cmUtY2FyZCAuYW50LXVwbG9hZC1saXN0LWl0ZW0tdXBsb2FkaW5nIC5hbnQtdXBsb2FkLWxpc3QtaXRlbS1pbmZvIC5hbnRpY29uLWRlbGV0ZSwgLmFudC11cGxvYWQtbGlzdC1waWN0dXJlLWNhcmQgLmFudC11cGxvYWQtbGlzdC1pdGVtLXVwbG9hZGluZyAuYW50LXVwbG9hZC1saXN0LWl0ZW0taW5mbyAuYW50aWNvbi1leWUsIC5hbnQtdXBsb2FkLWxpc3QtcGljdHVyZS1jYXJkIC5hbnQtdXBsb2FkLWxpc3QtaXRlbS11cGxvYWRpbmcgLmFudC11cGxvYWQtbGlzdC1pdGVtLWluZm86OmJlZm9yZSB7ZGlzcGxheTogbm9uZSB9LmFudC1zZWxlY3QtZHJvcGRvd24ge3RvcDogMTAwJTtsZWZ0OiAwO3Bvc2l0aW9uOiByZWxhdGl2ZTt3aWR0aDogMTAwJTttYXJnaW4tdG9wOiA0cHg7bWFyZ2luLWJvdHRvbTogNHB4O2Rpc3BsYXk6IGJsb2NrIH0uYW50LXNlbGVjdC1kcm9wZG93biAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciB7cmlnaHQ6IDAgfS5hbnQtc2VsZWN0LWRyb3Bkb3duIC5mdWxsLXdpZHRoIHtjb250YWluOiBpbml0aWFsIH0uYW50LXNlbGVjdC1kcm9wZG93biAuZnVsbC13aWR0aCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciB7cG9zaXRpb246IHN0YXRpYyB9LmFudC1zZWxlY3QtZHJvcGRvd24gLmZ1bGwtd2lkdGggLmNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7d2lkdGg6IDFweCB9LmFudC1zZWxlY3QtZHJvcGRvd24uYW50LXNsaWRlLXVwLWFwcGVhci5hbnQtc2xpZGUtdXAtYXBwZWFyLWFjdGl2ZS5hbnQtc2VsZWN0LWRyb3Bkb3duLXBsYWNlbWVudC10b3BMZWZ0LCAuYW50LXNlbGVjdC1kcm9wZG93bi5hbnQtc2xpZGUtdXAtZW50ZXIuYW50LXNsaWRlLXVwLWVudGVyLWFjdGl2ZS5hbnQtc2VsZWN0LWRyb3Bkb3duLXBsYWNlbWVudC10b3BMZWZ0IHthbmltYXRpb24tbmFtZTogYW50U2xpZGVEb3duSW4gfS5hbnQtc2VsZWN0LWRyb3Bkb3duLmFudC1zbGlkZS11cC1sZWF2ZS5hbnQtc2xpZGUtdXAtbGVhdmUtYWN0aXZlLmFudC1zZWxlY3QtZHJvcGRvd24tcGxhY2VtZW50LWJvdHRvbUxlZnQge2FuaW1hdGlvbi1uYW1lOiBhbnRTbGlkZVVwT3V0IH0uYW50LXNlbGVjdC1kcm9wZG93bi5hbnQtc2xpZGUtdXAtbGVhdmUuYW50LXNsaWRlLXVwLWxlYXZlLWFjdGl2ZS5hbnQtc2VsZWN0LWRyb3Bkb3duLXBsYWNlbWVudC10b3BMZWZ0IHthbmltYXRpb24tbmFtZTogYW50U2xpZGVEb3duT3V0IH1cclxuXHJcbi8qKiog6KGo5Y2V6aqM6K+B5qC35byPIHN0YXJ0ICovXHJcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlke1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjYzAwZDQ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyoqKiDooajljZXpqozor4HmoLflvI8gZW5kICovXHJcbmA7XHJcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RendererFactory2, inject } from "@angular/core";
|
|
2
|
-
import styles from "../constants/styles";
|
|
3
|
-
let isAppentStyle = false;
|
|
4
|
-
export function appentStyle() {
|
|
5
|
-
/**确保该路由守卫只会执行一次 */
|
|
6
|
-
if (isAppentStyle)
|
|
7
|
-
return;
|
|
8
|
-
isAppentStyle = true;
|
|
9
|
-
const rendererFactory = inject(RendererFactory2);
|
|
10
|
-
const renderer = rendererFactory.createRenderer(null, null);
|
|
11
|
-
const style = renderer.createElement('style');
|
|
12
|
-
renderer.setProperty(style, 'innerHTML', styles);
|
|
13
|
-
renderer.appendChild(document.head, style);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW50LWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jbXMvc3JjL2xpYi9zZXJ2aWNlcy9hcHBlbnQtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQTtBQUN6QixNQUFNLFVBQVUsV0FBVztJQUN2QixtQkFBbUI7SUFDbkIsSUFBSSxhQUFhO1FBQUUsT0FBTTtJQUN6QixhQUFhLEdBQUcsSUFBSSxDQUFBO0lBQ3BCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sUUFBUSxHQUFZLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuLi9jb25zdGFudHMvc3R5bGVzXCI7XHJcbmxldCBpc0FwcGVudFN0eWxlID0gZmFsc2VcclxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVudFN0eWxlKCkge1xyXG4gICAgLyoq56Gu5L+d6K+l6Lev55Sx5a6I5Y2r5Y+q5Lya5omn6KGM5LiA5qyhICovXHJcbiAgICBpZiAoaXNBcHBlbnRTdHlsZSkgcmV0dXJuXHJcbiAgICBpc0FwcGVudFN0eWxlID0gdHJ1ZVxyXG4gICAgY29uc3QgcmVuZGVyZXJGYWN0b3J5ID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xyXG4gICAgY29uc3QgcmVuZGVyZXI6IFJlbmRlcmVyMj1yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbClcclxuICAgIGNvbnN0IHN0eWxlID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KHN0eWxlLCAnaW5uZXJIVE1MJywgc3R5bGVzKTtcclxuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHN0eWxlKTtcclxufSJdfQ==
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-prototype-builtins */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { pinyin } from 'pinyin-pro';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CmsApiService {
|
|
6
|
-
constructor() { }
|
|
7
|
-
/**
|
|
8
|
-
* 识别中文转化为拼音,固定返回类型
|
|
9
|
-
* 汉字转拼音
|
|
10
|
-
* 大写转小写
|
|
11
|
-
*
|
|
12
|
-
* */
|
|
13
|
-
chineseToPinyin(value) {
|
|
14
|
-
//去除字符串中所有的空格
|
|
15
|
-
const val = value.replaceAll(' ', '-');
|
|
16
|
-
const array = val.split('');
|
|
17
|
-
const newArray = [];
|
|
18
|
-
array.forEach((el, index) => {
|
|
19
|
-
//转化为小写
|
|
20
|
-
let elChange = el.toLowerCase();
|
|
21
|
-
const isChinese = str => {
|
|
22
|
-
return /^[\u4e00-\u9fa5]+$/.test(str);
|
|
23
|
-
};
|
|
24
|
-
if (isChinese(elChange)) {
|
|
25
|
-
const resultWithoutTone = pinyin(elChange, { toneType: 'none', type: 'array' });
|
|
26
|
-
elChange = resultWithoutTone.toString();
|
|
27
|
-
if (index < array.length - 1)
|
|
28
|
-
elChange += '-';
|
|
29
|
-
}
|
|
30
|
-
newArray.push(elChange);
|
|
31
|
-
});
|
|
32
|
-
const pinyinstr = newArray.join('');
|
|
33
|
-
return pinyinstr || val;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* 深拷贝--方法 */
|
|
37
|
-
deepClone(obj) {
|
|
38
|
-
if (typeof obj !== 'object' || obj === null)
|
|
39
|
-
return obj;
|
|
40
|
-
const result = Array.isArray(obj) ? [] : {};
|
|
41
|
-
for (const key in obj) {
|
|
42
|
-
if (obj.hasOwnProperty(key)) {
|
|
43
|
-
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
44
|
-
if (obj[key] instanceof Date) {
|
|
45
|
-
result[key] = new Date(obj[key].getTime());
|
|
46
|
-
}
|
|
47
|
-
else if (obj[key] instanceof RegExp) {
|
|
48
|
-
result[key] = new RegExp(obj[key]);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
result[key] = this.deepClone(obj[key]);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
result[key] = obj[key];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return result;
|
|
60
|
-
}
|
|
61
|
-
// this._selected = this.convertKeysToCamelCase(this._selected);
|
|
62
|
-
/**
|
|
63
|
-
* 递归将对象属性名首字母转为小写
|
|
64
|
-
* @param obj 需要处理的对象或数组
|
|
65
|
-
* @param isInsideFormConfig 标记是否在 FormConfiguration 内部
|
|
66
|
-
* @returns 处理后的新对象
|
|
67
|
-
*/
|
|
68
|
-
convertKeysToCamelCase(obj, isInsideFormConfig = false) {
|
|
69
|
-
if (Array.isArray(obj)) {
|
|
70
|
-
return obj.map(item => this.convertKeysToCamelCase(item, isInsideFormConfig));
|
|
71
|
-
}
|
|
72
|
-
else if (typeof obj === 'object' && obj !== null) {
|
|
73
|
-
return Object.keys(obj).reduce((acc, key) => {
|
|
74
|
-
// 判断当前层级是否在 FormConfiguration 内部
|
|
75
|
-
const currentIsInsideFormConfig = isInsideFormConfig || key === 'MatrixBlockTypes' || key === 'TableColumns' || key.includes('.');
|
|
76
|
-
// 如果在 FormConfiguration 内部,保留原字段名
|
|
77
|
-
const newKey = currentIsInsideFormConfig ? key : key.charAt(0).toLowerCase() + key.slice(1);
|
|
78
|
-
// 递归处理子属性,并传递是否在 FormConfiguration 内部的状态
|
|
79
|
-
acc[newKey] = this.convertKeysToCamelCase(obj[key], key === 'FormConfiguration');
|
|
80
|
-
return acc;
|
|
81
|
-
}, {});
|
|
82
|
-
}
|
|
83
|
-
return obj;
|
|
84
|
-
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsApiService, providedIn: 'root' }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsApiService, decorators: [{
|
|
89
|
-
type: Injectable,
|
|
90
|
-
args: [{
|
|
91
|
-
providedIn: 'root',
|
|
92
|
-
}]
|
|
93
|
-
}], ctorParameters: () => [] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY21zL3NyYy9saWIvc2VydmljZXMvY21zLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLGdCQUFlLENBQUM7SUFFaEI7Ozs7O1VBS007SUFDTixlQUFlLENBQUMsS0FBVTtRQUN4QixhQUFhO1FBQ2IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxLQUFVLEVBQUUsRUFBRTtZQUNwQyxPQUFPO1lBQ1AsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUM7WUFDRixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRixRQUFRLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLElBQUks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LEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUYseUNBQXlDO2dCQUN6QyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssbUJBQW1CLENBQUMsQ0FBQztnQkFDakYsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBeUIsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7OEdBN0VRLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwaW55aW4gfSBmcm9tICdwaW55aW4tcHJvJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENtc0FwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIOivhuWIq+S4reaWh+i9rOWMluS4uuaLvOmfs++8jOWbuuWumui/lOWbnuexu+Wei1xuICAgKiDmsYnlrZfovazmi7zpn7NcbiAgICog5aSn5YaZ6L2s5bCP5YaZXG4gICAqXG4gICAqICAqL1xuICBjaGluZXNlVG9QaW55aW4odmFsdWU6IGFueSkge1xuICAgIC8v5Y676Zmk5a2X56ym5Liy5Lit5omA5pyJ55qE56m65qC8XG4gICAgY29uc3QgdmFsID0gdmFsdWUucmVwbGFjZUFsbCgnICcsICctJyk7XG4gICAgY29uc3QgYXJyYXkgPSB2YWwuc3BsaXQoJycpO1xuICAgIGNvbnN0IG5ld0FycmF5ID0gW107XG4gICAgYXJyYXkuZm9yRWFjaCgoZWw6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xuICAgICAgLy/ovazljJbkuLrlsI/lhplcbiAgICAgIGxldCBlbENoYW5nZSA9IGVsLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBpc0NoaW5lc2UgPSBzdHIgPT4ge1xuICAgICAgICByZXR1cm4gL15bXFx1NGUwMC1cXHU5ZmE1XSskLy50ZXN0KHN0cik7XG4gICAgICB9O1xuICAgICAgaWYgKGlzQ2hpbmVzZShlbENoYW5nZSkpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0V2l0aG91dFRvbmUgPSBwaW55aW4oZWxDaGFuZ2UsIHsgdG9uZVR5cGU6ICdub25lJywgdHlwZTogJ2FycmF5JyB9KTtcbiAgICAgICAgZWxDaGFuZ2UgPSByZXN1bHRXaXRob3V0VG9uZS50b1N0cmluZygpO1xuICAgICAgICBpZiAoaW5kZXggPCBhcnJheS5sZW5ndGggLSAxKSBlbENoYW5nZSArPSAnLSc7XG4gICAgICB9XG4gICAgICBuZXdBcnJheS5wdXNoKGVsQ2hhbmdlKTtcbiAgICB9KTtcbiAgICBjb25zdCBwaW55aW5zdHIgPSBuZXdBcnJheS5qb2luKCcnKTtcbiAgICByZXR1cm4gcGlueWluc3RyIHx8IHZhbDtcbiAgfVxuXG4gIC8qKlxuICAgKiDmt7Hmi7fotJ0tLeaWueazlSAgKi9cbiAgZGVlcENsb25lKG9iaikge1xuICAgIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwpIHJldHVybiBvYmo7XG4gICAgY29uc3QgcmVzdWx0ID0gQXJyYXkuaXNBcnJheShvYmopID8gW10gOiB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyAmJiBvYmpba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChvYmpba2V5XSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbmV3IERhdGUob2JqW2tleV0uZ2V0VGltZSgpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9ialtrZXldIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IG5ldyBSZWdFeHAob2JqW2tleV0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuZGVlcENsb25lKG9ialtrZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4vLyB0aGlzLl9zZWxlY3RlZCA9IHRoaXMuY29udmVydEtleXNUb0NhbWVsQ2FzZSh0aGlzLl9zZWxlY3RlZCk7XG4gICAgLyoqXG4gICAgICog6YCS5b2S5bCG5a+56LGh5bGe5oCn5ZCN6aaW5a2X5q+N6L2s5Li65bCP5YaZXG4gICAgICogQHBhcmFtIG9iaiDpnIDopoHlpITnkIbnmoTlr7nosaHmiJbmlbDnu4RcbiAgICAgKiBAcGFyYW0gaXNJbnNpZGVGb3JtQ29uZmlnIOagh+iusOaYr+WQpuWcqCBGb3JtQ29uZmlndXJhdGlvbiDlhoXpg6hcbiAgICAgKiBAcmV0dXJucyDlpITnkIblkI7nmoTmlrDlr7nosaFcbiAgICAgKi9cbiAgICBjb252ZXJ0S2V5c1RvQ2FtZWxDYXNlKG9iajogYW55LCBpc0luc2lkZUZvcm1Db25maWcgPSBmYWxzZSk6IGFueSB7XG4gICAgICBcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgICAgcmV0dXJuIG9iai5tYXAoaXRlbSA9PiB0aGlzLmNvbnZlcnRLZXlzVG9DYW1lbENhc2UoaXRlbSwgaXNJbnNpZGVGb3JtQ29uZmlnKSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iaiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8g5Yik5pat5b2T5YmN5bGC57qn5piv5ZCm5ZyoIEZvcm1Db25maWd1cmF0aW9uIOWGhemDqFxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRJc0luc2lkZUZvcm1Db25maWcgPSAgaXNJbnNpZGVGb3JtQ29uZmlnfHwga2V5ID09PSAnTWF0cml4QmxvY2tUeXBlcyd8fGtleT09PSdUYWJsZUNvbHVtbnMnfHxrZXkuaW5jbHVkZXMoJy4nKTtcbiAgICAgICAgICAvLyDlpoLmnpzlnKggRm9ybUNvbmZpZ3VyYXRpb24g5YaF6YOo77yM5L+d55WZ5Y6f5a2X5q615ZCNXG4gICAgICAgICAgY29uc3QgbmV3S2V5ID0gY3VycmVudElzSW5zaWRlRm9ybUNvbmZpZyA/IGtleSA6IGtleS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIGtleS5zbGljZSgxKTtcbiAgICAgICAgICAvLyDpgJLlvZLlpITnkIblrZDlsZ7mgKfvvIzlubbkvKDpgJLmmK/lkKblnKggRm9ybUNvbmZpZ3VyYXRpb24g5YaF6YOo55qE54q25oCBXG4gICAgICAgICAgYWNjW25ld0tleV0gPSB0aGlzLmNvbnZlcnRLZXlzVG9DYW1lbENhc2Uob2JqW2tleV0sIGtleSA9PT0gJ0Zvcm1Db25maWd1cmF0aW9uJyk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgYW55Pik7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuXG5cblxufVxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { RestService } from '@abp/ng.core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@abp/ng.core";
|
|
5
|
-
export class CmsService {
|
|
6
|
-
constructor(restService) {
|
|
7
|
-
this.restService = restService;
|
|
8
|
-
this.apiName = 'Cms';
|
|
9
|
-
}
|
|
10
|
-
sample() {
|
|
11
|
-
return this.restService.request({ method: 'GET', url: '/api/Cms/sample' }, { apiName: this.apiName });
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsService, providedIn: 'root' }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CmsService, decorators: [{
|
|
17
|
-
type: Injectable,
|
|
18
|
-
args: [{
|
|
19
|
-
providedIn: 'root',
|
|
20
|
-
}]
|
|
21
|
-
}], ctorParameters: () => [{ type: i1.RestService }] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jbXMvc3JjL2xpYi9zZXJ2aWNlcy9jbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUszQyxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUY1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBRStCLENBQUM7SUFFaEQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsRUFDekMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUMxQixDQUFDO0lBQ0osQ0FBQzs4R0FWVSxVQUFVO2tIQUFWLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENtc1NlcnZpY2Uge1xyXG4gIGFwaU5hbWUgPSAnQ21zJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UpIHt9XHJcblxyXG4gIHNhbXBsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8dm9pZCwgYW55PihcclxuICAgICAgeyBtZXRob2Q6ICdHRVQnLCB1cmw6ICcvYXBpL0Ntcy9zYW1wbGUnIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { FieldGroupAdminService } from '../proxy/dignite/cms/admin/fields';
|
|
3
|
-
import { FormAdminService } from '../proxy/dignite/cms/admin/dynamic-forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../proxy/dignite/cms/admin/fields";
|
|
6
|
-
import * as i2 from "../proxy/dignite/cms/admin/dynamic-forms";
|
|
7
|
-
export class FieldAbstractsService {
|
|
8
|
-
constructor(_FieldGroupAdminService, _FormAdminService) {
|
|
9
|
-
this._FieldGroupAdminService = _FieldGroupAdminService;
|
|
10
|
-
this._FormAdminService = _FormAdminService;
|
|
11
|
-
/**字段分组列表 */
|
|
12
|
-
this.fieldGroupList = [];
|
|
13
|
-
/**表单控件类型 */
|
|
14
|
-
this.fromControlList = [];
|
|
15
|
-
}
|
|
16
|
-
/**获取字段分组列表 */
|
|
17
|
-
getfieldGroupList() {
|
|
18
|
-
return new Promise((resolve, reject) => {
|
|
19
|
-
this._FieldGroupAdminService.getList({}).subscribe((res) => {
|
|
20
|
-
this.fieldGroupList = res.items;
|
|
21
|
-
resolve(res.items);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**获取表单控件类型 */
|
|
26
|
-
getFromControlList() {
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
this._FormAdminService.getFormControls({}).subscribe((res) => {
|
|
29
|
-
this.fromControlList = res.items;
|
|
30
|
-
resolve(res.items);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/**获取排除指定控件类型的表单控件类型 */
|
|
35
|
-
getExcludeAssignControl(typeName) {
|
|
36
|
-
// return this.fromControlList.filter(el => el.name !== typeName)
|
|
37
|
-
return this.fromControlList;
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FieldAbstractsService, deps: [{ token: i1.FieldGroupAdminService }, { token: i2.FormAdminService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FieldAbstractsService, providedIn: 'root' }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FieldAbstractsService, decorators: [{
|
|
43
|
-
type: Injectable,
|
|
44
|
-
args: [{
|
|
45
|
-
providedIn: 'root',
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.FieldGroupAdminService }, { type: i2.FormAdminService }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYWJzdHJhY3RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jbXMvc3JjL2xpYi9zZXJ2aWNlcy9maWVsZC1hYnN0cmFjdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUs1RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ1UsdUJBQStDLEVBQy9DLGlCQUFtQztRQURuQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFFN0MsWUFBWTtRQUNaLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQVdyQyxZQUFZO1FBQ1osb0JBQWUsR0FBVSxFQUFFLENBQUM7SUFkekIsQ0FBQztJQUdKLGNBQWM7SUFDZCxpQkFBaUI7UUFDZixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELGNBQWM7SUFDZCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCx1QkFBdUI7SUFDdkIsdUJBQXVCLENBQUMsUUFBUztRQUMvQixpRUFBaUU7UUFFakUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7OEdBakNVLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZEdyb3VwQWRtaW5TZXJ2aWNlLCBGaWVsZEdyb3VwRHRvIH0gZnJvbSAnLi4vcHJveHkvZGlnbml0ZS9jbXMvYWRtaW4vZmllbGRzJztcbmltcG9ydCB7IEZvcm1BZG1pblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS9kaWduaXRlL2Ntcy9hZG1pbi9keW5hbWljLWZvcm1zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQWJzdHJhY3RzU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX0ZpZWxkR3JvdXBBZG1pblNlcnZpY2U6IEZpZWxkR3JvdXBBZG1pblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfRm9ybUFkbWluU2VydmljZTogRm9ybUFkbWluU2VydmljZSxcbiAgKSB7fVxuICAvKirlrZfmrrXliIbnu4TliJfooaggKi9cbiAgZmllbGRHcm91cExpc3Q6IEZpZWxkR3JvdXBEdG9bXSA9IFtdO1xuICAvKirojrflj5blrZfmrrXliIbnu4TliJfooaggKi9cbiAgZ2V0ZmllbGRHcm91cExpc3QoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuX0ZpZWxkR3JvdXBBZG1pblNlcnZpY2UuZ2V0TGlzdCh7fSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmZpZWxkR3JvdXBMaXN0ID0gcmVzLml0ZW1zO1xuICAgICAgICByZXNvbHZlKHJlcy5pdGVtcyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKuihqOWNleaOp+S7tuexu+WeiyAqL1xuICBmcm9tQ29udHJvbExpc3Q6IGFueVtdID0gW107XG4gIC8qKuiOt+WPluihqOWNleaOp+S7tuexu+WeiyAqL1xuICBnZXRGcm9tQ29udHJvbExpc3QoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuX0Zvcm1BZG1pblNlcnZpY2UuZ2V0Rm9ybUNvbnRyb2xzKHt9KS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZnJvbUNvbnRyb2xMaXN0ID0gcmVzLml0ZW1zO1xuICAgICAgICByZXNvbHZlKHJlcy5pdGVtcyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKirojrflj5bmjpLpmaTmjIflrprmjqfku7bnsbvlnovnmoTooajljZXmjqfku7bnsbvlnosgKi9cbiAgZ2V0RXhjbHVkZUFzc2lnbkNvbnRyb2wodHlwZU5hbWU/KSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuZnJvbUNvbnRyb2xMaXN0LmZpbHRlcihlbCA9PiBlbC5uYW1lICE9PSB0eXBlTmFtZSlcbiAgICBcbiAgICByZXR1cm4gdGhpcy5mcm9tQ29udHJvbExpc3Q7XG4gIH1cbn1cbiJdfQ==
|