@farris/jit-engine 1.3.321 → 1.3.323

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.
Files changed (29) hide show
  1. package/README.md +8 -0
  2. package/bin/index.js +0 -0
  3. package/lib/domstructure/ui/approve-comments/approval-comments.js +56 -53
  4. package/lib/domstructure/ui/approve-comments/approval-comments.js.map +1 -1
  5. package/lib/domstructure/ui/approve-comments/index.js +13 -13
  6. package/lib/domstructure/ui/approve-logs/approval-logs.js +33 -33
  7. package/lib/domstructure/ui/approve-logs/approval-logs.js.map +1 -1
  8. package/lib/domstructure/ui/approve-logs/index.js +13 -13
  9. package/lib/domstructure/ui/commands/button.js +63 -63
  10. package/lib/domstructure/ui/commands/button.js.map +1 -1
  11. package/lib/domstructure/ui/data/collection/hierarchy/tree_grid.js +170 -155
  12. package/lib/domstructure/ui/data/collection/hierarchy/tree_grid.js.map +1 -1
  13. package/lib/domstructure/ui/data/fields/form/combo-list.js +126 -121
  14. package/lib/domstructure/ui/data/fields/form/combo-list.js.map +1 -1
  15. package/lib/task/recursiveGenerateDevkit.js +6 -5
  16. package/lib/task/recursiveGenerateDevkit.js.map +1 -1
  17. package/lib/template/ui/kendo/approval-comments.pug +18 -16
  18. package/lib/template/ui/kendo/approve-logs.pug +1 -1
  19. package/lib/template/ui/kendo/farris-combo-lookup.pug +98 -98
  20. package/lib/template/ui/kendo/multi-select.pug +18 -17
  21. package/lib/template/ui/kendo/treegrid.pug +40 -16
  22. package/lib/utility/devkit/component-parameter-collector/farris-datagrid-collector.js +392 -390
  23. package/lib/utility/devkit/component-parameter-collector/farris-datagrid-collector.js.map +1 -1
  24. package/lib/utility/farris-datagrid/combo-lookup-editor.js +192 -192
  25. package/lib/utility/farris-datagrid/combo-lookup-editor.js.map +1 -1
  26. package/lib/utility/farris-datagrid/lookup-editor.js +253 -235
  27. package/lib/utility/farris-datagrid/lookup-editor.js.map +1 -1
  28. package/package.json +1 -1
  29. package/lib/mobileapp/vue/static/.gitignore +0 -13
@@ -1,391 +1,393 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FarrisDataGridCollector = void 0;
4
- const abstract_component_parameter_collector_1 = require("./abstract-component-parameter-collector");
5
- const component_farris_datagrid_parameter_1 = require("../component-farris-datagrid-parameter");
6
- const i18n_resource_manager_1 = require("../../i18n/i18n-resource-manager");
7
- const column_editor_manager_1 = require("../../farris-datagrid/column-editor-manager");
8
- const toolhepler_1 = require("../../toolhepler");
9
- const datagrid_column_formatter_1 = require("../../farris-datagrid/datagrid-column-formatter");
10
- const command_column_template_generator_1 = require("../../farris-datagrid/command-column-template-generator");
11
- const logger_level_1 = require("../../logger/logger-level");
12
- const logger_helper_1 = require("../../logger/logger-helper");
13
- const devkit_constant_1 = require("../devkit-constant");
14
- const domstructure_1 = require("../../../domstructure");
15
- const component_farris_datagrid_contextmenu_parameter_1 = require("../component-farris-datagrid-contextmenu-parameter");
16
- const event_viewModel_modifier_1 = require("../../event-viewModel-modifier");
17
- class FarrisDataGridCollector extends abstract_component_parameter_collector_1.AbstractComponentParameterCollector {
18
- collect(value, options) {
19
- const farrisDataGridParameters = [];
20
- this.collectFarritDataGridParameter(value, farrisDataGridParameters, options ? options.i18nResourcePrefix : undefined, options === null || options === void 0 ? void 0 : options.externalComponentNameSpace);
21
- return farrisDataGridParameters;
22
- }
23
- collectFarritDataGridParameter(component, farrisDataGridParameters, i18nResourceKeyPrefix, externalComponentNameSpace) {
24
- const contents = component.contents;
25
- if (contents && contents.length) {
26
- contents.forEach((element) => {
27
- this.collectFarritDataGridParameter(element, farrisDataGridParameters, i18nResourceKeyPrefix, externalComponentNameSpace);
28
- });
29
- }
30
- if (component && component.type == devkit_constant_1.DevkitConstant.DataGridType && component.controlSource == devkit_constant_1.DevkitConstant.ControlSourceFarris) {
31
- const dataGridParameter = {
32
- id: component.id,
33
- columnsName: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createColumnName(component.id),
34
- columns: [],
35
- rowStyler: component.styler,
36
- rowStylerName: component.styler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createRowStyleName(component.id) : undefined,
37
- footerStyler: component.footerStyler,
38
- footerStylerName: component.footerStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createFooterStyleName(component.id) : undefined,
39
- selectedItemFormatter: component.selectedItemFormatter,
40
- selectedItemFormatterName: component.selectedItemFormatter ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createSelectedItemFormatterName(component.id) : undefined,
41
- disableRow: component.disableRow,
42
- disableRowName: component.disableRow ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createDisableRowName(component.id) : undefined,
43
- cellStyler: component.cellStyler,
44
- cellStylerName: component.cellStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellStyleName(component.id, "cellStyler") : undefined,
45
- dataGridID: component.id,
46
- showFooter: component.showFooter,
47
- footerTemplate: component.footerTemplate,
48
- footerTemplateName: component.footerTemplate ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, "footer") : undefined,
49
- footerHeight: component.footerHeight || 46,
50
- groupFormatter: component.groupFormatter,
51
- groupFormatterName: component.groupFormatter ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupRowFormatterName(component.id) : undefined,
52
- groupTotalText: {
53
- "id": component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupTotalTextName(component.id),
54
- "value": i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupTotalTextValue(component.id), i18nResourceKeyPrefix), component.groupTotalText, true)
55
- },
56
- groupStyler: component.groupStyler,
57
- groupStylerName: component.groupStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupStylerName(component.id) : undefined,
58
- enableHeaderGroup: component.enableHeaderGroup,
59
- headerGroup: component.enableHeaderGroup && component.headerGroup ? component.headerGroup : undefined,
60
- maxLevel: 0,
61
- elementId: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createElementId(component.id),
62
- beforeEdit: component.beforeEdit,
63
- contextMenu: this.generateContextMenu(component, externalComponentNameSpace, i18nResourceKeyPrefix),
64
- lineNumberTitle: {
65
- "id": component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createLineNumberTitleId(component.id),
66
- "value": i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createLineNumberTitleValue(component.id), i18nResourceKeyPrefix), component.lineNumberTitle, true)
67
- },
68
- enableEditStateFilterSorting: component.enableEditStateFilterSorting
69
- };
70
- component.fields.forEach((dataGridField) => {
71
- var _a, _b;
72
- const columnEditor = column_editor_manager_1.ColumnEditorManager.create(dataGridField.editor, dataGridField, i18nResourceKeyPrefix);
73
- dataGridParameter.columns.push({
74
- id: dataGridField.id,
75
- resourceId: i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(dataGridField.id, i18nResourceKeyPrefix),
76
- field: dataGridField.dataField,
77
- width: dataGridField.size && dataGridField.size.width ? dataGridField.size.width : undefined,
78
- title: dataGridField.caption,
79
- captionTipContent: dataGridField.captionTipContent,
80
- captionTipContentName: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCaptionTipContentName(component.id, dataGridField.dataField),
81
- captionTipContentResourceId: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridCaptionTipContentLang(dataGridField.id, i18nResourceKeyPrefix),
82
- template: (dataGridField.colTemplate || dataGridField.linkedLabelEnabled) ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, dataGridField.dataField) : undefined,
83
- editor: columnEditor ? this.generateFarrisGridFieldEditor(columnEditor, dataGridField.id, i18nResourceKeyPrefix) : undefined,
84
- editorType: columnEditor ? columnEditor.targetType : undefined,
85
- editorTypeUseQuote: columnEditor ? !!columnEditor.targetTypeUseQuote : undefined,
86
- formatterString: this.generateFarrisGridFormatter(dataGridField, i18nResourceKeyPrefix),
87
- dataType: dataGridField.dataType,
88
- sortable: dataGridField.sortable,
89
- sortOrder: dataGridField.sortOrder,
90
- cellStyler: dataGridField.styler ? dataGridField.styler : undefined,
91
- cellStylerName: dataGridField.styler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellStyleName(component.id, dataGridField.dataField) : undefined,
92
- fixed: this.generateColumnFixed(dataGridField),
93
- level: 0,
94
- validators: this.generateFarrisGridValidateWithField(dataGridField),
95
- align: dataGridField.textAlign,
96
- enableBatchEdit: dataGridField.enableBatchEdit,
97
- hAlign: dataGridField.hAlign,
98
- vAlign: dataGridField.vAlign,
99
- aggregate: dataGridField.aggregate,
100
- aggrTemplateLang: this.generateAggregateLang(dataGridField.id, i18nResourceKeyPrefix, (_a = dataGridField.aggregate) === null || _a === void 0 ? void 0 : _a.aggrTemplate),
101
- groupAggregate: dataGridField.groupAggregate,
102
- groupAggrTemplateLang: this.generateGroupAggregateLang(dataGridField.id, i18nResourceKeyPrefix, (_b = dataGridField.groupAggregate) === null || _b === void 0 ? void 0 : _b.aggrTemplate),
103
- readonly: this.generateReadonly(dataGridField).value,
104
- visible: toolhepler_1.ToolHelper.createBindingWithPosition(dataGridField.visible, true, null, domstructure_1.RunningPositionEnum.List, dataGridField.id).value,
105
- multiLanguage: dataGridField.multiLanguage,
106
- showTips: dataGridField.showTips,
107
- tipMode: dataGridField.tipMode,
108
- tipContent: this.generateFarrisGridTipContent(dataGridField),
109
- enableFilter: dataGridField.enableFilter ? dataGridField.enableFilter : false,
110
- headerStyler: dataGridField.headerStyler ? dataGridField.headerStyler : undefined,
111
- allowGrouping: dataGridField.allowGrouping,
112
- });
113
- });
114
- let convertHeaderGroup;
115
- const houXuanNodeID = "__HOU_XUN_LIE_ID__";
116
- if (component.enableHeaderGroup && toolhepler_1.ToolHelper.isArray(dataGridParameter.headerGroup, false)) {
117
- convertHeaderGroup = dataGridParameter.headerGroup.map((n) => {
118
- if (n.id !== houXuanNodeID) {
119
- if (n.parent && n.parent === houXuanNodeID) {
120
- }
121
- else {
122
- if (n.fieldRef) {
123
- return Object.assign(Object.assign({}, dataGridParameter.columns.find((m) => m.id === n.fieldRef)), { parent: n.parent });
124
- }
125
- else {
126
- if (n) {
127
- n["resourceId"] = i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component.type + "/" + component.id + "/headerGroup/" + n["id"], i18nResourceKeyPrefix);
128
- n["dataType"] = "string";
129
- }
130
- return n;
131
- }
132
- }
133
- }
134
- }).filter((n) => n);
135
- this.convert2TreeNodes(convertHeaderGroup, null, null, -1);
136
- const levelObj = { level: 0 };
137
- this.convert2Array(convertHeaderGroup, levelObj);
138
- dataGridParameter.columns = convertHeaderGroup;
139
- dataGridParameter.maxLevel = levelObj.level;
140
- }
141
- if (component.enableCommandColumn == true || component.enableCommandColumn == "custom") {
142
- const colTemplateName = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, "manage");
143
- let colTemplate;
144
- if (component.enableCommandColumn == true) {
145
- colTemplate = command_column_template_generator_1.CommandColumnTemplateGenerator.generate(component.onEditClicked, component.onDeleteClicked, component.id, i18nResourceKeyPrefix);
146
- }
147
- else if (component.enableCommandColumn == "custom") {
148
- colTemplate = component.customCommandColumnTempl;
149
- }
150
- dataGridParameter.columns.push(this.generateCommandColumn({
151
- component: component,
152
- i18nResourceKeyPrefix: i18nResourceKeyPrefix,
153
- colTemplate: colTemplate,
154
- colTemplateName: colTemplateName,
155
- dataGridParameter: dataGridParameter
156
- }));
157
- }
158
- if (component.sizeApiUri) {
159
- dataGridParameter.sizeApiUri = component.sizeApiUri;
160
- }
161
- dataGridParameter.columns = this.splitArrar(dataGridParameter.columns, dataGridParameter.maxLevel);
162
- farrisDataGridParameters.push(dataGridParameter);
163
- }
164
- }
165
- generateContextMenu(component, externalComponentNameSpace, i18nResourceKeyPrefix) {
166
- const contextMenu = new component_farris_datagrid_contextmenu_parameter_1.ComponentFarrisDataGridContextMenuParameter();
167
- const componentContextMenuItems = component.contextMenuItems;
168
- if (!toolhepler_1.ToolHelper.isArray(componentContextMenuItems)) {
169
- return contextMenu;
170
- }
171
- contextMenu.name = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createContextMenuName(component.id);
172
- const contextMenuItems = [];
173
- contextMenu.menuItems = contextMenuItems;
174
- this.generateContextMenuItemParameter(component.id, component.contextMenuItems, null, externalComponentNameSpace, i18nResourceKeyPrefix, contextMenu.menuItems);
175
- return contextMenu;
176
- }
177
- generateContextMenuItemParameter(dataGridId, contextMenuParameter, parentContextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem) {
178
- if (!contextMenuParameter) {
179
- return;
180
- }
181
- if (toolhepler_1.ToolHelper.isArray(contextMenuParameter)) {
182
- contextMenuParameter.forEach((item) => {
183
- this.generateContextMenuItemParameter(dataGridId, item, parentContextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem);
184
- });
185
- return;
186
- }
187
- const contextMenuItem = new component_farris_datagrid_contextmenu_parameter_1.ComponentFarrisDataGridContextMenuItem();
188
- contextMenuItem.id = contextMenuParameter.id;
189
- contextMenuItem.title = i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createContextMenuItemTitleValue(dataGridId, contextMenuParameter.id), i18nResourceKeyPrefix), contextMenuParameter.title, true);
190
- contextMenuItem.icon = this.generateContextMenuIcon(contextMenuParameter.icon);
191
- contextMenuItem.visible = toolhepler_1.ToolHelper.createBinding(contextMenuParameter.visible, true, externalComponentNameSpace, null);
192
- contextMenuItem.disable = toolhepler_1.ToolHelper.createBinding(contextMenuParameter.disable, false, externalComponentNameSpace, null);
193
- contextMenuItem.click = event_viewModel_modifier_1.EventViewModelModifier.modify(contextMenuParameter.click, false, false, false);
194
- if (parentContextMenuItem) {
195
- parentContextMenuItem.children.push(contextMenuItem);
196
- }
197
- else {
198
- topLevelMenuItem.push(contextMenuItem);
199
- }
200
- if (toolhepler_1.ToolHelper.isArray(contextMenuParameter.children, false)) {
201
- contextMenuParameter.children.forEach((item) => {
202
- this.generateContextMenuItemParameter(dataGridId, item, contextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem);
203
- });
204
- }
205
- }
206
- generateContextMenuIcon(iconParameter) {
207
- if (!iconParameter) {
208
- return "";
209
- }
210
- let generateString = "";
211
- generateString += iconParameter.iconName || "";
212
- if (iconParameter.iconName && iconParameter.iconClass) {
213
- generateString += " ";
214
- }
215
- generateString += iconParameter.iconClass || "";
216
- return generateString;
217
- }
218
- generateReadonly(dataGridField) {
219
- const readonlyValue = toolhepler_1.ToolHelper.createBindingWithPosition(dataGridField.readonly, false, null, domstructure_1.RunningPositionEnum.List, dataGridField.id);
220
- if (readonlyValue.isComposite) {
221
- readonlyValue.value = "this.viewModel.calculateReadonlyByRules(" + JSON.stringify(readonlyValue.value) + ")";
222
- }
223
- return readonlyValue;
224
- }
225
- generateCommandColumn(options) {
226
- const visibleValue = toolhepler_1.ToolHelper.createBindingWithPosition(options.component.showCommandColumn, true, null, domstructure_1.RunningPositionEnum.List, options.component.id).value;
227
- return {
228
- "title": "操作",
229
- "width": options.component.commandColumnWidth ? options.component.commandColumnWidth : 200,
230
- "visible": visibleValue,
231
- "resourceId": i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(options.component.type + "/" + options.component.id + "/OperateColumn", options.i18nResourceKeyPrefix),
232
- "dataType": "string",
233
- "align": "center",
234
- "hAlign": "center",
235
- "colTemplateName": options.colTemplateName,
236
- "enableFilter": false,
237
- "isCommandColumn": true,
238
- "template": options.colTemplateName,
239
- "colTemplate": options.colTemplate,
240
- "fixed": "right",
241
- "rowspan": options.dataGridParameter.maxLevel ? (options.dataGridParameter.maxLevel + 1) : 0,
242
- "level": 0,
243
- "headerStyler": options.component.headerStyler ? options.component.headerStyler : undefined,
244
- "id": options.component.id + "_caozuolie"
245
- };
246
- }
247
- generateAggregateLang(columnId, i18nResourcePrefix, defaultValue) {
248
- const i18nResourceKey = "GridField/" + columnId + "/aggregate";
249
- return i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(i18nResourceKey, i18nResourcePrefix), defaultValue, true);
250
- }
251
- generateGroupAggregateLang(columnId, i18nResourcePrefix, defaultValue) {
252
- const i18nResourceKey = "GridField/" + columnId + "/groupAggregate";
253
- return i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(i18nResourceKey, i18nResourcePrefix), defaultValue, true);
254
- }
255
- generateFarrisGridFieldEditor(editor, datagridFieldId, i18nResourcePrefix) {
256
- if (editor.sourceType == "EnumField" && editor.controlSource != "Farris") {
257
- const enumEditorData = [];
258
- if (toolhepler_1.ToolHelper.isArray(editor.options, false)) {
259
- editor.options.forEach((item) => {
260
- const enumDataFieldLang = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridEnumLang(datagridFieldId, item.value, "GridField");
261
- enumEditorData.push({
262
- "value": item.value,
263
- "name": `${i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(enumDataFieldLang, i18nResourcePrefix), item.name, true)}`
264
- });
265
- });
266
- }
267
- return {
268
- "valueField": "value",
269
- "textField": "name",
270
- "type": editor.sourceType,
271
- "data": enumEditorData,
272
- "readonly": editor.readonly
273
- };
274
- }
275
- else {
276
- if (editor.sourceType == "EnumField" && editor.controlSource == "Farris") {
277
- const tempEditor = editor;
278
- const enumEditorData = [];
279
- const idField = editor.idField;
280
- const textField = editor.textField;
281
- if (toolhepler_1.ToolHelper.isArray(editor.enumData, false)) {
282
- editor.enumData.forEach((item) => {
283
- const enumDataFieldLang = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridEnumLang(datagridFieldId, item[idField], "GridField");
284
- const editDataName = toolhepler_1.ToolHelper.replaceAll(`${i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(enumDataFieldLang, i18nResourcePrefix), item[textField], true)}`, "'", "\"", true);
285
- enumEditorData.push({
286
- value: item[idField],
287
- name: editDataName,
288
- disabled: item.disabled
289
- });
290
- });
291
- }
292
- if (editor.dataSourceType && editor.dataSourceType === "dynamic") {
293
- }
294
- else {
295
- tempEditor.enumData = enumEditorData;
296
- tempEditor.data = enumEditorData;
297
- }
298
- return tempEditor.toString();
299
- }
300
- return editor.toString();
301
- }
302
- }
303
- generateFarrisGridFormatter(dataGridField, i18nResourcePrefix) {
304
- if (dataGridField.localization && dataGridField.localizationType) {
305
- return {
306
- "type": "custom",
307
- "customFormat": `(value, rowData) => { return this.localizationService.localize(value,'${dataGridField.localizationType}'); }`
308
- };
309
- }
310
- if (dataGridField.displayTemplate) {
311
- return dataGridField.displayTemplate;
312
- }
313
- if (dataGridField.formatter && dataGridField.dataType === "number" && dataGridField.formatter.type === "none") {
314
- return "";
315
- }
316
- return datagrid_column_formatter_1.DataGridColumnFormatter.format(dataGridField, dataGridField.id, i18nResourcePrefix, "dataGrid");
317
- }
318
- generateColumnFixed(dataGridField) {
319
- if (!dataGridField || !dataGridField.frozen || dataGridField.frozen == false || dataGridField.frozen == "none") {
320
- return undefined;
321
- }
322
- if (dataGridField.frozen == true || dataGridField.frozen == "true") {
323
- return "right";
324
- }
325
- return dataGridField.frozen;
326
- }
327
- convert2TreeNodes(data, parentId = null, parentNode, level) {
328
- if (data && data.length) {
329
- const nodes = data.filter((v) => v && v.parent === parentId);
330
- if (nodes && toolhepler_1.ToolHelper.isArray(nodes, false)) {
331
- level = level + 1;
332
- nodes.forEach((item) => {
333
- item.level = level;
334
- item.expanded = true;
335
- if (parentNode) {
336
- if (!parentNode.children) {
337
- parentNode.children = [];
338
- }
339
- parentNode.children.push(item);
340
- }
341
- this.convert2TreeNodes(data, item.id, item, level);
342
- });
343
- }
344
- }
345
- }
346
- splitArrar(dataGridParameterColumns, maxLevel = 0) {
347
- const r = [];
348
- for (let i = 0; i <= maxLevel; i++) {
349
- r.push(dataGridParameterColumns.filter((n) => n.level === i).map((n) => {
350
- return n;
351
- }));
352
- }
353
- return r;
354
- }
355
- convert2Array(treeNodes, levelObj) {
356
- const maxBy = (arr, fn) => Math.max(...arr.map(typeof fn === 'function' ? fn : (val) => val[fn]));
357
- const maxlevel = maxBy(treeNodes, (n) => n && n.level);
358
- levelObj.level = maxlevel;
359
- for (let i = 0; i <= maxlevel; i++) {
360
- treeNodes.filter(n => n && n.level === i).map(n => {
361
- const data = n;
362
- n.colspan = toolhepler_1.ToolHelper.isNullOrUndefined(n.colspan) == false ? n.colspan : ((n.children ? n.children.length : 1) || 1);
363
- n.rowspan = toolhepler_1.ToolHelper.isNullOrUndefined(n.rowspan) == false ? n.rowspan : ((n.children && n.children.length > 0) ? 1 : (maxlevel - n.level + 1));
364
- n.title = data.caption ? data.caption : n.title;
365
- n.hAlign = data.halign ? data.halign : n.hAlign;
366
- n.align = data.align ? data.align : n.align;
367
- n.width = data.size ? data.size.width : n.width;
368
- });
369
- }
370
- }
371
- generateFarrisGridValidateWithField(field) {
372
- const fieldValidator = [];
373
- if (field) {
374
- if (field.editor && field.editor.require) {
375
- fieldValidator.push({
376
- type: "required",
377
- "message": "该字段不能为空!"
378
- });
379
- }
380
- }
381
- return fieldValidator;
382
- }
383
- generateFarrisGridTipContent(dataGridField) {
384
- if (dataGridField.showTips == true && (!dataGridField.tipContent || dataGridField.tipContent.trim().length == 0)) {
385
- logger_helper_1.LoggerHelper.log(`farris-grid column ${dataGridField.caption} has none tipContent`, logger_level_1.LoggerLevel.Warning);
386
- }
387
- return dataGridField.showTips ? dataGridField.tipContent : undefined;
388
- }
389
- }
390
- exports.FarrisDataGridCollector = FarrisDataGridCollector;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FarrisDataGridCollector = void 0;
4
+ const abstract_component_parameter_collector_1 = require("./abstract-component-parameter-collector");
5
+ const component_farris_datagrid_parameter_1 = require("../component-farris-datagrid-parameter");
6
+ const i18n_resource_manager_1 = require("../../i18n/i18n-resource-manager");
7
+ const column_editor_manager_1 = require("../../farris-datagrid/column-editor-manager");
8
+ const toolhepler_1 = require("../../toolhepler");
9
+ const datagrid_column_formatter_1 = require("../../farris-datagrid/datagrid-column-formatter");
10
+ const command_column_template_generator_1 = require("../../farris-datagrid/command-column-template-generator");
11
+ const logger_level_1 = require("../../logger/logger-level");
12
+ const logger_helper_1 = require("../../logger/logger-helper");
13
+ const devkit_constant_1 = require("../devkit-constant");
14
+ const domstructure_1 = require("../../../domstructure");
15
+ const component_farris_datagrid_contextmenu_parameter_1 = require("../component-farris-datagrid-contextmenu-parameter");
16
+ const event_viewModel_modifier_1 = require("../../event-viewModel-modifier");
17
+ class FarrisDataGridCollector extends abstract_component_parameter_collector_1.AbstractComponentParameterCollector {
18
+ collect(value, options) {
19
+ const farrisDataGridParameters = [];
20
+ this.collectFarritDataGridParameter(value, farrisDataGridParameters, options ? options.i18nResourcePrefix : undefined, options === null || options === void 0 ? void 0 : options.externalComponentNameSpace);
21
+ return farrisDataGridParameters;
22
+ }
23
+ collectFarritDataGridParameter(component, farrisDataGridParameters, i18nResourceKeyPrefix, externalComponentNameSpace) {
24
+ const contents = component.contents;
25
+ if (contents && contents.length) {
26
+ contents.forEach((element) => {
27
+ this.collectFarritDataGridParameter(element, farrisDataGridParameters, i18nResourceKeyPrefix, externalComponentNameSpace);
28
+ });
29
+ }
30
+ if (component && component.type == devkit_constant_1.DevkitConstant.DataGridType && component.controlSource == devkit_constant_1.DevkitConstant.ControlSourceFarris) {
31
+ const dataGridParameter = {
32
+ id: component.id,
33
+ columnsName: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createColumnName(component.id),
34
+ columns: [],
35
+ rowStyler: component.styler,
36
+ rowStylerName: component.styler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createRowStyleName(component.id) : undefined,
37
+ footerStyler: component.footerStyler,
38
+ footerStylerName: component.footerStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createFooterStyleName(component.id) : undefined,
39
+ selectedItemFormatter: component.selectedItemFormatter,
40
+ selectedItemFormatterName: component.selectedItemFormatter ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createSelectedItemFormatterName(component.id) : undefined,
41
+ disableRow: component.disableRow,
42
+ disableRowName: component.disableRow ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createDisableRowName(component.id) : undefined,
43
+ cellStyler: component.cellStyler,
44
+ cellStylerName: component.cellStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellStyleName(component.id, "cellStyler") : undefined,
45
+ dataGridID: component.id,
46
+ showFooter: component.showFooter,
47
+ footerTemplate: component.footerTemplate,
48
+ footerTemplateName: component.footerTemplate ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, "footer") : undefined,
49
+ footerHeight: component.footerHeight || 46,
50
+ groupFormatter: component.groupFormatter,
51
+ groupFormatterName: component.groupFormatter ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupRowFormatterName(component.id) : undefined,
52
+ groupTotalText: {
53
+ "id": component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupTotalTextName(component.id),
54
+ "value": i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupTotalTextValue(component.id), i18nResourceKeyPrefix), component.groupTotalText, true)
55
+ },
56
+ groupStyler: component.groupStyler,
57
+ groupStylerName: component.groupStyler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGroupStylerName(component.id) : undefined,
58
+ enableHeaderGroup: component.enableHeaderGroup,
59
+ headerGroup: component.enableHeaderGroup && component.headerGroup ? component.headerGroup : undefined,
60
+ maxLevel: 0,
61
+ elementId: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createElementId(component.id),
62
+ beforeEdit: component.beforeEdit,
63
+ contextMenu: this.generateContextMenu(component, externalComponentNameSpace, i18nResourceKeyPrefix),
64
+ lineNumberTitle: {
65
+ "id": component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createLineNumberTitleId(component.id),
66
+ "value": i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createLineNumberTitleValue(component.id), i18nResourceKeyPrefix), component.lineNumberTitle, true)
67
+ },
68
+ enableEditStateFilterSorting: component.enableEditStateFilterSorting
69
+ };
70
+ component.fields.forEach((dataGridField) => {
71
+ var _a, _b;
72
+ const columnEditor = column_editor_manager_1.ColumnEditorManager.create(dataGridField.editor, dataGridField, i18nResourceKeyPrefix);
73
+ dataGridParameter.columns.push({
74
+ id: dataGridField.id,
75
+ resourceId: i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(dataGridField.id, i18nResourceKeyPrefix),
76
+ field: dataGridField.dataField,
77
+ width: dataGridField.size && dataGridField.size.width ? dataGridField.size.width : undefined,
78
+ title: dataGridField.caption,
79
+ captionTipContent: dataGridField.captionTipContent,
80
+ captionTipContentName: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCaptionTipContentName(component.id, dataGridField.dataField),
81
+ captionTipContentResourceId: component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridCaptionTipContentLang(dataGridField.id, i18nResourceKeyPrefix),
82
+ template: (dataGridField.colTemplate || dataGridField.linkedLabelEnabled) ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, dataGridField.dataField) : undefined,
83
+ editor: columnEditor ? this.generateFarrisGridFieldEditor(columnEditor, dataGridField.id, i18nResourceKeyPrefix) : undefined,
84
+ editorType: columnEditor ? columnEditor.targetType : undefined,
85
+ editorTypeUseQuote: columnEditor ? !!columnEditor.targetTypeUseQuote : undefined,
86
+ formatterString: this.generateFarrisGridFormatter(dataGridField, i18nResourceKeyPrefix),
87
+ dataType: dataGridField.dataType,
88
+ sortable: dataGridField.sortable,
89
+ sortOrder: dataGridField.sortOrder,
90
+ cellStyler: dataGridField.styler ? dataGridField.styler : undefined,
91
+ cellStylerName: dataGridField.styler ? component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellStyleName(component.id, dataGridField.dataField) : undefined,
92
+ fixed: this.generateColumnFixed(dataGridField),
93
+ level: 0,
94
+ validators: this.generateFarrisGridValidateWithField(dataGridField),
95
+ align: dataGridField.textAlign,
96
+ enableBatchEdit: dataGridField.enableBatchEdit,
97
+ hAlign: dataGridField.hAlign,
98
+ vAlign: dataGridField.vAlign,
99
+ aggregate: dataGridField.aggregate,
100
+ aggrTemplateLang: this.generateAggregateLang(dataGridField.id, i18nResourceKeyPrefix, (_a = dataGridField.aggregate) === null || _a === void 0 ? void 0 : _a.aggrTemplate),
101
+ groupAggregate: dataGridField.groupAggregate,
102
+ groupAggrTemplateLang: this.generateGroupAggregateLang(dataGridField.id, i18nResourceKeyPrefix, (_b = dataGridField.groupAggregate) === null || _b === void 0 ? void 0 : _b.aggrTemplate),
103
+ readonly: this.generateReadonly(dataGridField).value,
104
+ visible: toolhepler_1.ToolHelper.createBindingWithPosition(dataGridField.visible, true, null, domstructure_1.RunningPositionEnum.List, dataGridField.id).value,
105
+ multiLanguage: dataGridField.multiLanguage,
106
+ showTips: dataGridField.showTips,
107
+ tipMode: dataGridField.tipMode,
108
+ tipContent: this.generateFarrisGridTipContent(dataGridField),
109
+ enableFilter: dataGridField.enableFilter ? dataGridField.enableFilter : false,
110
+ headerStyler: dataGridField.headerStyler ? dataGridField.headerStyler : undefined,
111
+ allowGrouping: dataGridField.allowGrouping,
112
+ });
113
+ });
114
+ let convertHeaderGroup;
115
+ const houXuanNodeID = "__HOU_XUN_LIE_ID__";
116
+ if (component.enableHeaderGroup && toolhepler_1.ToolHelper.isArray(dataGridParameter.headerGroup, false)) {
117
+ convertHeaderGroup = dataGridParameter.headerGroup.map((n) => {
118
+ if (n.id !== houXuanNodeID) {
119
+ if (n.parent && n.parent === houXuanNodeID) {
120
+ }
121
+ else {
122
+ if (n.fieldRef) {
123
+ return Object.assign(Object.assign({}, dataGridParameter.columns.find((m) => m.id === n.fieldRef)), { parent: n.parent });
124
+ }
125
+ else {
126
+ if (n) {
127
+ n["resourceId"] = i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component.type + "/" + component.id + "/headerGroup/" + n["id"], i18nResourceKeyPrefix);
128
+ n["dataType"] = "string";
129
+ }
130
+ return n;
131
+ }
132
+ }
133
+ }
134
+ }).filter((n) => n);
135
+ this.convert2TreeNodes(convertHeaderGroup, null, null, -1);
136
+ const levelObj = { level: 0 };
137
+ this.convert2Array(convertHeaderGroup, levelObj);
138
+ dataGridParameter.columns = convertHeaderGroup;
139
+ dataGridParameter.maxLevel = levelObj.level;
140
+ }
141
+ if (component.enableCommandColumn == true || component.enableCommandColumn == "custom") {
142
+ const colTemplateName = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createCellTemplateName(component.id, "manage");
143
+ let colTemplate;
144
+ if (component.enableCommandColumn == true) {
145
+ colTemplate = command_column_template_generator_1.CommandColumnTemplateGenerator.generate(component.onEditClicked, component.onDeleteClicked, component.id, i18nResourceKeyPrefix);
146
+ }
147
+ else if (component.enableCommandColumn == "custom") {
148
+ colTemplate = component.customCommandColumnTempl;
149
+ }
150
+ dataGridParameter.columns.push(this.generateCommandColumn({
151
+ component: component,
152
+ i18nResourceKeyPrefix: i18nResourceKeyPrefix,
153
+ colTemplate: colTemplate,
154
+ colTemplateName: colTemplateName,
155
+ dataGridParameter: dataGridParameter
156
+ }));
157
+ }
158
+ if (component.sizeApiUri) {
159
+ dataGridParameter.sizeApiUri = component.sizeApiUri;
160
+ }
161
+ dataGridParameter.columns = this.splitArrar(dataGridParameter.columns, dataGridParameter.maxLevel);
162
+ farrisDataGridParameters.push(dataGridParameter);
163
+ }
164
+ }
165
+ generateContextMenu(component, externalComponentNameSpace, i18nResourceKeyPrefix) {
166
+ const contextMenu = new component_farris_datagrid_contextmenu_parameter_1.ComponentFarrisDataGridContextMenuParameter();
167
+ const componentContextMenuItems = component.contextMenuItems;
168
+ if (!toolhepler_1.ToolHelper.isArray(componentContextMenuItems)) {
169
+ return contextMenu;
170
+ }
171
+ contextMenu.name = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createContextMenuName(component.id);
172
+ const contextMenuItems = [];
173
+ contextMenu.menuItems = contextMenuItems;
174
+ this.generateContextMenuItemParameter(component.id, component.contextMenuItems, null, externalComponentNameSpace, i18nResourceKeyPrefix, contextMenu.menuItems);
175
+ return contextMenu;
176
+ }
177
+ generateContextMenuItemParameter(dataGridId, contextMenuParameter, parentContextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem) {
178
+ if (!contextMenuParameter) {
179
+ return;
180
+ }
181
+ if (toolhepler_1.ToolHelper.isArray(contextMenuParameter)) {
182
+ contextMenuParameter.forEach((item) => {
183
+ this.generateContextMenuItemParameter(dataGridId, item, parentContextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem);
184
+ });
185
+ return;
186
+ }
187
+ const contextMenuItem = new component_farris_datagrid_contextmenu_parameter_1.ComponentFarrisDataGridContextMenuItem();
188
+ contextMenuItem.id = contextMenuParameter.id;
189
+ contextMenuItem.title = i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createContextMenuItemTitleValue(dataGridId, contextMenuParameter.id), i18nResourceKeyPrefix), contextMenuParameter.title, true);
190
+ contextMenuItem.icon = this.generateContextMenuIcon(contextMenuParameter.icon);
191
+ contextMenuItem.visible = toolhepler_1.ToolHelper.createBinding(contextMenuParameter.visible, true, externalComponentNameSpace, null);
192
+ contextMenuItem.disable = toolhepler_1.ToolHelper.createBinding(contextMenuParameter.disable, false, externalComponentNameSpace, null);
193
+ contextMenuItem.click = event_viewModel_modifier_1.EventViewModelModifier.modify(contextMenuParameter.click, false, false, false);
194
+ if (parentContextMenuItem) {
195
+ parentContextMenuItem.children.push(contextMenuItem);
196
+ }
197
+ else {
198
+ topLevelMenuItem.push(contextMenuItem);
199
+ }
200
+ if (toolhepler_1.ToolHelper.isArray(contextMenuParameter.children, false)) {
201
+ contextMenuParameter.children.forEach((item) => {
202
+ this.generateContextMenuItemParameter(dataGridId, item, contextMenuItem, externalComponentNameSpace, i18nResourceKeyPrefix, topLevelMenuItem);
203
+ });
204
+ }
205
+ }
206
+ generateContextMenuIcon(iconParameter) {
207
+ if (!iconParameter) {
208
+ return "";
209
+ }
210
+ let generateString = "";
211
+ generateString += iconParameter.iconName || "";
212
+ if (iconParameter.iconName && iconParameter.iconClass) {
213
+ generateString += " ";
214
+ }
215
+ generateString += iconParameter.iconClass || "";
216
+ return generateString;
217
+ }
218
+ generateReadonly(dataGridField) {
219
+ const readonlyValue = toolhepler_1.ToolHelper.createBindingWithPosition(dataGridField.readonly, false, null, domstructure_1.RunningPositionEnum.List, dataGridField.id);
220
+ if (readonlyValue.isComposite) {
221
+ readonlyValue.value = "this.viewModel.calculateReadonlyByRules(" + JSON.stringify(readonlyValue.value) + ")";
222
+ }
223
+ return readonlyValue;
224
+ }
225
+ generateCommandColumn(options) {
226
+ const visibleValue = toolhepler_1.ToolHelper.createBindingWithPosition(options.component.showCommandColumn, true, null, domstructure_1.RunningPositionEnum.List, options.component.id).value;
227
+ return {
228
+ "title": "操作",
229
+ "width": options.component.commandColumnWidth ? options.component.commandColumnWidth : 200,
230
+ "visible": visibleValue,
231
+ "resourceId": i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(options.component.type + "/" + options.component.id + "/OperateColumn", options.i18nResourceKeyPrefix),
232
+ "dataType": "string",
233
+ "align": "center",
234
+ "hAlign": "center",
235
+ "colTemplateName": options.colTemplateName,
236
+ "enableFilter": false,
237
+ "isCommandColumn": true,
238
+ "template": options.colTemplateName,
239
+ "colTemplate": options.colTemplate,
240
+ "fixed": "right",
241
+ "rowspan": options.dataGridParameter.maxLevel ? (options.dataGridParameter.maxLevel + 1) : 0,
242
+ "level": 0,
243
+ "headerStyler": options.component.headerStyler ? options.component.headerStyler : undefined,
244
+ "id": options.component.id + "_caozuolie"
245
+ };
246
+ }
247
+ generateAggregateLang(columnId, i18nResourcePrefix, defaultValue) {
248
+ const i18nResourceKey = "GridField/" + columnId + "/aggregate";
249
+ return i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(i18nResourceKey, i18nResourcePrefix), defaultValue, true);
250
+ }
251
+ generateGroupAggregateLang(columnId, i18nResourcePrefix, defaultValue) {
252
+ const i18nResourceKey = "GridField/" + columnId + "/groupAggregate";
253
+ return i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(i18nResourceKey, i18nResourcePrefix), defaultValue, true);
254
+ }
255
+ generateFarrisGridFieldEditor(editor, datagridFieldId, i18nResourcePrefix) {
256
+ if (editor.sourceType == "EnumField" && editor.controlSource != "Farris") {
257
+ const enumEditorData = [];
258
+ if (toolhepler_1.ToolHelper.isArray(editor.options, false)) {
259
+ editor.options.forEach((item) => {
260
+ const enumDataFieldLang = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridEnumLang(datagridFieldId, item.value, "GridField");
261
+ enumEditorData.push({
262
+ "value": item.value,
263
+ "name": `${i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(enumDataFieldLang, i18nResourcePrefix), item.name, true)}`
264
+ });
265
+ });
266
+ }
267
+ return {
268
+ "valueField": "value",
269
+ "textField": "name",
270
+ "type": editor.sourceType,
271
+ "data": enumEditorData,
272
+ "readonly": editor.readonly
273
+ };
274
+ }
275
+ else {
276
+ if (editor.sourceType == "EnumField" && editor.controlSource == "Farris") {
277
+ const tempEditor = editor;
278
+ const enumEditorData = [];
279
+ const idField = editor.idField;
280
+ const textField = editor.textField;
281
+ if (toolhepler_1.ToolHelper.isArray(editor.enumData, false)) {
282
+ editor.enumData.forEach((item) => {
283
+ const enumDataFieldLang = component_farris_datagrid_parameter_1.ComponentFarrisDataGridCreator.createGridEnumLang(datagridFieldId, item[idField], "GridField");
284
+ const editDataName = toolhepler_1.ToolHelper.replaceAll(`${i18n_resource_manager_1.I18nResourceManager.generateI18nState(i18n_resource_manager_1.I18nResourceManager.generateI18nResourceId(enumDataFieldLang, i18nResourcePrefix), item[textField], true)}`, "'", "\"", true);
285
+ enumEditorData.push({
286
+ value: item[idField],
287
+ name: editDataName,
288
+ disabled: item.disabled
289
+ });
290
+ });
291
+ }
292
+ if (editor.dataSourceType && editor.dataSourceType === "dynamic") {
293
+ }
294
+ else {
295
+ tempEditor.enumData = enumEditorData;
296
+ tempEditor.data = enumEditorData;
297
+ }
298
+ return tempEditor.toString();
299
+ }
300
+ return editor.toString();
301
+ }
302
+ }
303
+ generateFarrisGridFormatter(dataGridField, i18nResourcePrefix) {
304
+ if (dataGridField.localization && dataGridField.localizationType) {
305
+ return {
306
+ "type": "custom",
307
+ "customFormat": `(value, rowData) => { return this.localizationService.localize(value,'${dataGridField.localizationType}'); }`
308
+ };
309
+ }
310
+ if (dataGridField.displayTemplate) {
311
+ return dataGridField.displayTemplate;
312
+ }
313
+ if (dataGridField.formatter && dataGridField.dataType === "number" && dataGridField.formatter.type === "none") {
314
+ return "";
315
+ }
316
+ return datagrid_column_formatter_1.DataGridColumnFormatter.format(dataGridField, dataGridField.id, i18nResourcePrefix, "dataGrid");
317
+ }
318
+ generateColumnFixed(dataGridField) {
319
+ if (!dataGridField || !dataGridField.frozen || dataGridField.frozen == false || dataGridField.frozen == "none") {
320
+ return undefined;
321
+ }
322
+ if (dataGridField.frozen == true || dataGridField.frozen == "true") {
323
+ return "right";
324
+ }
325
+ return dataGridField.frozen;
326
+ }
327
+ convert2TreeNodes(data, parentId = null, parentNode, level) {
328
+ if (data && data.length) {
329
+ const nodes = data.filter((v) => v && v.parent === parentId);
330
+ if (nodes && toolhepler_1.ToolHelper.isArray(nodes, false)) {
331
+ level = level + 1;
332
+ nodes.forEach((item) => {
333
+ item.level = level;
334
+ item.expanded = true;
335
+ if (parentNode) {
336
+ if (!parentNode.children) {
337
+ parentNode.children = [];
338
+ }
339
+ parentNode.children.push(item);
340
+ }
341
+ this.convert2TreeNodes(data, item.id, item, level);
342
+ });
343
+ }
344
+ }
345
+ }
346
+ splitArrar(dataGridParameterColumns, maxLevel = 0) {
347
+ const r = [];
348
+ for (let i = 0; i <= maxLevel; i++) {
349
+ r.push(dataGridParameterColumns.filter((n) => n.level === i).map((n) => {
350
+ return n;
351
+ }));
352
+ }
353
+ return r;
354
+ }
355
+ convert2Array(treeNodes, levelObj) {
356
+ const maxBy = (arr, fn) => Math.max(...arr.map(typeof fn === 'function' ? fn : (val) => val[fn]));
357
+ const maxlevel = maxBy(treeNodes, (n) => n && n.level);
358
+ levelObj.level = maxlevel;
359
+ for (let i = 0; i <= maxlevel; i++) {
360
+ treeNodes.filter(n => n && n.level === i).map(n => {
361
+ const data = n;
362
+ n.colspan = toolhepler_1.ToolHelper.isNullOrUndefined(n.colspan) == false ? n.colspan : ((n.children ? n.children.length : 1) || 1);
363
+ n.rowspan = toolhepler_1.ToolHelper.isNullOrUndefined(n.rowspan) == false ? n.rowspan : ((n.children && n.children.length > 0) ? 1 : (maxlevel - n.level + 1));
364
+ n.title = data.caption ? data.caption : n.title;
365
+ n.hAlign = data.halign ? data.halign : n.hAlign;
366
+ n.align = data.align ? data.align : n.align;
367
+ n.width = data.size ? data.size.width : n.width;
368
+ });
369
+ }
370
+ }
371
+ generateFarrisGridValidateWithField(field) {
372
+ const fieldValidator = [];
373
+ if (field) {
374
+ if (field.editor && field.editor.require) {
375
+ if (!(field.editor.require.type && field.editor.require.type === "Expression")) {
376
+ fieldValidator.push({
377
+ type: "required",
378
+ "message": "该字段不能为空!"
379
+ });
380
+ }
381
+ }
382
+ }
383
+ return fieldValidator;
384
+ }
385
+ generateFarrisGridTipContent(dataGridField) {
386
+ if (dataGridField.showTips == true && (!dataGridField.tipContent || dataGridField.tipContent.trim().length == 0)) {
387
+ logger_helper_1.LoggerHelper.log(`farris-grid column ${dataGridField.caption} has none tipContent`, logger_level_1.LoggerLevel.Warning);
388
+ }
389
+ return dataGridField.showTips ? dataGridField.tipContent : undefined;
390
+ }
391
+ }
392
+ exports.FarrisDataGridCollector = FarrisDataGridCollector;
391
393
  //# sourceMappingURL=farris-datagrid-collector.js.map