ru.coon 3.0.54 → 3.0.56
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 +16 -0
- package/package.json +1 -1
- package/src/TabPanel.js +2 -1
- package/src/app/Application.js +57 -1
- package/src/app/login/LoginForm.js +8 -0
- package/src/app/login/LoginForm.scss +1 -1
- package/src/app/login/LoginFormController.js +1 -1
- package/src/common/component/editor/EditorFactory.js +8 -0
- package/src/common/panel/SmartForm.js +5 -0
- package/src/overrides/panel/TabPanel.scss +4 -17
- package/src/report/component/ReportPanel.js +19 -0
- package/src/report/component/reportpanel/ReportGrid.js +1 -8
- package/src/report/plugin/configPanel/GridToolbarButtonPluginConfigPanel.js +42 -21
- package/src/report/plugin/configPanel/GridToolbarButtonPluginConfigPanel.scss +5 -0
- package/src/report/plugin/configPanel/OpenURLButtonPluginConfigPanel.js +12 -1
- package/src/report/plugin/configPanel/RestoreSelectionPluginConfigPanel.js +1 -0
- package/src/report/plugin/configPanel/SelectionModelPluginConfigPanel.js +30 -6
- package/src/report/plugin/configPanel/SummaryPluginConfigPanelSummaryGrid.js +1 -1
- package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.js +18 -47
- package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.scss +0 -5
- package/src/report/plugin/grid/GridContextPlugin.js +98 -55
- package/src/report/plugin/grid/GridToolbarButtonPlugin.js +197 -94
- package/src/report/plugin/grid/OpenCustomPanelButtonPlugin.js +0 -23
- package/src/report/plugin/grid/ReportColumnStatePlugin.js +4 -1
- package/src/report/plugin/grid/SelectionModelPlugin.js +174 -95
- package/src/report/plugin/grid/SelectionModelPlugin.scss +8 -5
- package/src/report/plugin/report/BindCustomPanelPlugin.js +13 -22
- package/src/report/store/ReportFieldStore.js +0 -1
- package/src/uielement/component/UiCustomController.js +1 -19
- package/src/uielement/component/UiCustomPanel.js +15 -0
- package/src/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# Version 3.0.56, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/6d42b7aef8ee61964f826099feaaf68cd7299303)
|
|
2
|
+
* ## Features
|
|
3
|
+
* <span style='color:green'>feat: add forceShowHeader</span> ([7ce368], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/7ce368898a1809f08aaa8331af2bdef4f40366da))
|
|
4
|
+
|
|
5
|
+
* HT-14299: изменение вида несохраненных изменений в вертикальных табах ([590315], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/59031554ed302eabdc194e916e44c3a8a3c77371))
|
|
6
|
+
* HT-14580: повторный вход при завершении сессии ([66c811], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/66c81121345e02ec436a9ec3308db087030a25ac))
|
|
7
|
+
* update: CHANGELOG.md ([0cd2cb], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/0cd2cb99bbdcdf6d8cf83c29c744dd0f02daa497))
|
|
8
|
+
|
|
9
|
+
# Version 3.0.55, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/3aa9d1a7bd56ffe2e12a7470620065930b6c9002)
|
|
10
|
+
* ## Fixes
|
|
11
|
+
* <span style='color:red'>fix HT-14573: DFVCharacteristicField completeEdit on select</span> ([683c19], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/683c19de5c78219346d6529d1f223afe16b480c5))
|
|
12
|
+
|
|
13
|
+
* HT-14532 feat: Четыре режима SelectionModelPlugin ([92c4a8], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/92c4a8edcf4fd2cf79633732cd2e801a8ee4fd53))
|
|
14
|
+
* HT-13994: исправление ошибок при удалении колонок ([d47f7a], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/d47f7a00098c312b2ea2a665dfbea5aebfe0e9ac))
|
|
15
|
+
* update: CHANGELOG.md ([af2f08], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/af2f08fd3487b410c8ea7b7824da5a43289c4444))
|
|
16
|
+
|
|
1
17
|
# Version 3.0.54, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/91b425e436e17c3f26aa3c6eabb1c23ac52686c1)
|
|
2
18
|
* ## Fixes
|
|
3
19
|
* <span style='color:red'> src/util:mapObject acc[rule.to] or defValue</span> ([f2355c], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/f2355c41590bd574c51fdd6ed4a231ef59c29477))
|
package/package.json
CHANGED
package/src/TabPanel.js
CHANGED
|
@@ -71,9 +71,10 @@ Ext.define('Coon.TabPanel', {
|
|
|
71
71
|
}
|
|
72
72
|
if (isDirty) {
|
|
73
73
|
component.tab.addCls(this.tabDirtyCls);
|
|
74
|
+
component.tab.setTooltip('Несохраненные изменения');
|
|
74
75
|
} else {
|
|
75
76
|
component.tab.removeCls(this.tabDirtyCls);
|
|
77
|
+
component.tab.setTooltip('');
|
|
76
78
|
}
|
|
77
79
|
},
|
|
78
|
-
|
|
79
80
|
});
|
package/src/app/Application.js
CHANGED
|
@@ -71,7 +71,11 @@ Ext.define('Coon.app.Application', {
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
|
|
74
|
-
onLoginSuccessful() {
|
|
74
|
+
onLoginSuccessful(loginReason) {
|
|
75
|
+
if (loginReason === 'reAuth') {
|
|
76
|
+
this.reAuthorize('destroy');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
75
79
|
this.createFxAnim(this.getApplicationMainView(), false, async function() {
|
|
76
80
|
this.getApplicationMainView().destroy();
|
|
77
81
|
this.setApplicationMainView(Ext.create({
|
|
@@ -86,6 +90,58 @@ Ext.define('Coon.app.Application', {
|
|
|
86
90
|
this.getApplicationMainView().show();
|
|
87
91
|
},
|
|
88
92
|
|
|
93
|
+
reAuthorize(action) {
|
|
94
|
+
if (action === 'show') {
|
|
95
|
+
this.reAuthWindow = this.getReAuthWindow();
|
|
96
|
+
this.reAuthWindow.show();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (action === 'destroy' && this.reAuthWindow) {
|
|
100
|
+
this.reAuthWindow.destroy();
|
|
101
|
+
this.reAuthWindow = undefined;
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
getReAuthWindow() {
|
|
107
|
+
const panel = {
|
|
108
|
+
xtype: 'panel',
|
|
109
|
+
layout: {
|
|
110
|
+
type: 'vbox',
|
|
111
|
+
align: 'stretch',
|
|
112
|
+
},
|
|
113
|
+
padding: 10,
|
|
114
|
+
items: [
|
|
115
|
+
{
|
|
116
|
+
html: 'Для продолжения работы войдите в систему.',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
height: 220,
|
|
120
|
+
layout: {
|
|
121
|
+
type: 'vbox',
|
|
122
|
+
align: 'stretch',
|
|
123
|
+
pack: 'end',
|
|
124
|
+
},
|
|
125
|
+
items: [
|
|
126
|
+
{
|
|
127
|
+
xtype: 'LoginForm',
|
|
128
|
+
loginReason: 'reAuth',
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
return Ext.widget('WindowWrap', {
|
|
136
|
+
title: 'Сообщение системы',
|
|
137
|
+
width: 400,
|
|
138
|
+
height: 300,
|
|
139
|
+
closable: false,
|
|
140
|
+
maximizable: false,
|
|
141
|
+
items: panel,
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
|
|
89
145
|
afterLoad: async function() {
|
|
90
146
|
this.appRouter.onBeforeRouteEnterFailedFn = this.processNotAuthorizedAction;
|
|
91
147
|
Ext.on('auth:loginSuccessful', this.onLoginSuccessful, this);
|
|
@@ -14,12 +14,20 @@ Ext.define('Coon.app.login.LoginForm', {
|
|
|
14
14
|
type: 'vbox',
|
|
15
15
|
align: 'stretch',
|
|
16
16
|
},
|
|
17
|
+
|
|
18
|
+
config: {
|
|
19
|
+
loginReason: 'auth',
|
|
20
|
+
},
|
|
21
|
+
|
|
17
22
|
plugins: [
|
|
18
23
|
{
|
|
19
24
|
ptype: 'EnterConfirmFormPlugin',
|
|
20
25
|
confirmHandler(panel) {
|
|
21
26
|
panel.fireEvent('submit');
|
|
22
27
|
},
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
ptype: 'FormFieldFocusPlugin',
|
|
23
31
|
}
|
|
24
32
|
],
|
|
25
33
|
defaults: {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
$background-color-pressed: $base-color,
|
|
18
18
|
$background-color-focus-over: transparentize($base-color, 20%),
|
|
19
19
|
$background-color-focus-pressed: $base-color,
|
|
20
|
-
$background-color-disabled:
|
|
20
|
+
$background-color-disabled: #6b9bb8,
|
|
21
21
|
$font-weight: normal,
|
|
22
22
|
$color: white
|
|
23
23
|
);
|
|
@@ -115,7 +115,7 @@ Ext.define('Coon.app.login.LoginFormController', {
|
|
|
115
115
|
localStorage.setItem('CSRFToken', token);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
Ext.fireEvent('auth:loginSuccessful');
|
|
118
|
+
Ext.fireEvent('auth:loginSuccessful', this.getView().getLoginReason());
|
|
119
119
|
}, this);
|
|
120
120
|
tokenCommand.execute();
|
|
121
121
|
},
|
|
@@ -348,9 +348,17 @@ Ext.define('Coon.common.component.editor.DFVTypeEditor', {
|
|
|
348
348
|
this.field.on('load', function() {
|
|
349
349
|
this.field.setValue(value);
|
|
350
350
|
}, this, {single: true});
|
|
351
|
+
this.field.on('select', this.afterEdit, this);
|
|
351
352
|
this.field.doInit();
|
|
352
353
|
}
|
|
353
354
|
},
|
|
355
|
+
|
|
356
|
+
afterEdit: function() {
|
|
357
|
+
this.completeEdit && this.completeEdit();
|
|
358
|
+
if (this.boundEl || (this.context && this.context.getCell)) {
|
|
359
|
+
this.restoreCell();
|
|
360
|
+
}
|
|
361
|
+
},
|
|
354
362
|
});
|
|
355
363
|
|
|
356
364
|
/**
|
|
@@ -8,6 +8,11 @@ Ext.define('Coon.common.panel.SmartForm', {
|
|
|
8
8
|
},
|
|
9
9
|
|
|
10
10
|
initComponent: function() {
|
|
11
|
+
if (!this.plugins) {
|
|
12
|
+
this.plugins = [];
|
|
13
|
+
}
|
|
14
|
+
this.plugins.push({ptype: 'FormFieldFocusPlugin'});
|
|
15
|
+
|
|
11
16
|
this.callParent(arguments);
|
|
12
17
|
|
|
13
18
|
this.groupsFieldValidationPlugin = this.findPlugin('ReportGroupsFieldValidationPlugin');
|
|
@@ -46,25 +46,12 @@
|
|
|
46
46
|
.x-tab-bar-body-default {
|
|
47
47
|
padding: 0;
|
|
48
48
|
}
|
|
49
|
-
}
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
position: relative;
|
|
53
|
-
.x-tab-inner {
|
|
50
|
+
.tab-dirty {
|
|
54
51
|
position: relative;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
content: '';
|
|
59
|
-
display: block;
|
|
60
|
-
width: 5px;
|
|
61
|
-
height: 5px;
|
|
62
|
-
background: $base-color-light;
|
|
63
|
-
border-radius: 50%;
|
|
64
|
-
position: absolute;
|
|
65
|
-
left: -10px;
|
|
66
|
-
top: calc(1em / 2);
|
|
67
|
-
transform: translateY(-50%);
|
|
52
|
+
.x-tab-inner {
|
|
53
|
+
font-weight: 600;
|
|
54
|
+
font-style: italic;
|
|
68
55
|
}
|
|
69
56
|
}
|
|
70
57
|
}
|
|
@@ -721,6 +721,7 @@ Ext.define('Coon.report.component.ReportPanel', {
|
|
|
721
721
|
|
|
722
722
|
configureGrid: function(ReportBean) {
|
|
723
723
|
this.grid = this.createGrid(ReportBean);
|
|
724
|
+
this.grid.getPluginProperty = (key) => this.getPluginProperty(key, this.grid);
|
|
724
725
|
// this.grid.on('added', this.chipsInit, this);
|
|
725
726
|
this.centerPanel.add(this.grid);
|
|
726
727
|
this.initGridEvents();
|
|
@@ -850,6 +851,7 @@ Ext.define('Coon.report.component.ReportPanel', {
|
|
|
850
851
|
configureNorthPanel: function(reportFormBean) {
|
|
851
852
|
this.northPanel.filterPlugins = this.getPluginConfigByType('FILTER_PLUGIN', 'p');
|
|
852
853
|
this.northPanel.configureFilterPanel(reportFormBean);
|
|
854
|
+
this.northPanel.getPluginProperty = (key) => this.getPluginProperty(key, this.northPanel.filterPanel);
|
|
853
855
|
},
|
|
854
856
|
|
|
855
857
|
getPluginConfigByType: function(type, prefix, pluginList) {
|
|
@@ -1292,4 +1294,21 @@ Ext.define('Coon.report.component.ReportPanel', {
|
|
|
1292
1294
|
}
|
|
1293
1295
|
return this.grid.getStore().getDataSource().getCount() === 0;
|
|
1294
1296
|
},
|
|
1297
|
+
|
|
1298
|
+
/**
|
|
1299
|
+
* Способ получения свойства плагина в контексте scope. Если scope не передается, то поиск плагина будет в контексте отчета.
|
|
1300
|
+
* Плагин и свойство задаются в строке key с разделителем "точка".
|
|
1301
|
+
* @param {String} key плагин плюс свойство плагина
|
|
1302
|
+
* @param scope контекст
|
|
1303
|
+
* @returns {*|undefined}
|
|
1304
|
+
*/
|
|
1305
|
+
getPluginProperty(key, scope) {
|
|
1306
|
+
scope = scope || this;
|
|
1307
|
+
if (!Ext.isString(key) || !/\./.test(key)) {
|
|
1308
|
+
return;
|
|
1309
|
+
}
|
|
1310
|
+
const [pluginName, propertyName] = key.split('.');
|
|
1311
|
+
const plugin = scope.findPlugin(pluginName);
|
|
1312
|
+
return plugin ? plugin[propertyName] : undefined;
|
|
1313
|
+
},
|
|
1295
1314
|
});
|
|
@@ -116,14 +116,7 @@ Ext.define('Coon.report.component.reportpanel.ReportGrid', {
|
|
|
116
116
|
},
|
|
117
117
|
|
|
118
118
|
getCheckedRecords() {
|
|
119
|
-
|
|
120
|
-
return this.checkedRecords;
|
|
121
|
-
} else if (this.findPlugin('SelectionModelPlugin')?.defaultMode) {
|
|
122
|
-
// В этой конфигурации плагина реализована синхронизация выделения с чекбоксами.
|
|
123
|
-
return this.getSelectionModel().getSelection();
|
|
124
|
-
} else {
|
|
125
|
-
return this.checkedRecords;
|
|
126
|
-
}
|
|
119
|
+
return this.checkedRecords;
|
|
127
120
|
},
|
|
128
121
|
|
|
129
122
|
getFeature(ftype) {
|
|
@@ -205,27 +205,6 @@ Ext.define('Coon.report.plugin.configPanel.GridToolbarButtonPluginConfigPanel',
|
|
|
205
205
|
},
|
|
206
206
|
|
|
207
207
|
controller: {
|
|
208
|
-
bindings: {
|
|
209
|
-
onContextChange: '{context}',
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
onContextChange(context) {
|
|
213
|
-
const dependOnGridParameters = this.view.down('[name=dependOnGridParameters]');
|
|
214
|
-
if (dependOnGridParameters) {
|
|
215
|
-
const data = JSON.parse(JSON.stringify(context.parameters));
|
|
216
|
-
data.map((item) => {
|
|
217
|
-
item.descriptionFull = `${item.reportParameterCd} (${item.description})`;
|
|
218
|
-
return item;
|
|
219
|
-
});
|
|
220
|
-
const store = dependOnGridParameters.getStore();
|
|
221
|
-
store.loadData(data);
|
|
222
|
-
|
|
223
|
-
// hack: to visually display value in the field
|
|
224
|
-
const values = dependOnGridParameters.getValue();
|
|
225
|
-
dependOnGridParameters.setValue(values);
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
|
|
229
208
|
setHideMsgValue() {
|
|
230
209
|
this.getViewModel().set('hideAddActionColumnMsg',
|
|
231
210
|
this.lookup('actionColumnRef').collapsed ||
|
|
@@ -234,6 +213,28 @@ Ext.define('Coon.report.plugin.configPanel.GridToolbarButtonPluginConfigPanel',
|
|
|
234
213
|
},
|
|
235
214
|
},
|
|
236
215
|
|
|
216
|
+
setContext: function(context) {
|
|
217
|
+
this.callParent(arguments);
|
|
218
|
+
const dependOnGridParameter = this.down('[name=dependOnGridParameters]');
|
|
219
|
+
if (dependOnGridParameter) {
|
|
220
|
+
const data = context.parameters.map((item) => {
|
|
221
|
+
item.descriptionFull = `${item.reportParameterCd} (${item.description})`;
|
|
222
|
+
return item;
|
|
223
|
+
});
|
|
224
|
+
dependOnGridParameter.getStore().loadData(data);
|
|
225
|
+
}
|
|
226
|
+
const reportFieldsCombo = this.down('[name=singleClickDataIndex]');
|
|
227
|
+
if (reportFieldsCombo) {
|
|
228
|
+
const reportFields = context.fields.map(
|
|
229
|
+
({viewComboDescription: description, reportFieldCd: value}) => ({
|
|
230
|
+
value,
|
|
231
|
+
description,
|
|
232
|
+
})
|
|
233
|
+
);
|
|
234
|
+
reportFieldsCombo.getStore().loadData(reportFields);
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
|
|
237
238
|
createActionColumnFieldSet: function() {
|
|
238
239
|
return {
|
|
239
240
|
xtype: 'fieldset',
|
|
@@ -275,4 +276,24 @@ Ext.define('Coon.report.plugin.configPanel.GridToolbarButtonPluginConfigPanel',
|
|
|
275
276
|
name: 'handleNewObjectEvent',
|
|
276
277
|
};
|
|
277
278
|
},
|
|
279
|
+
|
|
280
|
+
createActOnOnSingleClickControl() {
|
|
281
|
+
return {
|
|
282
|
+
xtype: 'BaseComboBox',
|
|
283
|
+
loadOnRender: false,
|
|
284
|
+
displayField: 'description',
|
|
285
|
+
valueField: 'value',
|
|
286
|
+
store: {
|
|
287
|
+
fields: ['description', 'value'],
|
|
288
|
+
},
|
|
289
|
+
fieldLabel: 'Активировать по одиночному клику на поле',
|
|
290
|
+
name: 'singleClickDataIndex',
|
|
291
|
+
bind: {
|
|
292
|
+
disabled: '{actOnDoubleClick.checked}',
|
|
293
|
+
},
|
|
294
|
+
reference: 'singleClickDataIndexRef',
|
|
295
|
+
flex: 1,
|
|
296
|
+
resettable: true,
|
|
297
|
+
};
|
|
298
|
+
},
|
|
278
299
|
});
|
|
@@ -59,7 +59,18 @@ Ext.define('Coon.report.plugin.configPanel.OpenURLButtonPluginConfigPanel', {
|
|
|
59
59
|
this.createDependsOnGridRow(),
|
|
60
60
|
this.createDependsOnGridParameter(),
|
|
61
61
|
this.createAddButtonPanel(),
|
|
62
|
-
|
|
62
|
+
{
|
|
63
|
+
xtype: 'fieldset',
|
|
64
|
+
items: [
|
|
65
|
+
Object.assign(this.createActOnDoubleClickCheckBox(), {
|
|
66
|
+
reference: 'actOnDoubleClick',
|
|
67
|
+
bind: {
|
|
68
|
+
disabled: '{!singleClickDataIndexRef.selection}',
|
|
69
|
+
},
|
|
70
|
+
}),
|
|
71
|
+
this.createActOnOnSingleClickControl()
|
|
72
|
+
],
|
|
73
|
+
},
|
|
63
74
|
this.createHotKeyPanel(),
|
|
64
75
|
this.createVisibilityKeyPanel(),
|
|
65
76
|
this.url,
|
|
@@ -39,19 +39,43 @@ Ext.define('Coon.report.plugin.configPanel.SelectionModelPluginConfigPanel', {
|
|
|
39
39
|
value: '{description}',
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
|
+
// {
|
|
43
|
+
// xtype: 'checkbox',
|
|
44
|
+
// boxLabel: 'Режим по умолчанию',
|
|
45
|
+
// bind: {
|
|
46
|
+
// value: '{defaultMode}',
|
|
47
|
+
// },
|
|
48
|
+
// readOnly: true,
|
|
49
|
+
// },
|
|
42
50
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
html: `Описание режимов плагина SelectionModelPlugin в
|
|
52
|
+
<a href="https://confluence.sigma-it.ru/pages/viewpage.action?pageId=619754033" target="_blank">
|
|
53
|
+
confluence.sigma-it.ru.
|
|
54
|
+
</a>`,
|
|
55
|
+
padding: '0 0 10px',
|
|
48
56
|
},
|
|
49
57
|
{
|
|
50
|
-
|
|
58
|
+
xtype: 'radiogroup',
|
|
59
|
+
simpleValue: true,
|
|
60
|
+
vertical: true,
|
|
61
|
+
columns: 1,
|
|
62
|
+
items: [
|
|
63
|
+
{boxLabel: 'гибрид(по умолчанию SINGLE)', inputValue: 'hybridSingleDefault', checked: true},
|
|
64
|
+
{boxLabel: 'гибрид(по умолчанию MULTI)', inputValue: 'hybridMultiDefault'},
|
|
65
|
+
{boxLabel: 'только SINGLE(колонка с чекбоксами скрыта)', inputValue: 'singleOnly'},
|
|
66
|
+
{boxLabel: 'только MULTI', inputValue: 'multiOnly'}
|
|
67
|
+
],
|
|
68
|
+
reference: 'defaultModeVariants',
|
|
69
|
+
// disabled: true,
|
|
70
|
+
bind: {
|
|
71
|
+
// disabled: '{!defaultMode}',
|
|
72
|
+
value: '{defaultModeVariant}',
|
|
73
|
+
},
|
|
51
74
|
},
|
|
52
75
|
{
|
|
53
76
|
xtype: 'container',
|
|
54
77
|
margin: '20 0 0 0',
|
|
78
|
+
hidden: true,
|
|
55
79
|
bind: {
|
|
56
80
|
disabled: '{defaultMode}',
|
|
57
81
|
},
|
|
@@ -50,7 +50,7 @@ Ext.define('Coon.report.plugin.configPanel.SummaryPluginConfigPanelSummaryGrid',
|
|
|
50
50
|
['min', 'min (Минимальное значение в столбце)'],
|
|
51
51
|
['max', 'max (Максимальное значение в столбце)'],
|
|
52
52
|
['count', 'count (Количество значений в столбце)'],
|
|
53
|
-
['average', 'average (Среднее
|
|
53
|
+
['average', 'average (Среднее значение в столбце)'],
|
|
54
54
|
['unique', 'unique (Кастомная функция агрегации, указывается с помощью summaryRenderer в свойствах поля)']
|
|
55
55
|
],
|
|
56
56
|
};
|
|
@@ -47,11 +47,28 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
|
|
|
47
47
|
this.createAddButtonPanel(),
|
|
48
48
|
{
|
|
49
49
|
xtype: 'fieldset',
|
|
50
|
+
title: 'активация по одинарному/двойному клику мышью(взаимоисключающие)',
|
|
51
|
+
layout: {type: 'hbox', align: 'middle'},
|
|
52
|
+
defaults: {
|
|
53
|
+
frame: true,
|
|
54
|
+
flex: 1,
|
|
55
|
+
},
|
|
50
56
|
items: [
|
|
57
|
+
{
|
|
58
|
+
xtype: 'button',
|
|
59
|
+
maxWidth: 130,
|
|
60
|
+
margin: '0 18 0 0',
|
|
61
|
+
text: 'отменить',
|
|
62
|
+
handler(btn) {
|
|
63
|
+
const view = btn.up('fieldset');
|
|
64
|
+
view.query('combo, checkbox:not(#mouseActivationBlock)')
|
|
65
|
+
.forEach((field) => field.reset());
|
|
66
|
+
},
|
|
67
|
+
},
|
|
51
68
|
Object.assign(this.createActOnDoubleClickCheckBox(), {
|
|
52
69
|
reference: 'actOnDoubleClick',
|
|
53
70
|
bind: {
|
|
54
|
-
disabled: '{
|
|
71
|
+
disabled: '{singleClickDataIndexRef.selection}',
|
|
55
72
|
},
|
|
56
73
|
}),
|
|
57
74
|
this.createActOnOnSingleClickControl()
|
|
@@ -62,7 +79,6 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
|
|
|
62
79
|
this.createNewObjectCreated(),
|
|
63
80
|
{
|
|
64
81
|
boxLabel: 'Открыть экземпляр старой версии биллинга',
|
|
65
|
-
|
|
66
82
|
xtype: 'checkbox',
|
|
67
83
|
name: 'oldFrame',
|
|
68
84
|
},
|
|
@@ -319,14 +335,6 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
|
|
|
319
335
|
gridSourceMapping.updateParametersList(context.parameters);
|
|
320
336
|
gridSourceMapping.updateTypeEditor(context.additionalContext);
|
|
321
337
|
}
|
|
322
|
-
this.reportFieldsCombo.getStore().loadData(
|
|
323
|
-
context.fields.map(
|
|
324
|
-
({viewComboDescription: description, reportFieldCd: value}) => ({
|
|
325
|
-
value,
|
|
326
|
-
description,
|
|
327
|
-
})
|
|
328
|
-
)
|
|
329
|
-
);
|
|
330
338
|
},
|
|
331
339
|
|
|
332
340
|
doInit: function(config) {
|
|
@@ -513,41 +521,4 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
|
|
|
513
521
|
],
|
|
514
522
|
};
|
|
515
523
|
},
|
|
516
|
-
|
|
517
|
-
createActOnOnSingleClickControl() {
|
|
518
|
-
this.reportFieldsCombo = Ext.create({
|
|
519
|
-
xtype: 'BaseComboBox',
|
|
520
|
-
loadOnRender: false,
|
|
521
|
-
displayField: 'description',
|
|
522
|
-
valueField: 'value',
|
|
523
|
-
store: Ext.create('Coon.report.store.RefStore'),
|
|
524
|
-
fieldLabel: 'Поле',
|
|
525
|
-
name: 'singleClickDataIndex',
|
|
526
|
-
bind: {
|
|
527
|
-
disabled: '{!actOnSingleClick.checked}',
|
|
528
|
-
},
|
|
529
|
-
flex: 1,
|
|
530
|
-
});
|
|
531
|
-
return {
|
|
532
|
-
xtype: 'fieldcontainer',
|
|
533
|
-
layout: {
|
|
534
|
-
type: 'vbox',
|
|
535
|
-
align: 'stretch',
|
|
536
|
-
},
|
|
537
|
-
items: [
|
|
538
|
-
{
|
|
539
|
-
xtype: 'checkbox',
|
|
540
|
-
boxLabel: 'Активировать по одиночному клику на поле',
|
|
541
|
-
boxLabelAlign: 'after',
|
|
542
|
-
reference: 'actOnSingleClick',
|
|
543
|
-
name: 'actOnSingleClick',
|
|
544
|
-
bind: {
|
|
545
|
-
disabled: '{actOnDoubleClick.checked}',
|
|
546
|
-
},
|
|
547
|
-
flex: 1,
|
|
548
|
-
},
|
|
549
|
-
this.reportFieldsCombo
|
|
550
|
-
],
|
|
551
|
-
};
|
|
552
|
-
},
|
|
553
524
|
});
|