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.
Files changed (31) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +1 -1
  3. package/src/TabPanel.js +2 -1
  4. package/src/app/Application.js +57 -1
  5. package/src/app/login/LoginForm.js +8 -0
  6. package/src/app/login/LoginForm.scss +1 -1
  7. package/src/app/login/LoginFormController.js +1 -1
  8. package/src/common/component/editor/EditorFactory.js +8 -0
  9. package/src/common/panel/SmartForm.js +5 -0
  10. package/src/overrides/panel/TabPanel.scss +4 -17
  11. package/src/report/component/ReportPanel.js +19 -0
  12. package/src/report/component/reportpanel/ReportGrid.js +1 -8
  13. package/src/report/plugin/configPanel/GridToolbarButtonPluginConfigPanel.js +42 -21
  14. package/src/report/plugin/configPanel/GridToolbarButtonPluginConfigPanel.scss +5 -0
  15. package/src/report/plugin/configPanel/OpenURLButtonPluginConfigPanel.js +12 -1
  16. package/src/report/plugin/configPanel/RestoreSelectionPluginConfigPanel.js +1 -0
  17. package/src/report/plugin/configPanel/SelectionModelPluginConfigPanel.js +30 -6
  18. package/src/report/plugin/configPanel/SummaryPluginConfigPanelSummaryGrid.js +1 -1
  19. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.js +18 -47
  20. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.scss +0 -5
  21. package/src/report/plugin/grid/GridContextPlugin.js +98 -55
  22. package/src/report/plugin/grid/GridToolbarButtonPlugin.js +197 -94
  23. package/src/report/plugin/grid/OpenCustomPanelButtonPlugin.js +0 -23
  24. package/src/report/plugin/grid/ReportColumnStatePlugin.js +4 -1
  25. package/src/report/plugin/grid/SelectionModelPlugin.js +174 -95
  26. package/src/report/plugin/grid/SelectionModelPlugin.scss +8 -5
  27. package/src/report/plugin/report/BindCustomPanelPlugin.js +13 -22
  28. package/src/report/store/ReportFieldStore.js +0 -1
  29. package/src/uielement/component/UiCustomController.js +1 -19
  30. package/src/uielement/component/UiCustomPanel.js +15 -0
  31. 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
@@ -4,7 +4,7 @@
4
4
  "name": "ru.coon"
5
5
  },
6
6
  "description": "",
7
- "version": "3.0.54",
7
+ "version": "3.0.56",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+http://gitlab-dbr.sigma-it.local/dbr/ru.coon"
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
  });
@@ -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: null,
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
- .tab-dirty {
52
- position: relative;
53
- .x-tab-inner {
50
+ .tab-dirty {
54
51
  position: relative;
55
- overflow: visible;
56
-
57
- &::before {
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
- if (this.getFeature('SelectionModelFeature')) {
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
  });
@@ -0,0 +1,5 @@
1
+ .x-grid-cell.GTBP-clickable-cell {
2
+ text-decoration: underline;
3
+ cursor: pointer;
4
+ color: var(--base-color);
5
+ }
@@ -59,7 +59,18 @@ Ext.define('Coon.report.plugin.configPanel.OpenURLButtonPluginConfigPanel', {
59
59
  this.createDependsOnGridRow(),
60
60
  this.createDependsOnGridParameter(),
61
61
  this.createAddButtonPanel(),
62
- this.createActOnDoubleClickCheckBox(),
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,
@@ -7,6 +7,7 @@ Ext.define('Coon.report.plugin.configPanel.RestoreSelectionPluginConfigPanel', {
7
7
 
8
8
  description: 'Восстанавливает выделение после перезагрузки',
9
9
  tags: ['Поведение', 'Выделение'],
10
+ isSingle: true,
10
11
 
11
12
  config: {
12
13
  pluginTypeSettings: {
@@ -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
- xtype: 'checkbox',
44
- boxLabel: 'Режим по умолчанию',
45
- bind: {
46
- value: '{defaultMode}',
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
- html: '<a href="https://confluence.sigma-it.ru" target="_blank">Описание режима по умолчанию.</a>',
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: '{actOnSingleClick.checked}',
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
  });
@@ -15,8 +15,3 @@
15
15
  }
16
16
  }
17
17
  }
18
- .x-grid-cell.OCPBP-clickable-cell {
19
- text-decoration: underline;
20
- cursor: pointer;
21
- color: var(--base-color);
22
- }