ru.coon 2.8.65 → 3.0.2

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 (130) hide show
  1. package/CHANGELOG.md +319 -6
  2. package/package.json +1 -1
  3. package/src/Function.js +1 -1
  4. package/src/VisualLinker.js +610 -0
  5. package/src/VisualLinker.scss +219 -0
  6. package/src/app/Application.js +1 -0
  7. package/src/app/ApplicationSettings.js +49 -0
  8. package/src/app/Config.js +60 -0
  9. package/src/app/Router.js +37 -21
  10. package/src/app/viewPort/CVWrapperPanel.js +53 -0
  11. package/src/app/viewPort/CenterView.js +153 -46
  12. package/src/app/viewPort/CenterView.scss +151 -0
  13. package/src/app/viewPort/ComponentContextManager.js +24 -0
  14. package/src/app/viewPort/Main.js +4 -1
  15. package/src/app/viewPort/Routing.d2 +23 -0
  16. package/src/app/viewPort/TabHistory.js +81 -0
  17. package/src/common/ComponentFactory.js +167 -0
  18. package/src/common/button/DropdownContentButton.js +146 -0
  19. package/src/common/button/DropdownContentButton.scss +92 -0
  20. package/src/common/button/DropdownContentButtonController.js +60 -0
  21. package/src/common/component/editor/EditorFactory.js +3 -1
  22. package/src/common/component/formeditor/UiCustomFilterForm.scss +0 -1
  23. package/src/common/component/settings/modules/settingClosePageConfirmation.js +1 -3
  24. package/src/common/component/settings/modules/settingFavoritePanelShow.js +21 -0
  25. package/src/common/component/settings/modules/settingReportCalculator.js +22 -0
  26. package/src/common/component/settings/modules/settingShowNeedReloadMessage.js +1 -3
  27. package/src/common/component/settings/modules/settingwindowHolder.js +2 -3
  28. package/src/common/panel/WindowWrap.js +19 -11
  29. package/src/common/tree/BaseContextMenu.js +4 -3
  30. package/src/log.js +4 -5
  31. package/src/nav/AppNavCalcButton.js +23 -0
  32. package/src/nav/AppNavCalcButton.scss +6 -0
  33. package/src/nav/AppNavigationBar.js +1 -1
  34. package/src/nav/AppNavigationMenuController.js +2 -2
  35. package/src/nav/AppNavigationMenuMinimized.js +61 -0
  36. package/src/nav/AppNavigationPanel.js +115 -0
  37. package/src/nav/AppNavigationPanel.scss +178 -0
  38. package/src/nav/AppNavigationPanelController.js +386 -0
  39. package/src/nav/FavoriteCfg.js +18 -0
  40. package/src/nav/MenuEntity.js +23 -15
  41. package/src/nav/MenuFavoritesBar.js +100 -0
  42. package/src/nav/MenuFavoritesBar.scss +92 -0
  43. package/src/nav/editor/NavigateElementEditorView.js +2 -2
  44. package/src/nav/editor/workspace/NavWorkspaceListView.js +1 -4
  45. package/src/nav/menu/WorkspaceMenuViewMinimized.js +22 -0
  46. package/src/overrides/panel/TabPanel.js +36 -0
  47. package/src/overrides/panel/TabPanel.scss +65 -0
  48. package/src/report/component/ClearFiltersButton.js +4 -1
  49. package/src/report/component/CopyCellValueMenuItem.js +18 -0
  50. package/src/report/component/ReportFieldMap.js +274 -0
  51. package/src/report/component/ReportPanel.js +73 -44
  52. package/src/report/component/ReportPanel.scss +2 -2
  53. package/src/report/component/ReportTagLookup.js +59 -2
  54. package/src/report/component/calculator/ReportCalculatorController.js +266 -0
  55. package/src/report/component/calculator/ReportCalculatorField.js +47 -0
  56. package/src/report/component/calculator/ReportCalculatorHistoryPlugin.js +128 -0
  57. package/src/report/component/calculator/ReportCalculatorHistoryPlugin.scss +33 -0
  58. package/src/report/component/calculator/ReportCalculatorMenuItem.js +101 -0
  59. package/src/report/component/calculator/ReportCalculatorMenuItem.scss +41 -0
  60. package/src/report/component/calculator/ReportCalculatorPanel.js +363 -0
  61. package/src/report/component/calculator/ReportCalculatorPanel.scss +86 -0
  62. package/src/report/component/reportpanel/CopyReportPanelController.js +1 -1
  63. package/src/report/component/reportpanel/FilterPanel.js +13 -15
  64. package/src/report/component/reportpanel/FilterPanel.scss +5 -1
  65. package/src/report/component/reportpanel/FormFieldFocusPlugin.js +157 -0
  66. package/src/report/component/reportpanel/FormFieldFocusPlugin.scss +14 -0
  67. package/src/report/component/reportpanel/NorthPanel.js +16 -17
  68. package/src/report/component/reportpanel/NorthPanel.scss +1 -1
  69. package/src/report/component/reportpanel/ReportContextMenu.js +219 -0
  70. package/src/report/component/reportpanel/ReportGrid.js +1 -0
  71. package/src/report/component/reportpanel/ReportGrid.scss +4 -0
  72. package/src/report/component/settings/field/ReportFormFieldsGrid.js +2 -2
  73. package/src/report/component/settings/field/ReportFormFieldsGridController.js +2 -2
  74. package/src/report/component/settings/property/ReportPropertiesPanelController.js +1 -1
  75. package/src/report/component/settings/property/ReportPropertyDictionary.js +7 -0
  76. package/src/report/plugin/configPanel/AddFilterConditionPluginConfigPanel.js +34 -11
  77. package/src/report/plugin/configPanel/GridFiltersPluginConfigPanelFiltersGrid.js +3 -2
  78. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.js +274 -255
  79. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/OpenCustomPanelButtonPluginConfigPanel.scss +17 -0
  80. package/src/report/plugin/grid/AddFilterConditionPlugin.js +530 -87
  81. package/src/report/plugin/grid/CalculatorPlugin.js +90 -0
  82. package/src/report/plugin/grid/GridContextMenu.js +12 -10
  83. package/src/report/plugin/grid/GridRowCountPlugin.js +0 -1
  84. package/src/report/plugin/grid/GridToolbarButtonPlugin.js +11 -2
  85. package/src/report/plugin/grid/OpenCustomPanelButtonPlugin.js +126 -89
  86. package/src/report/plugin/grid/ReportCharacteristicBindPlugin.js +6 -4
  87. package/src/report/plugin/grid/ReportColumnStatePlugin.js +15 -3
  88. package/src/report/plugin/grid/SetSingleParameterPlugin.js +1 -1
  89. package/src/report/plugin/grid/ToolbarButtonPlugin.js +1 -1
  90. package/src/report/plugin/grid/addFilterConditionPlugin/AdvancedSearchPanel.js +55 -0
  91. package/src/report/plugin/grid/addFilterConditionPlugin/AdvancedSearchPanelController.js +226 -0
  92. package/src/report/plugin/grid/addFilterConditionPlugin/FilterConfigMixin.js +138 -0
  93. package/src/report/plugin/grid/addFilterConditionPlugin/FilterFieldFactory.js +223 -0
  94. package/src/report/plugin/grid/addFilterConditionPlugin/FilterItem.js +164 -0
  95. package/src/report/plugin/grid/addFilterConditionPlugin/FilterItem.scss +21 -0
  96. package/src/report/plugin/grid/addFilterConditionPlugin/FilterMenu.js +29 -0
  97. package/src/report/plugin/grid/addFilterConditionPlugin/FilterWrapPanel.js +53 -0
  98. package/src/report/plugin/grid/addFilterConditionPlugin/FilterWrapPanelController.js +57 -0
  99. package/src/report/plugin/grid/addFilterConditionPlugin/InfoMenuItem.js +111 -0
  100. package/src/report/plugin/grid/addFilterConditionPlugin/InfoMenuItem.scss +83 -0
  101. package/src/report/plugin/grid/addFilterConditionPlugin/SelectColumnPanel.js +102 -0
  102. package/src/report/selectionModels/MixedRowSelectionModel.js +36 -45
  103. package/src/report/toolbar/dropdown/ToolbarOverflowButton.js +16 -5
  104. package/src/report/toolbar/dropdown/ToolbarOverflowPanel.scss +26 -14
  105. package/src/report/toolbar/layout/ReportToolbarOverflow.js +5 -2
  106. package/src/ringBuffer.js +7 -3
  107. package/src/uielement/command/GetUIElementCommand.js +0 -1
  108. package/src/uielement/component/UiCPWrapper.js +26 -36
  109. package/src/uielement/component/UiCustomController.js +7 -0
  110. package/src/uielement/component/UiCustomPanel.js +46 -2
  111. package/src/uielement/component/settings/UiCustomPanelEditorController.js +35 -29
  112. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.js +146 -33
  113. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.scss +28 -0
  114. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGridController.js +366 -22
  115. package/src/uielement/component/settings/plugin/UiCustomPanelPluginModel.js +1 -0
  116. package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanel.js +10 -4
  117. package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanelController.js +28 -30
  118. package/src/uielement/plugin/UnifiedButtonToolbarPlugin.js +203 -22
  119. package/src/uielement/plugin/configPanel/ExecuteFunctionPluginConfigPanelFormEditor.js +4 -36
  120. package/src/uielement/plugin/configPanel/FireEventPluginConfigPanelFormEditor.js +5 -36
  121. package/src/uielement/plugin/configPanel/MethodChainPluginConfigPanelFormEditor.js +4 -36
  122. package/src/uielement/plugin/configPanel/OpenPanelPluginConfigPanelFormEditor.js +2 -38
  123. package/src/uielement/plugin/configPanel/PrintPdfPluginConfigPanelFormEditor.js +2 -35
  124. package/src/uielement/plugin/configPanel/UiCPPluginFormPanel.js +54 -0
  125. package/src/uielement/plugin/configPanel/UnifiedButtonToolbarPluginConfigPanelFormEditor.js +28 -18
  126. package/src/userSettings.js +1 -0
  127. package/src/util/ContextManager.js +109 -0
  128. package/src/util.js +96 -15
  129. package/src/version.js +1 -1
  130. package/src/app/viewPort/CenterViewController.js +0 -158
@@ -0,0 +1,363 @@
1
+ Ext.define('Coon.report.component.calculator.ReportCalculatorPanel', {
2
+ extend: 'Ext.panel.Panel',
3
+ alias: 'widget.ReportCalculatorPanel',
4
+ xtype: 'ReportCalculatorPanel',
5
+ id: 'ReportCalculatorPanel',
6
+ cls: 'ReportCalculatorPanel',
7
+ uses: [],
8
+ requires: [],
9
+ title: 'Калькулятор',
10
+ width: 396,
11
+ height: 255,
12
+ floating: true,
13
+ draggable: true,
14
+ closable: true,
15
+ closeAction: 'hide',
16
+ controller: 'ReportCalculatorController',
17
+ viewModel: {
18
+ data: {
19
+ operand1: null,
20
+ operand2: null,
21
+ operator: '',
22
+ equal: ' ',
23
+ memory: null,
24
+ isDisabledAll: false,
25
+ },
26
+ formulas: {
27
+ isDisabledEX: function(get) {
28
+ return !(get('operand1') && !get('operand2'));
29
+ },
30
+ },
31
+ },
32
+ layout: {
33
+ type: 'vbox', align: 'stretch',
34
+ },
35
+ singleton: true,
36
+ bodyPadding: '10 20 20 20',
37
+ items: [
38
+ {
39
+ xtype: 'ReportCalculatorField',
40
+ reference: 'ReportCalculatorField',
41
+ bind: {
42
+ fieldLabel: '{operand1} {operator} {operand2} {equal}',
43
+ },
44
+ listeners: {
45
+ change: 'onFieldChange',
46
+ },
47
+ },
48
+ {
49
+ layout: {
50
+ type: 'hbox',
51
+ align: 'stretch',
52
+ },
53
+ defaults: {
54
+ width: 46,
55
+ margin: 2,
56
+ },
57
+ items: [
58
+ {
59
+ xtype: 'button',
60
+ cls: 'calculator2-button-type',
61
+ focusCls: 'calculator2-button-type',
62
+ text: 'EX',
63
+ handler: 'swapOperands',
64
+ bind: {
65
+ disabled: '{isDisabledEX}',
66
+ },
67
+ },
68
+ {
69
+ xtype: 'button',
70
+ cls: 'calculator1-button-type',
71
+ focusCls: 'calculator1-button-type',
72
+ text: 'MR',
73
+ handler: 'enterMemoryValue',
74
+ bind: {
75
+ disabled: '{isDisabledAll}',
76
+ },
77
+ },
78
+ {
79
+ xtype: 'button',
80
+ cls: 'calculator1-button-type',
81
+ focusCls: 'calculator1-button-type',
82
+ text: '7',
83
+ margin: '2 2 2 10',
84
+ handler: 'enterNumber',
85
+ },
86
+ {
87
+ xtype: 'button',
88
+ cls: 'calculator1-button-type',
89
+ focusCls: 'calculator1-button-type',
90
+ text: '8',
91
+ handler: 'enterNumber',
92
+ },
93
+ {
94
+ xtype: 'button',
95
+ cls: 'calculator1-button-type',
96
+ focusCls: 'calculator1-button-type',
97
+ text: '9',
98
+ handler: 'enterNumber',
99
+ },
100
+ {
101
+ xtype: 'button',
102
+ cls: 'calculator2-button-type',
103
+ focusCls: 'calculator2-button-type',
104
+ text: '÷',
105
+ handler: 'selectOperator',
106
+ bind: {
107
+ disabled: '{isDisabledAll}',
108
+ },
109
+ },
110
+ {
111
+ xtype: 'button',
112
+ text: '+/-',
113
+ cls: 'calculator2-button-type',
114
+ focusCls: 'calculator2-button-type',
115
+ handler: 'toggleSign',
116
+ bind: {
117
+ disabled: '{isDisabledAll}',
118
+ },
119
+ }
120
+ ],
121
+ },
122
+ {
123
+ layout: {
124
+ type: 'hbox',
125
+ align: 'stretch',
126
+ },
127
+ defaults: {
128
+ width: 46,
129
+ margin: 2,
130
+ },
131
+ items: [
132
+ {
133
+ xtype: 'button',
134
+ text: '←',
135
+ cls: 'calculator2-button-type',
136
+ focusCls: 'calculator2-button-type',
137
+ handler: 'deleteSymbol',
138
+ },
139
+ {
140
+ xtype: 'button',
141
+ text: 'M=',
142
+ cls: 'calculator1-button-type',
143
+ focusCls: 'calculator1-button-type',
144
+ handler: 'setMemory',
145
+ bind: {
146
+ disabled: '{isDisabledAll}',
147
+ },
148
+ },
149
+ {
150
+ xtype: 'button',
151
+ cls: 'calculator1-button-type',
152
+ focusCls: 'calculator1-button-type',
153
+ text: '4',
154
+ margin: '2 2 2 10',
155
+ handler: 'enterNumber',
156
+ },
157
+ {
158
+ xtype: 'button',
159
+ cls: 'calculator1-button-type',
160
+ focusCls: 'calculator1-button-type',
161
+ text: '5',
162
+ handler: 'enterNumber',
163
+ },
164
+ {
165
+ xtype: 'button',
166
+ cls: 'calculator1-button-type',
167
+ focusCls: 'calculator1-button-type',
168
+ text: '6',
169
+ handler: 'enterNumber',
170
+ },
171
+ {
172
+ xtype: 'button',
173
+ text: '×',
174
+ cls: 'calculator2-button-type',
175
+ focusCls: 'calculator2-button-type',
176
+ handler: 'selectOperator',
177
+ bind: {
178
+ disabled: '{isDisabledAll}',
179
+ },
180
+ },
181
+ {
182
+ xtype: 'button',
183
+ text: '-',
184
+ cls: 'calculator2-button-type',
185
+ focusCls: 'calculator2-button-type',
186
+ handler: 'selectOperator',
187
+ bind: {
188
+ disabled: '{isDisabledAll}',
189
+ },
190
+ }
191
+ ],
192
+ },
193
+ {
194
+ layout: {
195
+ type: 'hbox', align: 'stretch',
196
+ },
197
+ items: [
198
+ {
199
+ layout: {
200
+ type: 'vbox', align: 'stretch',
201
+ },
202
+ defaults: {
203
+ width: 46,
204
+ margin: 2,
205
+ cls: 'calculator2-button-type',
206
+ focusCls: 'calculator2-button-type',
207
+ },
208
+ items: [
209
+ {
210
+ xtype: 'button',
211
+ text: 'CE',
212
+ handler: 'deleteTextfield',
213
+ },
214
+ {
215
+ xtype: 'button',
216
+ text: 'C',
217
+ handler: 'deleteAll',
218
+ }
219
+ ],
220
+ },
221
+ {
222
+ layout: {
223
+ type: 'vbox', align: 'stretch',
224
+ },
225
+ defaults: {
226
+ width: 46,
227
+ margin: 2,
228
+ cls: 'calculator1-button-type',
229
+ focusCls: 'calculator1-button-type',
230
+ },
231
+ items: [
232
+ {
233
+ xtype: 'button',
234
+ text: 'M+',
235
+ handler: 'addMemory',
236
+ bind: {
237
+ disabled: '{isDisabledAll}',
238
+ },
239
+ },
240
+ {
241
+ xtype: 'button',
242
+ text: 'M-',
243
+ handler: 'subtractMemory',
244
+ bind: {
245
+ disabled: '{isDisabledAll}',
246
+ },
247
+ }
248
+ ],
249
+ },
250
+ {
251
+ layout: {
252
+ type: 'vbox',
253
+ align: 'stretch',
254
+ },
255
+ margin: '0 0 0 8',
256
+ defaults: {
257
+ width: 46,
258
+ margin: '2',
259
+ cls: 'calculator1-button-type',
260
+ focusCls: 'calculator1-button-type',
261
+ },
262
+ items: [
263
+ {
264
+ xtype: 'button',
265
+ text: '1',
266
+ handler: 'enterNumber',
267
+ },
268
+ {
269
+ xtype: 'button',
270
+ text: '0',
271
+ handler: 'enterNumber',
272
+ }
273
+ ],
274
+ },
275
+ {
276
+ layout: {
277
+ type: 'vbox', align: 'stretch',
278
+ },
279
+ defaults: {
280
+ width: 46,
281
+ margin: 2,
282
+ cls: 'calculator1-button-type',
283
+ focusCls: 'calculator1-button-type',
284
+ },
285
+ items: [
286
+ {
287
+ xtype: 'button',
288
+ text: '2',
289
+ handler: 'enterNumber',
290
+ },
291
+ {
292
+ xtype: 'button',
293
+ text: '00',
294
+ handler: 'enterNumber',
295
+ bind: {
296
+ disabled: '{isDisabledAll}',
297
+ },
298
+ }
299
+ ],
300
+ },
301
+ {
302
+ layout: {
303
+ type: 'vbox', align: 'stretch',
304
+ },
305
+ defaults: {
306
+ width: 46,
307
+ margin: 2,
308
+ },
309
+ items: [
310
+ {
311
+ xtype: 'button',
312
+ cls: 'calculator1-button-type',
313
+ focusCls: 'calculator1-button-type',
314
+ text: '3',
315
+ handler: 'enterNumber',
316
+ },
317
+ {
318
+ xtype: 'button',
319
+ cls: 'calculator1-button-type',
320
+ focusCls: 'calculator1-button-type',
321
+ text: '.',
322
+ handler: 'enterSeparator',
323
+ bind: {
324
+ disabled: '{isDisabledAll}',
325
+ },
326
+ }
327
+ ],
328
+ },
329
+ {
330
+ xtype: 'button',
331
+ width: 46,
332
+ margin: 2,
333
+ cls: 'calculator2-button-type',
334
+ focusCls: 'calculator2-button-type',
335
+ text: '+',
336
+ handler: 'selectOperator',
337
+ bind: {
338
+ disabled: '{isDisabledAll}',
339
+ },
340
+ },
341
+ {
342
+ xtype: 'button',
343
+ width: 46,
344
+ margin: 2,
345
+ cls: 'calculator2-button-type',
346
+ focusCls: 'calculator2-button-type',
347
+ text: '=',
348
+ handler: 'calculate',
349
+ bind: {
350
+ disabled: '{isDisabledAll}',
351
+ },
352
+ }
353
+ ],
354
+ }
355
+ ],
356
+ open() {
357
+ const CALC_WIDTH_OFFSET = 444;
358
+ const CALC_HEIGHT_OFFSET = 335;
359
+ const calcSize = Ext.getBody().getViewSize();
360
+ const calcPanel = Coon.report.component.calculator.ReportCalculatorPanel;
361
+ calcPanel.showAt([calcSize.width - CALC_WIDTH_OFFSET, calcSize.height - CALC_HEIGHT_OFFSET]);
362
+ },
363
+ });
@@ -0,0 +1,86 @@
1
+ $focus-background-color: rgba(254, 249, 233, 1) !default;
2
+
3
+ .ReportCalculatorPanel {
4
+ .calculator1-button-type {
5
+ border: 1px solid #BACBE0 !important;
6
+ border-radius: 6px;
7
+ }
8
+ .calculator1-button-type.x-btn-default-small {
9
+ padding: 6px 12px;
10
+ }
11
+ .calculator1-button-type .x-btn-inner-default-small {
12
+ font-size: 13px;
13
+ font-weight: 400 !important;
14
+ line-height: 16px;
15
+ padding: 0;
16
+ }
17
+ .calculator1-button-type .x-btn-inner {
18
+ color: #111111;
19
+ }
20
+ .calculator1-button-type.x-btn-over {
21
+ background-color: #F5F5F5;
22
+ }
23
+ .calculator1-button-type.x-btn-pressed {
24
+ background-color: #F8F8F8;
25
+ }
26
+ .calculator1-button-type.x-btn-over .x-btn-inner {
27
+ color: #111111 !important;
28
+ }
29
+ .calculator1-button-type.x-btn-pressed .x-btn-inner {
30
+ color: #445B69 !important;
31
+ }
32
+ .calculator1-button-type.x-btn-disabled {
33
+ background-color: #FFFFFF !important;
34
+ border: 1px solid #ECECEC !important;
35
+ }
36
+ .calculator1-button-type.x-btn-disabled .x-btn-inner {
37
+ color: #A9A9A9;
38
+ }
39
+
40
+
41
+ .calculator2-button-type {
42
+ border: 1px solid #BACBE0 !important;
43
+ border-radius: 6px;
44
+ }
45
+ .calculator2-button-type.x-btn-default-small {
46
+ padding: 6px 12px;
47
+ background-color: #F5F8FA !important;
48
+ }
49
+ .calculator2-button-type .x-btn-inner-default-small {
50
+ font-size: 13px;
51
+ font-weight: 400 !important;
52
+ line-height: 16px;
53
+ padding: 0;
54
+ }
55
+ .calculator2-button-type .x-btn-inner {
56
+ color: #1E3B4C;
57
+ }
58
+ .calculator2-button-type.x-btn-over {
59
+ background-color: #F5F5F5;
60
+ }
61
+ .calculator2-button-type.x-btn-pressed {
62
+ background-color: #F8F8F8;
63
+ }
64
+ .calculator2-button-type.x-btn-over .x-btn-inner {
65
+ color: #111111 !important;
66
+ }
67
+ .calculator2-button-type.x-btn-pressed .x-btn-inner {
68
+ color: #445B69 !important;
69
+ }
70
+ .calculator2-button-type.x-btn-disabled {
71
+ background-color: #FFFFFF !important;
72
+ border: 1px solid #ECECEC !important;
73
+ }
74
+ .calculator2-button-type.x-btn-disabled .x-btn-inner {
75
+ color: #A9A9A9;
76
+ }
77
+
78
+ .x-form-type-text:has(*:focus) {
79
+ background-color: $focus-background-color;
80
+ background-clip: content-box;
81
+
82
+ .x-form-item-body {
83
+ background-color: $focus-background-color;
84
+ }
85
+ }
86
+ }
@@ -159,7 +159,7 @@ Ext.define('Coon.report.component.reportpanel.CopyReportPanelController', {
159
159
  .catch((error) => {
160
160
  Coon.log.debug(error);
161
161
  this.getViewModel().set('isReportIDValid', false);
162
- this.lookup('copyToFieldRef').markInvalid('ReportID уже существует!');
162
+ this.lookup('copyToFieldRef') && this.lookup('copyToFieldRef').markInvalid('ReportID уже существует!');
163
163
  Ext.Msg.alert('Ошибка', error.toString());
164
164
  })
165
165
  .finally(() => {
@@ -66,8 +66,7 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
66
66
  let rowCount = 0;
67
67
  for (let i = 0; i < configurationList.length; i++) {
68
68
  const configuration = configurationList[i];
69
- const ns = Coon.report.model.ReportParameterBeanFields;
70
- if (currentLayout === null || (visibleCount >= this.itemsOnRow && configuration[ns.$visibleSwitch])) {
69
+ if (currentLayout === null || (visibleCount >= this.itemsOnRow && configuration.visibleSwitch)) {
71
70
  if (currentLayout !== null) {
72
71
  height += currentLayout.height;
73
72
  this.items.push(currentLayout);
@@ -93,7 +92,7 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
93
92
  currentLayout.height = configuration.height;
94
93
  }
95
94
  const filterItem = this.createFilterItem(configuration);
96
- if (configuration[ns.$visibleSwitch]) {
95
+ if (configuration.visibleSwitch) {
97
96
  visibleCount += configuration.weight;
98
97
  }
99
98
  currentLayout.add(filterItem);
@@ -121,15 +120,14 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
121
120
  },
122
121
 
123
122
  createFilterItem: function(configuration) {
124
- const ns = Coon.report.model.ReportParameterBeanFields;
125
-
126
123
  const defaultConfig = {
127
124
  // isReportFilterField флаг, позволяющий компоненту понимать,что он является частью фильтр панели отчета.
128
125
  isReportFilterField: true,
129
- fieldLabel: configuration[ns.$description],
130
- allowBlank: !configuration[ns.$requiredSwitch],
131
- hidden: !configuration[ns.$visibleSwitch],
132
- name: configuration[ns.$reportParameterCd],
126
+ defaultFocus: configuration.defaultFocus,
127
+ fieldLabel: configuration.description,
128
+ allowBlank: !configuration.requiredSwitch,
129
+ hidden: !configuration.visibleSwitch,
130
+ name: configuration.reportParameterCd,
133
131
  labelWidth: configuration.labelWidth || 80,
134
132
  triggers: {
135
133
  clear: {
@@ -145,7 +143,7 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
145
143
  },
146
144
  };
147
145
  let config;
148
- switch (configuration[ns.$reportParameterTypeLookup]) {
146
+ switch (configuration.reportParameterTypeLookup) {
149
147
  case 'DATETIME':
150
148
  config = {
151
149
  xtype: 'DateTimeField',
@@ -168,10 +166,10 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
168
166
  };
169
167
  break;
170
168
  case 'DATE':
171
- if (configuration[ns.$properties]['periodEnd']) {
169
+ if (configuration.properties['periodEnd']) {
172
170
  config = Object.assign(
173
171
  {xtype: 'DatePickerPresetsField'},
174
- configuration[ns.$properties]
172
+ configuration.properties
175
173
  );
176
174
  } else {
177
175
  config = {
@@ -205,15 +203,15 @@ Ext.define('Coon.report.component.reportpanel.FilterPanel', {
205
203
  break;
206
204
  }
207
205
 
208
- config = Ext.apply(config, Coon.Function.convertAdvancedProperties(configuration[ns.$properties]), defaultConfig);
206
+ config = Ext.apply(config, Coon.Function.convertAdvancedProperties(configuration.properties), defaultConfig);
209
207
  if (!Ext.isDefined(config.width) && !Ext.isDefined(config.flex)) {
210
208
  config.flex = 1;
211
209
  }
212
210
  const field = Ext.widget(config);
213
211
  field.on('change', this.setClearTrigger, this);
214
212
  // Установка значения по-умолчанию
215
- const value = configuration[ns.$defaultValue];
216
- const visibleValue = configuration[ns.$defaultValueDescription];
213
+ const value = configuration.defaultValue;
214
+ const visibleValue = configuration.defaultValueDescription;
217
215
  if (!Ext.isEmpty(value)) {
218
216
  field.on('afterrender', function() {
219
217
  field.setValue(value);
@@ -1,3 +1,4 @@
1
+ $focus-background-color: rgba(254, 249, 233, 1) !default;
1
2
  .FilterPanel {
2
3
  .x-form-type-checkbox {
3
4
 
@@ -11,6 +12,9 @@
11
12
  //.x-form-text-field-body-default {
12
13
  // background-color: rgba(87,255,93,0.19) !important;
13
14
  //}
14
- }
15
15
 
16
+ .x-form-cb-wrap-inner:has(*:focus) {
17
+ background-color: $focus-background-color;
18
+ }
16
19
 
20
+ }