imm-element-ui 1.3.7 → 1.3.9
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/esm2022/lib/form/form-field/field-utils.mjs +3 -3
- package/esm2022/lib/form/form-type/datepicker.type.mjs +43 -1
- package/esm2022/lib/form/form-type/image.type.mjs +62 -9
- package/esm2022/lib/grid/grid-utils.mjs +2 -2
- package/esm2022/lib/page-form/page-form.component.mjs +3 -3
- package/esm2022/lib/search/search/search.component.mjs +2 -2
- package/esm2022/lib/search/search-utils.mjs +11 -4
- package/fesm2022/imm-element-ui.mjs +116 -15
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/crumb-action/crumb-action.component.d.ts +1 -1
- package/lib/form/form-type/datepicker.type.d.ts +3 -0
- package/lib/form/form-type/image.type.d.ts +6 -1
- package/lib/grid/grid/grid.component.d.ts +1 -1
- package/lib/search/search-utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/page-form/page-form.component.scss +5 -1
|
@@ -75,16 +75,23 @@ const _searchUitls = {
|
|
|
75
75
|
}
|
|
76
76
|
return columnFilters?.filter((columnFilter) => !cascadeClearList.includes(columnFilter.columnField));
|
|
77
77
|
},
|
|
78
|
-
extractSearchItems(columnDefs, searchItems = []) {
|
|
78
|
+
extractSearchItems(columnDefs, i18n, searchItems = []) {
|
|
79
79
|
columnDefs?.forEach((col) => {
|
|
80
80
|
if (col.children) {
|
|
81
|
-
this.extractSearchItems(col.children, searchItems);
|
|
81
|
+
this.extractSearchItems(col.children, i18n, searchItems);
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
84
|
if (!col.search) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
-
let
|
|
87
|
+
let label;
|
|
88
|
+
if (col.hasOwnProperty('i18nKey')) {
|
|
89
|
+
label = i18n.fanyi(col.i18nKey);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
label = col.headerName || col.field;
|
|
93
|
+
}
|
|
94
|
+
let searchItem = { field: col.field, label, filterType: col.searchType, filter: true };
|
|
88
95
|
if (col.searchType == 'date') {
|
|
89
96
|
searchItem.format = col.searchFormat ?? 'yy-mm-dd';
|
|
90
97
|
}
|
|
@@ -128,4 +135,4 @@ export const searchUtils = {
|
|
|
128
135
|
cascadeColumnFilters: _searchUitls.cascadeColumnFilters,
|
|
129
136
|
translate: _searchUitls.translate,
|
|
130
137
|
};
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sWUFBWSxHQUFHO0lBQ3BCLFdBQVcsRUFBRSxDQUFDLEtBQVksRUFBUyxFQUFFO1FBQ3BDLElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVsQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsSUFBZ0IsRUFBNEIsRUFBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0IsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPO1lBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVU7WUFDakMsS0FBSyxFQUFFLElB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cmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaCwgQ29sdW1uRmlsdGVyIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSdcclxuY29uc3QgX3NlYXJjaFVpdGxzID0ge1xyXG5cdGZsYXR0ZW5UcmVlOiAobm9kZXM6IGFueVtdKTogYW55W10gPT4ge1xyXG5cdFx0bGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuXHRcdG5vZGVzPy5mb3JFYWNoKChub2RlKSA9PiB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xyXG5cclxuXHRcdFx0aWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0cmVzdWx0ID0gcmVzdWx0LmNvbmNhdChfc2VhcmNoVWl0bHMuZmxhdHRlblRyZWUobm9kZS5jaGlsZHJlbikpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiByZXN1bHQ7XHJcblx0fSxcclxuXHR0cmFuc2ZlckZpbHRlcjogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0aWYgKGl0ZW0uZmlsdGVyVHlwZSA9PSAnZGF0ZScpIHtcclxuXHRcdFx0cmV0dXJuIF9zZWFyY2hVaXRscy50cmFuc2ZlckRhdGUoaXRlbSk7XHJcblx0XHR9IGVsc2UgaWYgKGl0ZW0uZmlsdGVyVHlwZSA9PSAnbnVtYmVyJykge1xyXG5cdFx0XHRyZXR1cm4gX3NlYXJjaFVpdGxzLnRyYW5zZmVyTnVtYmVyKGl0ZW0pO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IgfHwgJ2NvbnRhaW5zJyxcclxuXHRcdFx0Zml0ZXI6IGl0ZW0udmFsdWUsXHJcblx0XHR9O1xyXG5cdH0sXHJcblx0dHJhbnNmZXJOdW1iZXI6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGlmIChpdGVtLm9wZXJhdG9yID09ICdpblJhbmdlJykge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxyXG5cdFx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdFx0ZnJvbTogaXRlbS5mcm9tLFxyXG5cdFx0XHRcdHRvOiBpdGVtLnRvLFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdGZpdGVyOiBpdGVtLnZhbHVlLFxyXG5cdFx0fTtcclxuXHR9LFxyXG5cdHRyYW5zZmVyRGF0ZTogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0aWYgKGl0ZW0ub3BlcmF0b3IgPT0gJ2luUmFuZ2UnKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdFx0dHlwZTogaXRlbS5vcGVyYXRvcixcclxuXHRcdFx0XHRmcm9tOiBpdGVtLmZyb20sXHJcblx0XHRcdFx0dG86IGl0ZW0udG8sXHJcblx0XHRcdH07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRjb2x1bW5GaWVsZDogaXRlbS5maWVsZCxcclxuXHRcdFx0dHlwZTogaXRlbS5vcGVyYXRvcixcclxuXHRcdFx0Zml0ZXI6IGl0ZW0udmFsdWUsXHJcblx0XHR9O1xyXG5cdH0sXHJcblx0Y29uY2F0RmlsdGVyOiAoc2VhcmNoOiBTZWFyY2ggPSB7IGNvbHVtbkZpbHRlcnM6IFtdLCBncm91cHM6IFtdIH0sIGZpbHRlcjogQ29sdW1uRmlsdGVyKTogU2VhcmNoID0+IHtcclxuXHRcdHNlYXJjaC5jb2x1bW5GaWx0ZXJzID0gc2VhcmNoLmNvbHVtbkZpbHRlcnM/LmZpbHRlcigoZmlsKSA9PiBmaWx0ZXIuY29sdW1uRmllbGQgIT0gZmlsLmNvbHVtbkZpZWxkKTtcclxuXHRcdGlmICghZmlsdGVyKSB7XHJcblx0XHRcdHJldHVybiBzZWFyY2g7XHJcblx0XHR9XHJcblx0XHRpZiAoZmlsdGVyLnR5cGUgPT0gJ2luJyAmJiAhZmlsdGVyLmZpdGVyLmxlbmd0aCkge1xyXG5cdFx0XHRyZXR1cm4gc2VhcmNoO1xyXG5cdFx0fVxyXG5cdFx0c2VhcmNoLmNvbHVtbkZpbHRlcnM/LnB1c2goZmlsdGVyKTtcclxuXHRcdHJldHVybiBzZWFyY2g7XHJcblx0fSxcclxuXHRjYXNjYWRlQ29sdW1uRmlsdGVycyhzZWFyY2hDbGVhcjogc3RyaW5nLCBjb2x1bW5GaWx0ZXJzOiBDb2x1bW5GaWx0ZXJbXSwgc2VhcmNoSXRlbXM6IFNlYXJjaEl0ZW1bXSk6IENvbHVtbkZpbHRlcltdIHtcclxuXHRcdGNvbnN0IGNhc2NhZGVDbGVhckxpc3Q6IHN0cmluZ1tdID0gW3NlYXJjaENsZWFyXTtcclxuXHRcdGZvciAoY29uc3QgY29sdW1uRmlsdGVyIG9mIGNvbHVtbkZpbHRlcnMpIHtcclxuXHRcdFx0Zm9yIChjb25zdCBzZWFyY2hJdGVtIG9mIHNlYXJjaEl0ZW1zKSB7XHJcblx0XHRcdFx0aWYgKHNlYXJjaEl0ZW0uZmllbGQgPT0gY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkICYmIHNlYXJjaEl0ZW0uY2FzY2FkZSAmJiBzZWFyY2hJdGVtLmNhc2NhZGVLZXkgPT0gc2VhcmNoQ2xlYXIpIHtcclxuXHRcdFx0XHRcdGNhc2NhZGVDbGVhckxpc3QucHVzaChjb2x1bW5GaWx0ZXIuY29sdW1uRmllbGQhKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGNvbHVtbkZpbHRlcnM/LmZpbHRlcigoY29sdW1uRmlsdGVyKSA9PiAhY2FzY2FkZUNsZWFyTGlzdC5pbmNsdWRlcyhjb2x1bW5GaWx0ZXIuY29sdW1uRmllbGQhKSk7XHJcblx0fSxcclxuXHRleHRyYWN0U2VhcmNoSXRlbXMoY29sdW1uRGVmczogYW55LCBzZWFyY2hJdGVtczogU2VhcmNoSXRlbVtdID0gW10pOiBTZWFyY2hJdGVtW10ge1xyXG5cdFx0Y29sdW1uRGVmcz8uZm9yRWFjaCgoY29sOiBhbnkpID0+IHtcclxuXHRcdFx0aWYgKGNvbC5jaGlsZHJlbikge1xyXG5cdFx0XHRcdHRoaXMuZXh0cmFjdFNlYXJjaEl0ZW1zKGNvbC5jaGlsZHJlbiwgc2VhcmNoSXRlbXMpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGlmICghY29sLnNlYXJjaCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgc2VhcmNoSXRlbTogU2VhcmNoSXRlbSA9IHsgZmllbGQ6IGNvbC5maWVsZCwgbGFiZWw6IGNvbC5oZWFkZXJOYW1lIHx8IGNvbC5maWVsZCwgZmlsdGVyVHlwZTogY29sLnNlYXJjaFR5cGUsIGZpbHRlcjogdHJ1ZSB9O1xyXG5cdFx0XHRcdGlmIChjb2wuc2VhcmNoVHlwZSA9PSAnZGF0ZScpIHtcclxuXHRcdFx0XHRcdHNlYXJjaEl0ZW0uZm9ybWF0ID0gY29sLnNlYXJjaEZvcm1hdCA/PyAneXktbW0tZGQnO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAoY29sLnNlYXJjaFR5cGUgPT0gJ3NlbGVjdCcpIHtcclxuXHRcdFx0XHRcdGlmIChjb2wuY2FzY2FkZSkge1xyXG5cdFx0XHRcdFx0XHRzZWFyY2hJdGVtLmNhc2NhZGUgPSBjb2wuY2FzY2FkZTtcclxuXHRcdFx0XHRcdFx0c2VhcmNoSXRlbS5jYXNjYWRlS2V5ID0gY29sLmNhc2NhZGVLZXk7XHJcblx0XHRcdFx0XHRcdHNlYXJjaEl0ZW0uY2FzY2FkZUZ1bmMgPSBjb2wuY2FzY2FkZUZ1bmM7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjb2wuc2VhcmNoT3B0aW9ucykge1xyXG5cdFx0XHRcdFx0Y29sLnNlYXJjaE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0c2VhcmNoSXRlbS5vcHRpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcHRpb25zKSk7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNvbC5zZWFyY2hHcm91cCkge1xyXG5cdFx0XHRcdFx0c2VhcmNoSXRlbS5ncm91cCA9IGNvbC5zZWFyY2hHcm91cDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNvbC5tdWx0aXBsZSkge1xyXG5cdFx0XHRcdFx0c2VhcmNoSXRlbS5tdWx0aXBsZSA9IGNvbC5tdWx0aXBsZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c2VhcmNoSXRlbXMucHVzaChzZWFyY2hJdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gc2VhcmNoSXRlbXM7XHJcblx0fSxcclxuXHR0cmFuc2xhdGUob3BlcmF0b3JMaXN0OiBhbnlbXSwgaTE4bjogSTE4blNlcnZpY2UpIHtcclxuXHRcdHJldHVybiBvcGVyYXRvckxpc3QubWFwKChvcGVyYXRvcikgPT4ge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdC4uLm9wZXJhdG9yLFxyXG5cdFx0XHRcdGxhYmVsOiBvcGVyYXRvci5pMThuS2V5ID8gaTE4bi5mYW55aShvcGVyYXRvci5pMThuS2V5KSA6IG9wZXJhdG9yLmxhYmVsLFxyXG5cdFx0XHR9O1xyXG5cdFx0fSk7XHJcblx0fSxcclxufTtcclxuZXhwb3J0IGNvbnN0IHNlYXJjaFV0aWxzID0ge1xyXG5cdGZsYXR0ZW5UcmVlOiBfc2VhcmNoVWl0bHMuZmxhdHRlblRyZWUsXHJcblx0dHJhbnNmZXJGaWx0ZXI6IF9zZWFyY2hVaXRscy50cmFuc2ZlckZpbHRlcixcclxuXHRjb25jYXRGaWx0ZXI6IF9zZWFyY2hVaXRscy5jb25jYXRGaWx0ZXIsXHJcblx0ZXh0cmFjdFNlYXJjaEl0ZW1zOiBfc2VhcmNoVWl0bHMuZXh0cmFjdFNlYXJjaEl0ZW1zLFxyXG5cdGNhc2NhZGVDb2x1bW5GaWx0ZXJzOiBfc2VhcmNoVWl0bHMuY2FzY2FkZUNvbHVtbkZpbHRlcnMsXHJcblx0dHJhbnNsYXRlOiBfc2VhcmNoVWl0bHMudHJhbnNsYXRlLFxyXG59O1xyXG4iXX0=
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sWUFBWSxHQUFHO0lBQ3BCLFdBQVcsRUFBRSxDQUFDLEtBQVksRUFBUyxFQUFFO1FBQ3BDLElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVsQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsSUFBZ0IsRUFBNEIsRUFBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0IsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPO1lBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVU7WUFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsSUFBZ0IsRUFBNEIsRUFBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDaEMsT0FBTztnQkFDTixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTthQUNYLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTztZQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxFQUFFLENBQUMsSUFBZ0IsRUFBNEIsRUFBRTtRQUM1RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDaEMsT0FBTztnQkFDTixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTthQUNYLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTztZQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxFQUFFLENBQUMsU0FBaUIsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFvQixFQUFVLEVBQUU7UUFDbEcsTUFBTSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2IsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakQsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxhQUE2QixFQUFFLFdBQXlCO1FBQ2pHLE1BQU0sZ0JBQWdCLEdBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQzFDLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEgsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFZLENBQUMsQ0FBQztvQkFDakQsTUFBTTtnQkFDUCxDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUM7UUFDRCxPQUFPLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxVQUFlLEVBQUUsSUFBaUIsRUFBRSxjQUE0QixFQUFFO1FBQ3BGLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzFELENBQUM7aUJBQU0sQ0FBQztnQkFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqQixPQUFPO2dCQUNSLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLENBQUM7Z0JBQ1YsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ25DLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxDQUFDO29CQUNQLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JDLENBQUM7Z0JBQ0QsSUFBSSxVQUFVLEdBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNuRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQzlCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUM7Z0JBQ3BELENBQUM7cUJBQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUN2QyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDakIsVUFBVSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO3dCQUNqQyxVQUFVLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztvQkFDMUMsQ0FBQztnQkFDRixDQUFDO2dCQUNELElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN2QixHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO3dCQUM1QyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUMxRCxDQUFDLENBQUMsQ0FBQztnQkFDSixDQUFDO2dCQUNELElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNyQixVQUFVLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsQ0FBQztnQkFDRCxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTLENBQUMsWUFBbUIsRUFBRSxJQUFpQjtRQUMvQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwQyxPQUFPO2dCQUNOLEdBQUcsUUFBUTtnQkFDWCxLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLO2FBQ3ZFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQzFCLFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVztJQUNyQyxjQUFjLEVBQUUsWUFBWSxDQUFDLGNBQWM7SUFDM0MsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO0lBQ3ZDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxrQkFBa0I7SUFDbkQsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLG9CQUFvQjtJQUN2RCxTQUFTLEVBQUUsWUFBWSxDQUFDLFNBQVM7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaEl0ZW0gfSBmcm9tICcuL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaCwgQ29sdW1uRmlsdGVyIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xuY29uc3QgX3NlYXJjaFVpdGxzID0ge1xuXHRmbGF0dGVuVHJlZTogKG5vZGVzOiBhbnlbXSk6IGFueVtdID0+IHtcblx0XHRsZXQgcmVzdWx0OiBhbnlbXSA9IFtdO1xuXHRcdG5vZGVzPy5mb3JFYWNoKChub2RlKSA9PiB7XG5cdFx0XHRyZXN1bHQucHVzaChub2RlKTtcblxuXHRcdFx0aWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoX3NlYXJjaFVpdGxzLmZsYXR0ZW5UcmVlKG5vZGUuY2hpbGRyZW4pKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LFxuXHR0cmFuc2ZlckZpbHRlcjogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xuXHRcdGlmIChpdGVtLmZpbHRlclR5cGUgPT0gJ2RhdGUnKSB7XG5cdFx0XHRyZXR1cm4gX3NlYXJjaFVpdGxzLnRyYW5zZmVyRGF0ZShpdGVtKTtcblx0XHR9IGVsc2UgaWYgKGl0ZW0uZmlsdGVyVHlwZSA9PSAnbnVtYmVyJykge1xuXHRcdFx0cmV0dXJuIF9zZWFyY2hVaXRscy50cmFuc2Zlck51bWJlcihpdGVtKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxuXHRcdFx0dHlwZTogaXRlbS5vcGVyYXRvciB8fCAnY29udGFpbnMnLFxuXHRcdFx0Zml0ZXI6IGl0ZW0udmFsdWUsXG5cdFx0fTtcblx0fSxcblx0dHJhbnNmZXJOdW1iZXI6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcblx0XHRpZiAoaXRlbS5vcGVyYXRvciA9PSAnaW5SYW5nZScpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxuXHRcdFx0XHR0eXBlOiBpdGVtLm9wZXJhdG9yLFxuXHRcdFx0XHRmcm9tOiBpdGVtLmZyb20sXG5cdFx0XHRcdHRvOiBpdGVtLnRvLFxuXHRcdFx0fTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxuXHRcdFx0dHlwZTogaXRlbS5vcGVyYXRvcixcblx0XHRcdGZpdGVyOiBpdGVtLnZhbHVlLFxuXHRcdH07XG5cdH0sXG5cdHRyYW5zZmVyRGF0ZTogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xuXHRcdGlmIChpdGVtLm9wZXJhdG9yID09ICdpblJhbmdlJykge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXG5cdFx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXG5cdFx0XHRcdGZyb206IGl0ZW0uZnJvbSxcblx0XHRcdFx0dG86IGl0ZW0udG8sXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXG5cdFx0XHR0eXBlOiBpdGVtLm9wZXJhdG9yLFxuXHRcdFx0Zml0ZXI6IGl0ZW0udmFsdWUsXG5cdFx0fTtcblx0fSxcblx0Y29uY2F0RmlsdGVyOiAoc2VhcmNoOiBTZWFyY2ggPSB7IGNvbHVtbkZpbHRlcnM6IFtdLCBncm91cHM6IFtdIH0sIGZpbHRlcjogQ29sdW1uRmlsdGVyKTogU2VhcmNoID0+IHtcblx0XHRzZWFyY2guY29sdW1uRmlsdGVycyA9IHNlYXJjaC5jb2x1bW5GaWx0ZXJzPy5maWx0ZXIoKGZpbCkgPT4gZmlsdGVyLmNvbHVtbkZpZWxkICE9IGZpbC5jb2x1bW5GaWVsZCk7XG5cdFx0aWYgKCFmaWx0ZXIpIHtcblx0XHRcdHJldHVybiBzZWFyY2g7XG5cdFx0fVxuXHRcdGlmIChmaWx0ZXIudHlwZSA9PSAnaW4nICYmICFmaWx0ZXIuZml0ZXIubGVuZ3RoKSB7XG5cdFx0XHRyZXR1cm4gc2VhcmNoO1xuXHRcdH1cblx0XHRzZWFyY2guY29sdW1uRmlsdGVycz8ucHVzaChmaWx0ZXIpO1xuXHRcdHJldHVybiBzZWFyY2g7XG5cdH0sXG5cdGNhc2NhZGVDb2x1bW5GaWx0ZXJzKHNlYXJjaENsZWFyOiBzdHJpbmcsIGNvbHVtbkZpbHRlcnM6IENvbHVtbkZpbHRlcltdLCBzZWFyY2hJdGVtczogU2VhcmNoSXRlbVtdKTogQ29sdW1uRmlsdGVyW10ge1xuXHRcdGNvbnN0IGNhc2NhZGVDbGVhckxpc3Q6IHN0cmluZ1tdID0gW3NlYXJjaENsZWFyXTtcblx0XHRmb3IgKGNvbnN0IGNvbHVtbkZpbHRlciBvZiBjb2x1bW5GaWx0ZXJzKSB7XG5cdFx0XHRmb3IgKGNvbnN0IHNlYXJjaEl0ZW0gb2Ygc2VhcmNoSXRlbXMpIHtcblx0XHRcdFx0aWYgKHNlYXJjaEl0ZW0uZmllbGQgPT0gY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkICYmIHNlYXJjaEl0ZW0uY2FzY2FkZSAmJiBzZWFyY2hJdGVtLmNhc2NhZGVLZXkgPT0gc2VhcmNoQ2xlYXIpIHtcblx0XHRcdFx0XHRjYXNjYWRlQ2xlYXJMaXN0LnB1c2goY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkISk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGNvbHVtbkZpbHRlcnM/LmZpbHRlcigoY29sdW1uRmlsdGVyKSA9PiAhY2FzY2FkZUNsZWFyTGlzdC5pbmNsdWRlcyhjb2x1bW5GaWx0ZXIuY29sdW1uRmllbGQhKSk7XG5cdH0sXG5cdGV4dHJhY3RTZWFyY2hJdGVtcyhjb2x1bW5EZWZzOiBhbnksIGkxOG46IEkxOG5TZXJ2aWNlLCBzZWFyY2hJdGVtczogU2VhcmNoSXRlbVtdID0gW10pOiBTZWFyY2hJdGVtW10ge1xuXHRcdGNvbHVtbkRlZnM/LmZvckVhY2goKGNvbDogYW55KSA9PiB7XG5cdFx0XHRpZiAoY29sLmNoaWxkcmVuKSB7XG5cdFx0XHRcdHRoaXMuZXh0cmFjdFNlYXJjaEl0ZW1zKGNvbC5jaGlsZHJlbiwgaTE4biwgc2VhcmNoSXRlbXMpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKCFjb2wuc2VhcmNoKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxldCBsYWJlbDtcblx0XHRcdFx0aWYgKGNvbC5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpKSB7XG5cdFx0XHRcdFx0bGFiZWwgPSBpMThuLmZhbnlpKGNvbC5pMThuS2V5KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRsYWJlbCA9IGNvbC5oZWFkZXJOYW1lIHx8IGNvbC5maWVsZDtcblx0XHRcdFx0fVxuXHRcdFx0XHRsZXQgc2VhcmNoSXRlbTogU2VhcmNoSXRlbSA9IHsgZmllbGQ6IGNvbC5maWVsZCwgbGFiZWwsIGZpbHRlclR5cGU6IGNvbC5zZWFyY2hUeXBlLCBmaWx0ZXI6IHRydWUgfTtcblx0XHRcdFx0aWYgKGNvbC5zZWFyY2hUeXBlID09ICdkYXRlJykge1xuXHRcdFx0XHRcdHNlYXJjaEl0ZW0uZm9ybWF0ID0gY29sLnNlYXJjaEZvcm1hdCA/PyAneXktbW0tZGQnO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGNvbC5zZWFyY2hUeXBlID09ICdzZWxlY3QnKSB7XG5cdFx0XHRcdFx0aWYgKGNvbC5jYXNjYWRlKSB7XG5cdFx0XHRcdFx0XHRzZWFyY2hJdGVtLmNhc2NhZGUgPSBjb2wuY2FzY2FkZTtcblx0XHRcdFx0XHRcdHNlYXJjaEl0ZW0uY2FzY2FkZUtleSA9IGNvbC5jYXNjYWRlS2V5O1xuXHRcdFx0XHRcdFx0c2VhcmNoSXRlbS5jYXNjYWRlRnVuYyA9IGNvbC5jYXNjYWRlRnVuYztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGNvbC5zZWFyY2hPcHRpb25zKSB7XG5cdFx0XHRcdFx0Y29sLnNlYXJjaE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdHNlYXJjaEl0ZW0ub3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChjb2wuc2VhcmNoR3JvdXApIHtcblx0XHRcdFx0XHRzZWFyY2hJdGVtLmdyb3VwID0gY29sLnNlYXJjaEdyb3VwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChjb2wubXVsdGlwbGUpIHtcblx0XHRcdFx0XHRzZWFyY2hJdGVtLm11bHRpcGxlID0gY29sLm11bHRpcGxlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNlYXJjaEl0ZW1zLnB1c2goc2VhcmNoSXRlbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHNlYXJjaEl0ZW1zO1xuXHR9LFxuXHR0cmFuc2xhdGUob3BlcmF0b3JMaXN0OiBhbnlbXSwgaTE4bjogSTE4blNlcnZpY2UpIHtcblx0XHRyZXR1cm4gb3BlcmF0b3JMaXN0Lm1hcCgob3BlcmF0b3IpID0+IHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdC4uLm9wZXJhdG9yLFxuXHRcdFx0XHRsYWJlbDogb3BlcmF0b3IuaTE4bktleSA/IGkxOG4uZmFueWkob3BlcmF0b3IuaTE4bktleSkgOiBvcGVyYXRvci5sYWJlbCxcblx0XHRcdH07XG5cdFx0fSk7XG5cdH0sXG59O1xuZXhwb3J0IGNvbnN0IHNlYXJjaFV0aWxzID0ge1xuXHRmbGF0dGVuVHJlZTogX3NlYXJjaFVpdGxzLmZsYXR0ZW5UcmVlLFxuXHR0cmFuc2ZlckZpbHRlcjogX3NlYXJjaFVpdGxzLnRyYW5zZmVyRmlsdGVyLFxuXHRjb25jYXRGaWx0ZXI6IF9zZWFyY2hVaXRscy5jb25jYXRGaWx0ZXIsXG5cdGV4dHJhY3RTZWFyY2hJdGVtczogX3NlYXJjaFVpdGxzLmV4dHJhY3RTZWFyY2hJdGVtcyxcblx0Y2FzY2FkZUNvbHVtbkZpbHRlcnM6IF9zZWFyY2hVaXRscy5jYXNjYWRlQ29sdW1uRmlsdGVycyxcblx0dHJhbnNsYXRlOiBfc2VhcmNoVWl0bHMudHJhbnNsYXRlLFxufTtcbiJdfQ==
|
|
@@ -1238,8 +1238,8 @@ const _fieldUtils = {
|
|
|
1238
1238
|
return '';
|
|
1239
1239
|
}
|
|
1240
1240
|
if (_fieldUtils.isISO8601(raw)) {
|
|
1241
|
-
const
|
|
1242
|
-
return datePipe.transform(raw,
|
|
1241
|
+
const datePipeFormat = field.datePickerProps?.datePipeFormat ?? 'yyyy-MM-dd';
|
|
1242
|
+
return datePipe.transform(raw, datePipeFormat, 'GMT') || raw;
|
|
1243
1243
|
}
|
|
1244
1244
|
if (!stringMode && field?.datePickerProps?.selectionMode == 'range' && raw.includes('~')) {
|
|
1245
1245
|
const [start, end] = raw.split('~');
|
|
@@ -2091,6 +2091,7 @@ class DatePickerComponent {
|
|
|
2091
2091
|
this.props = this.field().datePickerProps;
|
|
2092
2092
|
this.handleHookChange();
|
|
2093
2093
|
this.handleDisabled();
|
|
2094
|
+
this.handleDatePipeFormat();
|
|
2094
2095
|
}
|
|
2095
2096
|
});
|
|
2096
2097
|
effect(() => {
|
|
@@ -2147,6 +2148,47 @@ class DatePickerComponent {
|
|
|
2147
2148
|
throw new Error('Invalid date format. Expected yyyy-MM-dd hh:mm:ss');
|
|
2148
2149
|
}
|
|
2149
2150
|
}
|
|
2151
|
+
handleDatePipeFormat() {
|
|
2152
|
+
this.props.datePipeFormat = this.convertPrimeNgToDatePipeFormat(this.props.dateFormat);
|
|
2153
|
+
if (!this.props.showTime)
|
|
2154
|
+
return;
|
|
2155
|
+
const timeSeparator = this.props.timeSeparator ?? ':';
|
|
2156
|
+
const timeFormat = `HH${timeSeparator}mm${timeSeparator}ss`;
|
|
2157
|
+
this.props.datePipeFormat += ` ${timeFormat}`;
|
|
2158
|
+
}
|
|
2159
|
+
convertPrimeNgToDatePipeFormat(primeNgFormat) {
|
|
2160
|
+
if (!primeNgFormat)
|
|
2161
|
+
return 'yyyy-MM-dd';
|
|
2162
|
+
const formatMap = {
|
|
2163
|
+
d: 'd',
|
|
2164
|
+
dd: 'dd',
|
|
2165
|
+
m: 'M',
|
|
2166
|
+
mm: 'MM',
|
|
2167
|
+
M: 'MMM',
|
|
2168
|
+
MM: 'MMMM',
|
|
2169
|
+
y: 'yy',
|
|
2170
|
+
yy: 'yyyy',
|
|
2171
|
+
};
|
|
2172
|
+
const commonFormats = {
|
|
2173
|
+
'mm/dd/yy': 'MM/dd/yyyy',
|
|
2174
|
+
'dd/mm/yy': 'dd/MM/yyyy',
|
|
2175
|
+
'yy-mm-dd': 'yyyy-MM-dd',
|
|
2176
|
+
'dd-mm-yy': 'dd-MM-yyyy',
|
|
2177
|
+
'mm-dd-yy': 'MM-dd-yyyy',
|
|
2178
|
+
};
|
|
2179
|
+
if (commonFormats[primeNgFormat]) {
|
|
2180
|
+
return commonFormats[primeNgFormat];
|
|
2181
|
+
}
|
|
2182
|
+
// 替换转义字符
|
|
2183
|
+
let result = primeNgFormat.replace(/'([^']*)'/g, (match, p1) => {
|
|
2184
|
+
return `'${p1}'`;
|
|
2185
|
+
});
|
|
2186
|
+
// 替换格式标记
|
|
2187
|
+
result = result.replace(/[a-zA-Z]+/g, (match) => {
|
|
2188
|
+
return formatMap[match] || match;
|
|
2189
|
+
});
|
|
2190
|
+
return result;
|
|
2191
|
+
}
|
|
2150
2192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, deps: [{ token: ActionService }, { token: i0.Renderer2 }, { token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2151
2193
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "form-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: DatePicker, descendants: true }, { propertyName: "datePickerRef", first: true, predicate: DatePicker, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-datepicker
|
|
2152
2194
|
[id]="field()?.uuid"
|
|
@@ -3252,10 +3294,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3252
3294
|
}] } });
|
|
3253
3295
|
|
|
3254
3296
|
class ImageComponent {
|
|
3255
|
-
constructor(http, action, renderer) {
|
|
3297
|
+
constructor(http, action, renderer, datePipe) {
|
|
3256
3298
|
this.http = http;
|
|
3257
3299
|
this.action = action;
|
|
3258
3300
|
this.renderer = renderer;
|
|
3301
|
+
this.datePipe = datePipe;
|
|
3259
3302
|
this.field = input();
|
|
3260
3303
|
this.props = {};
|
|
3261
3304
|
this.imageList = [];
|
|
@@ -3304,9 +3347,58 @@ class ImageComponent {
|
|
|
3304
3347
|
return this.http.post('imageDelete', { fid: image });
|
|
3305
3348
|
}
|
|
3306
3349
|
uploadHandler(field, event, fu) {
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3350
|
+
console.log(event, 'file----events');
|
|
3351
|
+
event.files.forEach(async (v) => {
|
|
3352
|
+
if (this.props.watermark) {
|
|
3353
|
+
let blob = await this.addWatermark(v);
|
|
3354
|
+
const newFile = new File([blob], v.name, { type: v.type });
|
|
3355
|
+
this.uploadImage(newFile).subscribe((response) => {
|
|
3356
|
+
this.imageList?.push(response.body.fid);
|
|
3357
|
+
this.field()?.fieldControl?.setValue(this.imageList);
|
|
3358
|
+
});
|
|
3359
|
+
}
|
|
3360
|
+
else {
|
|
3361
|
+
this.uploadImage(v).subscribe((response) => {
|
|
3362
|
+
this.imageList?.push(response.body.fid);
|
|
3363
|
+
this.field()?.fieldControl?.setValue(this.imageList);
|
|
3364
|
+
});
|
|
3365
|
+
}
|
|
3366
|
+
});
|
|
3367
|
+
}
|
|
3368
|
+
addWatermark(imageFile) {
|
|
3369
|
+
return new Promise((resolve, reject) => {
|
|
3370
|
+
const reader = new FileReader();
|
|
3371
|
+
reader.onload = (event) => {
|
|
3372
|
+
const img = document.createElement('img');
|
|
3373
|
+
img.onload = () => {
|
|
3374
|
+
const canvas = document.createElement('canvas');
|
|
3375
|
+
const ctx = canvas.getContext('2d');
|
|
3376
|
+
// 设置画布大小为图片大小
|
|
3377
|
+
canvas.width = Number(img.width);
|
|
3378
|
+
canvas.height = Number(img.height);
|
|
3379
|
+
// 绘制原始图片
|
|
3380
|
+
ctx.drawImage(img, 0, 0);
|
|
3381
|
+
// 添加水印
|
|
3382
|
+
ctx.font = `italic bold 30px Courier`;
|
|
3383
|
+
ctx.fillStyle = 'red';
|
|
3384
|
+
ctx.textAlign = 'center';
|
|
3385
|
+
ctx.textBaseline = 'middle';
|
|
3386
|
+
const currentTime = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss') || '';
|
|
3387
|
+
ctx.fillText(currentTime, canvas.width / 2, canvas.height - 50);
|
|
3388
|
+
// 转换为Blob
|
|
3389
|
+
canvas.toBlob((blob) => {
|
|
3390
|
+
if (blob) {
|
|
3391
|
+
resolve(blob);
|
|
3392
|
+
}
|
|
3393
|
+
else {
|
|
3394
|
+
reject(new Error('Canvas to Blob conversion failed'));
|
|
3395
|
+
}
|
|
3396
|
+
}, 'image/jpeg', 0.8);
|
|
3397
|
+
};
|
|
3398
|
+
img.src = event.target?.result;
|
|
3399
|
+
};
|
|
3400
|
+
reader.onerror = (error) => reject(error);
|
|
3401
|
+
reader.readAsDataURL(imageFile);
|
|
3310
3402
|
});
|
|
3311
3403
|
}
|
|
3312
3404
|
deleteHandler(image, index) {
|
|
@@ -3347,7 +3439,7 @@ class ImageComponent {
|
|
|
3347
3439
|
parentDiv.appendChild(childDiv);
|
|
3348
3440
|
}
|
|
3349
3441
|
}
|
|
3350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, deps: [{ token: i1$3.HttpClient }, { token: ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3442
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, deps: [{ token: i1$3.HttpClient }, { token: ActionService }, { token: i0.Renderer2 }, { token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3351
3443
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ImageComponent, isStandalone: true, selector: "form-image", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "imageCompRef", first: true, predicate: ["imageComp"], descendants: true, read: ElementRef }], ngImport: i0, template: `<p-fileUpload
|
|
3352
3444
|
#fu
|
|
3353
3445
|
auto
|
|
@@ -3363,6 +3455,7 @@ class ImageComponent {
|
|
|
3363
3455
|
[headers]="props.headers"
|
|
3364
3456
|
[fileLimit]="props.fileLimit"
|
|
3365
3457
|
[customUpload]="props.customUpload ?? true"
|
|
3458
|
+
[multiple]="props.multiple ?? false"
|
|
3366
3459
|
(onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
|
|
3367
3460
|
(onSend)="props.onSend?.(field()!, $event)"
|
|
3368
3461
|
(onUpload)="props.onUpload?.(field()!, $event)"
|
|
@@ -3471,6 +3564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3471
3564
|
[headers]="props.headers"
|
|
3472
3565
|
[fileLimit]="props.fileLimit"
|
|
3473
3566
|
[customUpload]="props.customUpload ?? true"
|
|
3567
|
+
[multiple]="props.multiple ?? false"
|
|
3474
3568
|
(onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
|
|
3475
3569
|
(onSend)="props.onSend?.(field()!, $event)"
|
|
3476
3570
|
(onUpload)="props.onUpload?.(field()!, $event)"
|
|
@@ -3561,7 +3655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3561
3655
|
</ng-template>
|
|
3562
3656
|
<ng-template #file> </ng-template>
|
|
3563
3657
|
</p-fileUpload>`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n", ".file-item{border-top:solid 1px #fff}.upload-btn{border:solid 1px transparent}.upload-btn.upload-disable:hover{cursor:default}.upload-btn:not(.upload-disable):hover{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.upload-btn:not(.upload-disable).ng-hovered{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.file-name{font-size:12px;cursor:pointer;color:var(--p-primary-color)!important}:is() .p-image-preview-mask{position:inherit;opacity:1;justify-content:left;color:#334155}:is() p-image .p-image{display:inline-block;color:var(--p-primary-color)!important}\n"] }]
|
|
3564
|
-
}], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: ActionService }, { type: i0.Renderer2 }], propDecorators: { imageCompRef: [{
|
|
3658
|
+
}], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: ActionService }, { type: i0.Renderer2 }, { type: i1$2.DatePipe }], propDecorators: { imageCompRef: [{
|
|
3565
3659
|
type: ViewChild,
|
|
3566
3660
|
args: ['imageComp', { read: ElementRef, static: false }]
|
|
3567
3661
|
}] } });
|
|
@@ -4391,7 +4485,7 @@ const _gridUtils = {
|
|
|
4391
4485
|
if (item.hasOwnProperty('i18nKey')) {
|
|
4392
4486
|
let headerName = i18n.fanyi(item.i18nKey);
|
|
4393
4487
|
cols = { ...item, headerName };
|
|
4394
|
-
delete cols.i18nKey;
|
|
4488
|
+
// delete cols.i18nKey;
|
|
4395
4489
|
}
|
|
4396
4490
|
else {
|
|
4397
4491
|
cols = { ...item };
|
|
@@ -6339,16 +6433,23 @@ const _searchUitls = {
|
|
|
6339
6433
|
}
|
|
6340
6434
|
return columnFilters?.filter((columnFilter) => !cascadeClearList.includes(columnFilter.columnField));
|
|
6341
6435
|
},
|
|
6342
|
-
extractSearchItems(columnDefs, searchItems = []) {
|
|
6436
|
+
extractSearchItems(columnDefs, i18n, searchItems = []) {
|
|
6343
6437
|
columnDefs?.forEach((col) => {
|
|
6344
6438
|
if (col.children) {
|
|
6345
|
-
this.extractSearchItems(col.children, searchItems);
|
|
6439
|
+
this.extractSearchItems(col.children, i18n, searchItems);
|
|
6346
6440
|
}
|
|
6347
6441
|
else {
|
|
6348
6442
|
if (!col.search) {
|
|
6349
6443
|
return;
|
|
6350
6444
|
}
|
|
6351
|
-
let
|
|
6445
|
+
let label;
|
|
6446
|
+
if (col.hasOwnProperty('i18nKey')) {
|
|
6447
|
+
label = i18n.fanyi(col.i18nKey);
|
|
6448
|
+
}
|
|
6449
|
+
else {
|
|
6450
|
+
label = col.headerName || col.field;
|
|
6451
|
+
}
|
|
6452
|
+
let searchItem = { field: col.field, label, filterType: col.searchType, filter: true };
|
|
6352
6453
|
if (col.searchType == 'date') {
|
|
6353
6454
|
searchItem.format = col.searchFormat ?? 'yy-mm-dd';
|
|
6354
6455
|
}
|
|
@@ -6803,7 +6904,7 @@ class SearchComponent {
|
|
|
6803
6904
|
effect(() => {
|
|
6804
6905
|
const columnDefs = this.gridOptions()?.columnDefs;
|
|
6805
6906
|
this.visible = this.gridOptions()?.showSearch ?? true;
|
|
6806
|
-
this.searchItems = searchUtils.extractSearchItems(columnDefs);
|
|
6907
|
+
this.searchItems = searchUtils.extractSearchItems(columnDefs, this.i18n);
|
|
6807
6908
|
this.sortOptions = columnDefs.map((columnDef) => ({ key: columnDef.field, label: columnDef.headerName }));
|
|
6808
6909
|
}, { allowSignalWrites: true });
|
|
6809
6910
|
effect(() => {
|
|
@@ -8969,7 +9070,7 @@ class PageFormComponent extends AmComponent {
|
|
|
8969
9070
|
this.sidebarMode.set(this.sidebarMode() === 'left' ? 'right' : 'left');
|
|
8970
9071
|
}
|
|
8971
9072
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8972
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + (sidebarMode())\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "importVisible", "exportVisible", "newUrl", "configNewPath", "onExport", "outlined", "isList", "authLevel", "actionList", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable", "addSort"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$2.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.TabList, selector: "p-tablist" }, { kind: "component", type: i3$2.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible", "showSearch"], outputs: ["onOk", "visibleChange", "cancelSelect"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
|
|
9073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + (sidebarMode())\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data,action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "importVisible", "exportVisible", "newUrl", "configNewPath", "onExport", "outlined", "isList", "authLevel", "actionList", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable", "addSort"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$2.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.TabList, selector: "p-tablist" }, { kind: "component", type: i3$2.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible", "showSearch"], outputs: ["onOk", "visibleChange", "cancelSelect"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
|
|
8973
9074
|
}
|
|
8974
9075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
|
|
8975
9076
|
type: Component,
|
|
@@ -8985,7 +9086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8985
9086
|
RowSelectorComponent$1,
|
|
8986
9087
|
TranslatePipe,
|
|
8987
9088
|
HrefBtnListComponent,
|
|
8988
|
-
], providers: [], template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + (sidebarMode())\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"] }]
|
|
9089
|
+
], providers: [], template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + (sidebarMode())\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data,action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"] }]
|
|
8989
9090
|
}], ctorParameters: () => [], propDecorators: { cForm: [{
|
|
8990
9091
|
type: ViewChild,
|
|
8991
9092
|
args: ['cForm']
|