ru.coon 2.7.70 → 2.7.72
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/CHANGELOG.md +20 -0
- package/package.json +1 -1
- package/src/Function.js +20 -18
- package/src/common/component/editor/CharacteristicGridEditor.js +1 -1
- package/src/common/component/editor/creators/NoteEditorCreator.js +25 -17
- package/src/report/component/reportpanel/NorthPanel.js +2 -2
- package/src/report/component/reportpanel/NorthPanel.scss +55 -0
- package/src/report/component/reportpanel/ReportGrid.scss +16 -1
- package/src/report/plugin/configPanel/ExportReportDataToFilePluginConfigPanel.js +4 -4
- package/src/report/plugin/grid/ExportReportDataToFilePlugin.js +6 -6
- package/src/report/plugin/grid/OpenCustomPanelButtonPlugin.js +14 -11
- package/src/research/command/GetUiStructure.js +4 -0
- package/src/uielement/plugin/AddDoInitSupportPlugin.js +6 -0
- package/src/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# Version 2.7.72, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/3f8a4ef311ec96763166dbe8024b538f84ef3059)
|
|
2
|
+
* ## Fixes
|
|
3
|
+
* <span style='color:red'> BFL-15221 NoteEditorCreator save char</span> ([f84fbe], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/f84fbe281e0bc8a0b63f1ebc0e7f99ef6bc13703))
|
|
4
|
+
* <span style='color:red'> BFL-15221 NoteEditorCreator save char</span> ([867ac3], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/867ac3aae8286bdaeb28cbdb6621835c64b46e02))
|
|
5
|
+
* <span style='color:red'> BFL-15221 NoteEditorCreator save char</span> ([763e5e], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/763e5e9698c48152030d556b70e7118c8f9fbef6))
|
|
6
|
+
* <span style='color:red'> HT-9812 ExportReportToData mini refactoring</span> ([587848], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/587848edd5af1f741ddc7955c01fc9f5b8a15b84))
|
|
7
|
+
|
|
8
|
+
* refactoring Coon.Function.executeComponentDoInit, OpenCustomPanelButtonPlugin ([257c38], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/257c38fc91c1c8eff31848d28e63e1d63d423a6c))
|
|
9
|
+
* update: CHANGELOG.md ([92e4c7], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/92e4c7496c4a5a87501a676805165c328272c1f8))
|
|
10
|
+
|
|
11
|
+
# Version 2.7.71, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/71f09381b29db031d26baa580e8c18fc436a5a81)
|
|
12
|
+
* ## Fixes
|
|
13
|
+
* <span style='color:red'>fix GetUIStructure
|
|
14
|
+
feat CharacteristicGridEditor: add toolbarItems property</span> ([f17c77], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/f17c77399b0837727f61ef30e480988bec05ad6b))
|
|
15
|
+
|
|
16
|
+
* update: CHANGELOG.md ([33ad55], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/33ad5587e168875b0d301cea8534201f4d45e972))
|
|
17
|
+
|
|
1
18
|
# Version 2.7.70, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/59a687854e0184fdab48da4903012073767af558)
|
|
2
19
|
* update: CHANGELOG.md ([2e7e20], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/2e7e206f80da14f38108122ade650952c40ba565))
|
|
3
20
|
|
|
@@ -6,6 +23,7 @@
|
|
|
6
23
|
* <span style='color:red'> PropertyDataParser.js : check if node is object before generating id.</span> ([e40912], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/e409122912b679d8c5dcf41d57f9e031f96cf1b7))
|
|
7
24
|
|
|
8
25
|
* TR-69409 Добавить возможность в ExecuteCommandPlugin выводить подтверждающее сообщение как Ext.toast ([524553], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/524553f5861fc4438f800edbe4bb92ede80ccdf4))
|
|
26
|
+
* HT-9896 Нет разделителей у верхних групп заголовков отчета ([f680da], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/f680daf403af3e77743264972ccbae1f9e578701))
|
|
9
27
|
* update: CHANGELOG.md ([9064f2], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/9064f2d31af96906452b2d8e8d9818f7b85831e8))
|
|
10
28
|
|
|
11
29
|
# Version 2.7.68, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/474af33a28e0c286c4e3d7e2b85eda7f2af80211)
|
|
@@ -26,6 +44,7 @@
|
|
|
26
44
|
|
|
27
45
|
* remove getCircularReplacer ([9fea84], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/9fea8459fda6fd3fcaa5889828cf4cd0b6f509a7))
|
|
28
46
|
* HT-9879 fix: Исправление OpenURLButtonPlugin в части проверки наличия в url знака вопроса ([56a5db], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/56a5db0b7084db2439e67f3c1eb9b6c0dab8539b))
|
|
47
|
+
* TR-68836 feat: Доработки по оформлению UI-элементов ([c20de4], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/c20de44ef7c46753eb37b3e6c6e18cb56a352f2a))
|
|
29
48
|
* update: CHANGELOG.md ([107df2], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/107df2d447bec0a2698a306cbb1ac3b5093bed74))
|
|
30
49
|
|
|
31
50
|
# Version 2.7.65, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/575aaa8ea4982726ce21f98300e95aa55ecbb906)
|
|
@@ -229,6 +248,7 @@ fix: restore version of custom panel in editor</span> ([53a300], [link](http://g
|
|
|
229
248
|
* ## Fixes
|
|
230
249
|
* <span style='color:red'> Remove scrollbar visibility && revert menu width. Related to HT-9095.</span> ([acc197], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/acc1977f32526ee7b49c8d60f95af9ed1d87faf1))
|
|
231
250
|
* <span style='color:red'> HT-9208 submit button disabled until file is selected</span> ([c55498], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/c55498ff17153280cfc025f435eea7acf4be8b0c))
|
|
251
|
+
* <span style='color:red'> HT-9272 ExportReportDataToFilePlugin add property exportAllRows</span> ([b6de17], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/b6de17fbd7687720d45595ba372669b076176e3f))
|
|
232
252
|
|
|
233
253
|
* update: CHANGELOG.md ([c4f6c0], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/c4f6c05b996abea0c49849086c9aef2a4c9e2e6b))
|
|
234
254
|
|
package/package.json
CHANGED
package/src/Function.js
CHANGED
|
@@ -491,26 +491,28 @@ Ext.define('Coon.Function', {
|
|
|
491
491
|
return result;
|
|
492
492
|
},
|
|
493
493
|
|
|
494
|
-
executeComponentDoInit: function(component, parameters) {
|
|
495
|
-
|
|
496
|
-
|
|
494
|
+
executeComponentDoInit: function(component, parameters = {}) {
|
|
495
|
+
if (!component) {
|
|
496
|
+
Coon.log.error('Coon.Function.executeComponentDoInit error: component cant be empty');
|
|
497
|
+
return false;
|
|
498
|
+
}
|
|
499
|
+
const scope = typeof component.getController === 'function' &&
|
|
497
500
|
component.getController() || component;
|
|
498
|
-
if (
|
|
499
|
-
|
|
500
|
-
const p = parameters || [];
|
|
501
|
-
const pObject = parameters || {};
|
|
502
|
-
if (Ext.isFunction(appropriateToInit.inputParameters)) {
|
|
503
|
-
Ext.each(appropriateToInit.inputParameters(), function(field) {
|
|
504
|
-
const parameterName = field.name;
|
|
505
|
-
const parameterValue = p[parameterName];
|
|
506
|
-
initArguments.push(parameterValue);
|
|
507
|
-
pObject[parameterName] = parameterValue;
|
|
508
|
-
});
|
|
509
|
-
}
|
|
510
|
-
appropriateToInit.doInit.apply(appropriateToInit, initArguments);
|
|
511
|
-
return pObject;
|
|
501
|
+
if (typeof scope.doInit !== 'function') {
|
|
502
|
+
return false;
|
|
512
503
|
}
|
|
513
|
-
|
|
504
|
+
const inputParameters = typeof scope.inputParameters === 'function' &&
|
|
505
|
+
Array.isArray(scope.inputParameters()) &&
|
|
506
|
+
scope.inputParameters() ||
|
|
507
|
+
[];
|
|
508
|
+
const args = inputParameters.reduce((acc, {name}) => {
|
|
509
|
+
if (typeof name === 'string' && name) {
|
|
510
|
+
acc.push(parameters[name]);
|
|
511
|
+
}
|
|
512
|
+
return acc;
|
|
513
|
+
}, []);
|
|
514
|
+
scope.doInit.apply(scope, args);
|
|
515
|
+
return parameters;
|
|
514
516
|
},
|
|
515
517
|
|
|
516
518
|
getDecimalSeparator: function() {
|
|
@@ -74,7 +74,7 @@ Ext.define('Coon.common.component.editor.CharacteristicGridEditor', {
|
|
|
74
74
|
this.tbar = {
|
|
75
75
|
xtype: 'toolbar',
|
|
76
76
|
overflowHandler: 'menu',
|
|
77
|
-
items: this.tbarItems,
|
|
77
|
+
items: (this.tbarItems || []).concat(this.toolbarItems || []),
|
|
78
78
|
layout: {
|
|
79
79
|
type: 'hbox',
|
|
80
80
|
align: 'stretch',
|
|
@@ -3,13 +3,12 @@ Ext.define('Coon.common.component.editor.creators.NoteEditorCreator', {
|
|
|
3
3
|
alias: 'widget.NoteEditorCreator',
|
|
4
4
|
xtype: 'NoteEditorCreator',
|
|
5
5
|
createField: function(record, parent) {
|
|
6
|
-
const ns = Coon.report.model.CharacteristicBeanFields;
|
|
7
6
|
this.field = Ext.create(Ext.apply({
|
|
8
7
|
xtype: 'OpenDialogField',
|
|
9
8
|
dialogForm: this.showPanel(record, parent),
|
|
10
9
|
getValue: this.getValue,
|
|
11
|
-
noteID: record.get(
|
|
12
|
-
text: record.get(
|
|
10
|
+
noteID: record.get('value'),
|
|
11
|
+
text: record.get('valueDescription'),
|
|
13
12
|
setVisibleValue: function(visibleValue) {
|
|
14
13
|
this.visibleValue = visibleValue;
|
|
15
14
|
},
|
|
@@ -21,10 +20,7 @@ Ext.define('Coon.common.component.editor.creators.NoteEditorCreator', {
|
|
|
21
20
|
},
|
|
22
21
|
|
|
23
22
|
showPanel: function(record, parent) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.noteID = record.get(ns.$value);
|
|
27
|
-
this.text = record.get(ns.$valueDescription);
|
|
23
|
+
this.noteID = record.get('value');
|
|
28
24
|
this.textField = Ext.create({
|
|
29
25
|
xtype: 'textarea',
|
|
30
26
|
width: '99%',
|
|
@@ -58,7 +54,9 @@ Ext.define('Coon.common.component.editor.creators.NoteEditorCreator', {
|
|
|
58
54
|
xtype: 'button',
|
|
59
55
|
ui: 'orange-button',
|
|
60
56
|
text: 'Сохранить',
|
|
61
|
-
handler:
|
|
57
|
+
handler: function() {
|
|
58
|
+
this.saveValue(record, parent);
|
|
59
|
+
}.bind(this),
|
|
62
60
|
},
|
|
63
61
|
{
|
|
64
62
|
xtype: 'button',
|
|
@@ -71,33 +69,43 @@ Ext.define('Coon.common.component.editor.creators.NoteEditorCreator', {
|
|
|
71
69
|
],
|
|
72
70
|
}],
|
|
73
71
|
|
|
74
|
-
title: 'Редактирование характеристики ' + record.get(
|
|
72
|
+
title: 'Редактирование характеристики ' + record.get('typeDescription'),
|
|
75
73
|
});
|
|
76
|
-
this.win.on('setValue', function() {
|
|
77
|
-
record.set(ns.$value, this.textField.getValue().trim() ? this.getValue() : '');
|
|
78
|
-
record.set(ns.$valueDescription, this.textField.getValue());
|
|
79
|
-
this.win.close();
|
|
80
|
-
}, this);
|
|
81
74
|
return this.win;
|
|
82
75
|
},
|
|
83
76
|
|
|
84
|
-
saveValue: function() {
|
|
77
|
+
saveValue: function(record, parent) {
|
|
85
78
|
if (!this.textField.validate()) {
|
|
86
79
|
return;
|
|
87
80
|
}
|
|
88
81
|
if (Ext.isEmpty(this.textField.getValue().trim())) {
|
|
89
82
|
this.noteID = '';
|
|
90
|
-
this.
|
|
83
|
+
this.setValueInField(record, parent);
|
|
91
84
|
} else {
|
|
92
85
|
const saveCommand = Ext.create('Coon.common.command.AddNoteCommand');
|
|
93
86
|
saveCommand.on('complete', function(response) {
|
|
94
87
|
this.noteID = response.noteId;
|
|
95
|
-
this.
|
|
88
|
+
this.setValueInField(record, parent);
|
|
96
89
|
}, this);
|
|
97
90
|
saveCommand.execute(this.noteID, this.textField.getValue());
|
|
98
91
|
}
|
|
99
92
|
},
|
|
100
93
|
|
|
94
|
+
setValueInField(record, parent) {
|
|
95
|
+
const value = this.textField.getValue().trim() ? this.getValue() : '';
|
|
96
|
+
const description = this.textField.getValue();
|
|
97
|
+
record.set('value', value);
|
|
98
|
+
record.set('valueDescription', description);
|
|
99
|
+
this.field.setVisibleValue(description);
|
|
100
|
+
this.field.setValue(value);
|
|
101
|
+
const context = {
|
|
102
|
+
value: value,
|
|
103
|
+
record: record,
|
|
104
|
+
};
|
|
105
|
+
parent.fireEvent('edit', null, context);
|
|
106
|
+
this.win.close();
|
|
107
|
+
},
|
|
108
|
+
|
|
101
109
|
getValue: function() {
|
|
102
110
|
return this.noteID;
|
|
103
111
|
},
|
|
@@ -81,7 +81,7 @@ Ext.define('Coon.report.component.report.NorthPanel', {
|
|
|
81
81
|
},
|
|
82
82
|
initComponent() {
|
|
83
83
|
this.searchButton = Ext.widget('splitbutton', Ext.apply({
|
|
84
|
-
ui: 'orange-button',
|
|
84
|
+
ui: 'orange-button-ext',
|
|
85
85
|
text: 'Поиск',
|
|
86
86
|
}, this.findButtonConfig || {}));
|
|
87
87
|
|
|
@@ -92,7 +92,7 @@ Ext.define('Coon.report.component.report.NorthPanel', {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
this.clearButton = Ext.widget('button', Ext.apply({
|
|
95
|
-
ui: 'green-button',
|
|
95
|
+
ui: 'green-button-ext',
|
|
96
96
|
text: 'Очистить',
|
|
97
97
|
}, this.clearButtonConfig || {}));
|
|
98
98
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
.NorthPanel{
|
|
2
3
|
.activeToggle{
|
|
3
4
|
color: #A9A9A9;
|
|
@@ -15,4 +16,58 @@
|
|
|
15
16
|
.UiCFCell{
|
|
16
17
|
margin: 0px 2px !important;
|
|
17
18
|
}
|
|
19
|
+
|
|
20
|
+
@include sigma-button-small-ui(
|
|
21
|
+
$ui: 'orange-button-ext',
|
|
22
|
+
$background-color: $base-color-light,
|
|
23
|
+
$border-radius: 6px,
|
|
24
|
+
$border-width: 1px,
|
|
25
|
+
$border-color: $base-color-light,
|
|
26
|
+
$border-color-disabled: lighten($base-color-light, 20%),
|
|
27
|
+
$background-color-over: $base-color-light,
|
|
28
|
+
$background-color-focus: $base-color-light,
|
|
29
|
+
$background-color-pressed: $base-color-light,
|
|
30
|
+
$background-color-focus-over: $base-color-light,
|
|
31
|
+
$background-color-focus-pressed: $base-color-light,
|
|
32
|
+
$border-color-focus-pressed: $base-color-light,
|
|
33
|
+
$background-color-disabled: lighten($base-color-light, 20%),
|
|
34
|
+
$icon-size: 16px,
|
|
35
|
+
$font-size: 12px,
|
|
36
|
+
$padding: 6px 12px,
|
|
37
|
+
//$text-padding: 2px
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
@include sigma-button-small-ui(
|
|
41
|
+
$ui: 'green-button-ext',
|
|
42
|
+
$background-color: transparent,
|
|
43
|
+
$color : $base-color-light,
|
|
44
|
+
$iconColor : $base-color-light,
|
|
45
|
+
$border-width: 1px,
|
|
46
|
+
$inner-border-width-focus: 2px,
|
|
47
|
+
$border-radius: 6px,
|
|
48
|
+
$border-color: $base-color-light,
|
|
49
|
+
$border-color-disabled: lighten($base-color-light, 20%),
|
|
50
|
+
$color-over: white,
|
|
51
|
+
$color-focus: $base-color-light,
|
|
52
|
+
$color-focus-over: $base-color-light,
|
|
53
|
+
$color-pressed: white,
|
|
54
|
+
$color-focus-pressed: white,
|
|
55
|
+
$color-disabled: lighten($base-color-light, 20%),
|
|
56
|
+
$background-color-over: $base-color-light,
|
|
57
|
+
$background-color-focus: transparent,
|
|
58
|
+
$background-color-pressed: $base-color-light,
|
|
59
|
+
$background-color-focus-over: $base-color-light,
|
|
60
|
+
$background-color-focus-pressed: $base-color-light,
|
|
61
|
+
$background-color-disabled: transparent,
|
|
62
|
+
$icon-size: 16px,
|
|
63
|
+
$font-size: 12px,
|
|
64
|
+
$padding: 6px 12px,
|
|
65
|
+
);
|
|
66
|
+
.x-btn-icon-el-green-button-ext-small,
|
|
67
|
+
.x-btn-icon-el-orange-button-ext-small {
|
|
68
|
+
min-width: 16px !important;
|
|
69
|
+
min-height: 16px !important;
|
|
70
|
+
mask-size: 16px !important;
|
|
71
|
+
}
|
|
72
|
+
|
|
18
73
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.ReportGrid {
|
|
2
2
|
.x-grid-header-ct {
|
|
3
3
|
|
|
4
|
-
.x-column-header-group {
|
|
4
|
+
.x-column-header-group, .x-column-header-sub-group {
|
|
5
5
|
border-right: 1px solid $panel-header-background-color !important;
|
|
6
6
|
}
|
|
7
7
|
|
|
@@ -34,4 +34,19 @@
|
|
|
34
34
|
bottom: 0;
|
|
35
35
|
margin: auto 0;
|
|
36
36
|
}
|
|
37
|
+
|
|
38
|
+
.x-btn-icon-el-blue-button-small,
|
|
39
|
+
.x-btn-icon-el-blue-text-button-small,
|
|
40
|
+
.x-btn-icon-el-blue-text-button-border-small,
|
|
41
|
+
.x-btn-icon-el-primary-with-icon-small,
|
|
42
|
+
.x-btn-icon-el-default-toolbar-small,
|
|
43
|
+
.x-btn-icon-el-green-button-small,
|
|
44
|
+
.x-btn-icon-el-orange-button-small {
|
|
45
|
+
min-width: 16px !important;
|
|
46
|
+
min-height: 16px !important;
|
|
47
|
+
mask-size: 16px !important;
|
|
48
|
+
&.x-fa {
|
|
49
|
+
font-size: 16px !important
|
|
50
|
+
}
|
|
51
|
+
}
|
|
37
52
|
}
|
|
@@ -118,10 +118,10 @@ Ext.define('Coon.report.plugin.configPanel.ExportReportDataToFilePluginConfigPan
|
|
|
118
118
|
<br>border - символ начала и окончания строки, по умолчанию '"' (двойные кавычки)
|
|
119
119
|
<br>separator - разделитель значений ячеек, по умолчанию ',' (запятая)
|
|
120
120
|
<br>Пример конфига:
|
|
121
|
-
{
|
|
122
|
-
border: '',
|
|
123
|
-
separator: ';'
|
|
124
|
-
}
|
|
121
|
+
<br>{
|
|
122
|
+
<br>border: '',
|
|
123
|
+
<br>separator: ';'
|
|
124
|
+
<br>}
|
|
125
125
|
</div>`,
|
|
126
126
|
},
|
|
127
127
|
{
|
|
@@ -36,7 +36,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
36
36
|
this.buttonText = this.buttonText || (format && 'Экспорт в ' + format);
|
|
37
37
|
grid.on('render', function() {
|
|
38
38
|
this.report = grid.findParentByType('ReportPanel');
|
|
39
|
-
if (this.
|
|
39
|
+
if (this.getAddToSearchButton() === true) {
|
|
40
40
|
this.report.northPanel.addToSearchButtonMenu({
|
|
41
41
|
text: this.buttonText,
|
|
42
42
|
iconCls: this.buttonIconCls,
|
|
@@ -51,7 +51,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
51
51
|
this.fileName += Ext.Date.format(new Date(), dateFormat);
|
|
52
52
|
}
|
|
53
53
|
}, this);
|
|
54
|
-
this.printPdfCommand = Ext.create('command.GetPdfReportDataCommand', {useRawFilterParams: this.
|
|
54
|
+
this.printPdfCommand = Ext.create('command.GetPdfReportDataCommand', {useRawFilterParams: this.getAddToSearchButton()});
|
|
55
55
|
},
|
|
56
56
|
callExportByType() {
|
|
57
57
|
switch (this.config.exportFileFormat) {
|
|
@@ -190,7 +190,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
190
190
|
},
|
|
191
191
|
printCsvFile: async function(extension) {
|
|
192
192
|
this.grid.mask('подождите пожалуйста...');
|
|
193
|
-
const currentParamList = this.
|
|
193
|
+
const currentParamList = this.getAddToSearchButton() ? this.report.northPanel.collectParams() : this.report.currentParamList;
|
|
194
194
|
|
|
195
195
|
const parameterList = [];
|
|
196
196
|
|
|
@@ -201,7 +201,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
/* const hasSelected = !!(this.getSelectedRecords() || []).length;
|
|
204
|
-
const url = hasSelected && !this.
|
|
204
|
+
const url = hasSelected && !this.getAddToSearchButton() ?
|
|
205
205
|
'/ReportFormData/getExcelFromRowsOrReport' :
|
|
206
206
|
'/ReportFormData/getCSVReport';*/
|
|
207
207
|
const url = '/ReportFormData/getCSVReport';
|
|
@@ -238,7 +238,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
238
238
|
},
|
|
239
239
|
printExcelFile: async function() {
|
|
240
240
|
this.grid.mask('подождите пожалуйста...');
|
|
241
|
-
const currentParamList = this.
|
|
241
|
+
const currentParamList = this.getAddToSearchButton() ? this.report.northPanel.collectParams() : this.report.currentParamList;
|
|
242
242
|
|
|
243
243
|
const parameterList = [];
|
|
244
244
|
|
|
@@ -249,7 +249,7 @@ Ext.define('Coon.report.plugin.grid.ExportReportDataToFilePlugin', {
|
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
const hasSelected = !!(this.getSelectedRecords() || []).length;
|
|
252
|
-
const url = hasSelected && !this.
|
|
252
|
+
const url = hasSelected && !this.getAddToSearchButton() ?
|
|
253
253
|
'/ReportFormData/getExcelFromRowsOrReport' :
|
|
254
254
|
'/ReportFormData/getExcelReport';
|
|
255
255
|
|
|
@@ -66,29 +66,32 @@ Ext.define('Coon.report.plugin.grid.OpenCustomPanelButtonPlugin', {
|
|
|
66
66
|
Ext.Msg.alert('Сообщение системы', 'Для плагина OpenCustomPanelButtonPlugin не определен тип панели (xtype) для открытия');
|
|
67
67
|
} else {
|
|
68
68
|
if (this.xtypeSelector === 'UI_LIST') {
|
|
69
|
-
if (!this.
|
|
69
|
+
if (!this.getUIElement()) {
|
|
70
70
|
Coon.log.log('UIElement не указан');
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const command = Ext.create('command.GetUIElementCommand');
|
|
74
|
-
command.on('complete', function(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (exists === undefined) {
|
|
78
|
-
Coon.log.log(UIElementBean[elementNS.$xtype] + ' does not exist');
|
|
74
|
+
command.on('complete', function(uIElementBean) {
|
|
75
|
+
if (!uIElementBean || !uIElementBean.xtype) {
|
|
76
|
+
Coon.log.error('UIElement dont exist or invalid');
|
|
79
77
|
return;
|
|
80
78
|
}
|
|
81
|
-
|
|
79
|
+
const exists = Ext.ClassManager.getByAlias('widget.' + uIElementBean.xtype);
|
|
80
|
+
if (!exists) {
|
|
81
|
+
Coon.log.log(uIElementBean.xtype + ' does not exist');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this.effectiveXTypeObject.effectiveXType = uIElementBean.xtype;
|
|
82
85
|
this.effectiveXTypeObject.properties =
|
|
83
86
|
this.effectiveXTypeObject.effectiveXType === 'UiCustomPanel' ?
|
|
84
|
-
JSON5.parse(
|
|
87
|
+
JSON5.parse(uIElementBean.propertyData) :
|
|
85
88
|
(
|
|
86
|
-
Ext.decode(
|
|
87
|
-
Coon.Function.convertAdvancedProperties(
|
|
89
|
+
Ext.decode(uIElementBean.propertyData) ||
|
|
90
|
+
Coon.Function.convertAdvancedProperties(uIElementBean.properties)
|
|
88
91
|
);
|
|
89
92
|
this.component.getContextManager().executeFunction(Ext.bind(this.openPanel, this), this.parameters);
|
|
90
93
|
}, this);
|
|
91
|
-
command.execute(this.
|
|
94
|
+
command.execute(this.getUIElement());
|
|
92
95
|
} else {
|
|
93
96
|
this.component.getContextManager().executeFunction(Ext.bind(this.openPanel, this), this.parameters);
|
|
94
97
|
}
|
|
@@ -5,6 +5,9 @@ Ext.define('Coon.research.command.GetUIStructure', {
|
|
|
5
5
|
decode(ui) {
|
|
6
6
|
const rootName = `<b>CustomPanel</b> ${ui.id}`;
|
|
7
7
|
const parse = (cfg, acc = {name: rootName, children: [], expanded: true}) => {
|
|
8
|
+
if (typeof cfg === 'string') {
|
|
9
|
+
return acc;
|
|
10
|
+
}
|
|
8
11
|
cfg.expanded = true;
|
|
9
12
|
cfg.source = 'editor';
|
|
10
13
|
if (Array.isArray(cfg)) {
|
|
@@ -102,6 +105,7 @@ Ext.define('Coon.research.command.GetUIStructure', {
|
|
|
102
105
|
});
|
|
103
106
|
}
|
|
104
107
|
} catch (ex) {
|
|
108
|
+
console.error('GetUIStructure error: ', ex);
|
|
105
109
|
result = {
|
|
106
110
|
name: 'Error parsing ui "propertyData"',
|
|
107
111
|
isParsingError: true,
|
|
@@ -10,6 +10,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
10
10
|
},
|
|
11
11
|
|
|
12
12
|
isSingle: true,
|
|
13
|
+
|
|
13
14
|
init: function(view) {
|
|
14
15
|
const controller = view.getController();
|
|
15
16
|
if (controller) {
|
|
@@ -20,6 +21,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
20
21
|
view.getController().inputParameters = Ext.bind(this.inputParameters, this);
|
|
21
22
|
}
|
|
22
23
|
},
|
|
24
|
+
|
|
23
25
|
convertToNewFormat() { // Привести данные к новому формату хранения
|
|
24
26
|
this.getParametersToModel().forEach((param, index) => {
|
|
25
27
|
if (Ext.isObject(param)) {
|
|
@@ -32,6 +34,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
36
|
},
|
|
37
|
+
|
|
35
38
|
validatePath(path) {
|
|
36
39
|
const pathes = path.split('.');
|
|
37
40
|
return !pathes.some((path) => {
|
|
@@ -40,6 +43,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
40
43
|
}
|
|
41
44
|
});
|
|
42
45
|
},
|
|
46
|
+
|
|
43
47
|
setDefaultValueToViewModel() { // Инициализируем во ViewModel локальные параметры
|
|
44
48
|
const dataMapping = this.getLocalParameters();
|
|
45
49
|
dataMapping.forEach((el) => {
|
|
@@ -48,6 +52,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
48
52
|
}
|
|
49
53
|
});
|
|
50
54
|
},
|
|
55
|
+
|
|
51
56
|
handler: function(...parameters) { // Инициализируем во ViewModel входные параметры
|
|
52
57
|
if (this.isTraceEnabled()) {
|
|
53
58
|
this.tracePlugin(...parameters);
|
|
@@ -61,6 +66,7 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
61
66
|
}
|
|
62
67
|
});
|
|
63
68
|
},
|
|
69
|
+
|
|
64
70
|
inputParameters: function() {
|
|
65
71
|
return this.inputParams.map((param) => {
|
|
66
72
|
return {name: param.value};
|
package/src/version.js
CHANGED