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
@@ -1,6 +1,7 @@
1
1
  Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPanel', {
2
2
  extend: 'Coon.report.plugin.configPanel.GridToolbarButtonPluginConfigPanel',
3
3
  alias: 'widget.OpenCustomPanelButtonPluginConfigPanel',
4
+ cls: 'OpenCustomPanelButtonPluginConfigPanel',
4
5
  uses: [],
5
6
  requires: [
6
7
  'Coon.report.component.settings.common.ReportFormContextParametersGrid',
@@ -27,267 +28,283 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
27
28
  autoSize: null,
28
29
  },
29
30
  },
30
- createItems: function() {
31
- return [
32
- {
33
- xtype: 'panel',
34
- layout: 'border',
35
- flex: 1,
36
- items: [
37
- {
38
- region: 'center',
39
- autoScroll: true,
40
- xtype: 'form',
41
- labelWidth: 130,
42
- items: [
43
- {
44
- layout: {
45
- type: 'vbox',
46
- align: 'stretch',
47
- },
48
- defaults: {
49
- labelWidth: 130,
50
- flex: 1,
51
- },
52
- items: [
53
- this.createDependsOnGridRow(),
54
- this.createDependsOnGridParameter(),
55
- this.isCreatedButtonHidden(),
56
- this.createAddButtonPanel(),
57
- {
58
- xtype: 'fieldset',
59
- items: [
60
- Object.assign(this.createActOnDoubleClickCheckBox(), {
61
- reference: 'actOnDoubleClick',
62
- bind: {
63
- disabled: '{actOnSingleClick.checked}',
64
- },
65
- }),
66
- this.createActOnOnSingleClickControl()
67
- ],
68
- },
69
- this.createHotKeyPanel(),
70
- this.createVisibilityKeyPanel(),
71
- this.createNewObjectCreated(),
72
- {
73
- boxLabel: 'Открыть экземпляр старой версии биллинга',
31
+ layout: 'fit',
74
32
 
75
- xtype: 'checkbox',
76
- name: 'oldFrame',
77
- },
78
- {
79
- label: 'Источник определения панели',
80
- name: 'xtypeSelector',
81
- xtype: 'ConstantList',
82
- reference: 'OpenCustomPanelButtonPluginSourceSelectorField',
83
- data: [
84
- ['LIST', 'Список панелей', '[reference=OpenCustomPanelButtonPluginComboFld]'],
85
- ['UI_LIST', 'Список UI элементов', '[reference=OpenCustomPanelButtonPluginUIComboFld]'],
86
- ['FUNCTION_NAME', 'Имя функции', '[reference=OpenCustomPanelButtonPluginFunctionNameFld]'],
87
- ['FUNCTION_BODY', 'Определение функции', '[reference=OpenCustomPanelButtonPluginFunctionDefinitionFld]'],
88
- ['MAPPING', 'Сопоставление', '[reference=OpenCustomPanelButtonPluginFMappingFld]']
89
- ],
90
- },
91
- {
92
- fieldLabel: 'xtype панели',
93
- name: 'xtype',
94
- xtype: 'PanelComboBox',
95
- reference: 'OpenCustomPanelButtonPluginComboFld',
96
- hidden: true,
97
- },
98
- {
99
- fieldLabel: 'UIElementCd',
100
- name: 'UIElement',
101
- xtype: 'ReportLookupCombo',
102
- reportId: 'UI_ELEMENTS_LIST',
103
- valueField: 'UI_ELEMENT_CD',
104
- displayField: 'UI_ELEMENT_CD',
105
- reference: 'OpenCustomPanelButtonPluginUIComboFld',
106
- hidden: true,
107
- listeners: {
108
- render: function(field) {
109
- Ext.create('Ext.tip.ToolTip', {
110
- target: field.el,
111
- html: 'Press this button to clear the form',
112
- listeners: {
113
- beforeshow: function(tip) {
114
- const rec = field.valueCollection.items.length ? field.valueCollection.items[0] : null;
115
- if (rec) {
116
- tip.setHtml(
117
- 'UIElementCd: ' + rec.get('UI_ELEMENT_CD') + '<br />' +
118
- 'xtype: ' + rec.get('XTYPE') + '<br />' +
119
- 'description: ' + rec.get('DESCR') + '<br />'
120
- );
121
- } else {
122
- return false;
123
- }
124
- },
125
- },
126
- });
127
- },
128
- },
129
- },
130
- {
131
- xtype: 'hidden',
132
- name: 'OpenCustomPanelButtonPluginUIComboFldXtype',
133
- reference: 'OpenCustomPanelButtonPluginUIComboFldXtype',
134
- },
135
- {
136
- fieldLabel: 'имя функции возвращающей xtype панели',
137
- name: 'xtypeFunctionName',
138
- xtype: 'textfield',
139
- reference: 'OpenCustomPanelButtonPluginFunctionNameFld',
140
- hidden: true,
141
- },
142
- {
143
- fieldLabel: 'функция возвращающая xtype панели',
144
- name: 'xtypeFunctionDefinition',
145
- xtype: 'textarea',
146
- reference: 'OpenCustomPanelButtonPluginFunctionDefinitionFld',
147
- height: 300,
148
- hidden: true,
149
- triggers: {
150
- template: {
151
- tooltip: 'Шаблон функции',
152
- cls: 'svg-icon svg-icon-settings',
153
- handler: function(field) {
154
- field.setValue('function(reportPanel,selectedRecord) { return \'classPanelName\'; }');
155
- },
156
- },
157
- },
158
- },
159
- {
160
- xtype: 'ReportFormContextXTypeMappingGrid',
161
- fieldLabel: 'список посоставления',
162
- reference: 'OpenCustomPanelButtonPluginFMappingFld',
163
- name: 'xtypeMapping',
164
- height: 200,
165
- hidden: true,
166
- flex: 1,
167
- },
168
- {
169
- xtype: 'numberfield',
170
- hideTrigger: true,
171
- fieldLabel: 'Ширина окна',
172
- width: 200,
173
- emptyText: 'По умолчанию 780',
174
- allowNegative: false,
175
- minValue: 100,
176
- name: 'panelWidth',
177
- bind: {
178
- disabled: '{autoSize}',
179
- },
180
- },
181
- {
182
- xtype: 'numberfield',
183
- hideTrigger: true,
184
- fieldLabel: 'Высота окна',
185
- width: 200,
186
- emptyText: 'По умолчанию 450',
187
- allowNegative: false,
188
- minValue: 100,
189
- name: 'panelHeight',
190
- bind: {
191
- disabled: '{autoSize}',
192
- },
193
- },
194
- {
195
- boxLabel: 'Автоматические размеры окна (по размерам открываемой панели)',
196
- xtype: 'checkbox',
197
- name: 'autoSize',
198
- bind: {
199
- value: '{autoSize}',
200
- },
201
- },
202
- {
203
- boxLabel: 'Встроить справа от меню',
204
-
205
- xtype: 'checkbox',
206
- name: 'displacedMode',
207
- },
208
- {
209
- boxLabel: 'Открыть в окне репорта (возврат к репорту - по кнопке)',
210
-
211
- xtype: 'checkbox',
212
- name: 'openInReport',
213
- },
214
- this.createReloadAfterActionField({
215
- name: 'reloadAfterClose',
216
- fieldLabel: 'Обновлять отчет после закрытия',
217
- }),
218
- {
219
- boxLabel: 'Закрыть отчёт после закрытия',
220
-
221
- xtype: 'checkbox',
222
- name: 'closeAfterClose',
223
- },
224
- {
225
- xtype: 'checkbox',
226
- boxLabel: 'Возвращать данные из выделенной строки',
227
-
228
- name: 'sendDataOnSelect',
229
- },
230
- {
231
- xtype: 'checkbox',
232
- boxLabel: 'Отобразить кнопки перехода по записям',
33
+ createItems: function() {
34
+ this.topPanel = {
35
+ title: 'Настройка плагина',
36
+ cls: 'northRegion',
37
+ flex: 0.5,
38
+ autoScroll: true,
39
+ layout: {
40
+ type: 'vbox',
41
+ align: 'stretch',
42
+ },
43
+ items: [
44
+ this.createDependsOnGridRow(),
45
+ this.createDependsOnGridParameter(),
46
+ this.isCreatedButtonHidden(),
47
+ this.createAddButtonPanel(),
48
+ {
49
+ xtype: 'fieldset',
50
+ items: [
51
+ Object.assign(this.createActOnDoubleClickCheckBox(), {
52
+ reference: 'actOnDoubleClick',
53
+ bind: {
54
+ disabled: '{actOnSingleClick.checked}',
55
+ },
56
+ }),
57
+ this.createActOnOnSingleClickControl()
58
+ ],
59
+ },
60
+ this.createHotKeyPanel(),
61
+ this.createVisibilityKeyPanel(),
62
+ this.createNewObjectCreated(),
63
+ {
64
+ boxLabel: 'Открыть экземпляр старой версии биллинга',
233
65
 
234
- name: 'createChangeSelectionButton',
235
- },
236
- this.createSendKeyValueField(),
237
- {
238
- xtype: 'checkbox',
239
- boxLabel: 'Редактировать после создания?',
240
- name: 'handleNewObjectEvent',
66
+ xtype: 'checkbox',
67
+ name: 'oldFrame',
68
+ },
69
+ {
70
+ label: 'Источник определения панели',
71
+ name: 'xtypeSelector',
72
+ xtype: 'ConstantList',
73
+ reference: 'OpenCustomPanelButtonPluginSourceSelectorField',
74
+ data: [
75
+ ['LIST', 'Список панелей', '[reference=OpenCustomPanelButtonPluginComboFld]'],
76
+ ['UI_LIST', 'Список UI элементов', '[reference=OpenCustomPanelButtonPluginUIComboFld]'],
77
+ ['FUNCTION_NAME', 'Имя функции', '[reference=OpenCustomPanelButtonPluginFunctionNameFld]'],
78
+ ['FUNCTION_BODY', 'Определение функции', '[reference=OpenCustomPanelButtonPluginFunctionDefinitionFld]'],
79
+ ['MAPPING', 'Сопоставление', '[reference=OpenCustomPanelButtonPluginFMappingFld]']
80
+ ],
81
+ },
82
+ {
83
+ fieldLabel: 'xtype панели',
84
+ name: 'xtype',
85
+ xtype: 'PanelComboBox',
86
+ reference: 'OpenCustomPanelButtonPluginComboFld',
87
+ hidden: true,
88
+ },
89
+ {
90
+ fieldLabel: 'UIElementCd',
91
+ name: 'UIElement',
92
+ xtype: 'ReportLookupCombo',
93
+ reportId: 'UI_ELEMENTS_LIST',
94
+ valueField: 'UI_ELEMENT_CD',
95
+ displayField: 'UI_ELEMENT_CD',
96
+ reference: 'OpenCustomPanelButtonPluginUIComboFld',
97
+ hidden: true,
98
+ listeners: {
99
+ render: function(field) {
100
+ Ext.create('Ext.tip.ToolTip', {
101
+ target: field.el,
102
+ html: 'Press this button to clear the form',
103
+ listeners: {
104
+ beforeshow: function(tip) {
105
+ const rec = field.valueCollection.items.length ? field.valueCollection.items[0] : null;
106
+ if (rec) {
107
+ tip.setHtml(
108
+ 'UIElementCd: ' + rec.get('UI_ELEMENT_CD') + '<br />' +
109
+ 'xtype: ' + rec.get('XTYPE') + '<br />' +
110
+ 'description: ' + rec.get('DESCR') + '<br />'
111
+ );
112
+ } else {
113
+ return false;
114
+ }
241
115
  },
242
- {
243
- xtype: 'combobox',
244
- name: 'newObjectChangeButtonPlugin',
245
- reference: 'newObjectChangeButtonPluginCombo',
246
- fieldLabel: 'UIElement кнопки редактирования',
247
- store: {
248
- field: ['value'],
249
- },
250
- valueField: 'value',
251
- displayField: 'value',
252
- }
253
- ],
254
- }
255
- ],
116
+ },
117
+ });
118
+ },
119
+ },
120
+ },
121
+ {
122
+ xtype: 'hidden',
123
+ name: 'OpenCustomPanelButtonPluginUIComboFldXtype',
124
+ reference: 'OpenCustomPanelButtonPluginUIComboFldXtype',
125
+ },
126
+ {
127
+ fieldLabel: 'имя функции возвращающей xtype панели',
128
+ name: 'xtypeFunctionName',
129
+ xtype: 'textfield',
130
+ reference: 'OpenCustomPanelButtonPluginFunctionNameFld',
131
+ hidden: true,
132
+ },
133
+ {
134
+ fieldLabel: 'функция возвращающая xtype панели',
135
+ name: 'xtypeFunctionDefinition',
136
+ xtype: 'textarea',
137
+ reference: 'OpenCustomPanelButtonPluginFunctionDefinitionFld',
138
+ height: 300,
139
+ hidden: true,
140
+ triggers: {
141
+ template: {
142
+ tooltip: 'Шаблон функции',
143
+ cls: 'svg-icon svg-icon-settings',
144
+ handler: function(field) {
145
+ field.setValue('function(reportPanel,selectedRecord) { return \'classPanelName\'; }');
146
+ },
147
+ },
148
+ },
149
+ },
150
+ {
151
+ xtype: 'ReportFormContextXTypeMappingGrid',
152
+ fieldLabel: 'список посоставления',
153
+ reference: 'OpenCustomPanelButtonPluginFMappingFld',
154
+ name: 'xtypeMapping',
155
+ height: 200,
156
+ hidden: true,
157
+ flex: 1,
158
+ },
159
+ {
160
+ xtype: 'numberfield',
161
+ hideTrigger: true,
162
+ fieldLabel: 'Ширина окна',
163
+ width: 200,
164
+ emptyText: 'По умолчанию 780',
165
+ allowNegative: false,
166
+ minValue: 100,
167
+ name: 'panelWidth',
168
+ bind: {
169
+ disabled: '{autoSize}',
170
+ },
171
+ },
172
+ {
173
+ xtype: 'numberfield',
174
+ hideTrigger: true,
175
+ fieldLabel: 'Высота окна',
176
+ width: 200,
177
+ emptyText: 'По умолчанию 450',
178
+ allowNegative: false,
179
+ minValue: 100,
180
+ name: 'panelHeight',
181
+ bind: {
182
+ disabled: '{autoSize}',
183
+ },
184
+ },
185
+ {
186
+ boxLabel: 'Автоматические размеры окна (по размерам открываемой панели)',
187
+ xtype: 'checkbox',
188
+ name: 'autoSize',
189
+ bind: {
190
+ value: '{autoSize}',
256
191
  },
257
- {
258
- region: 'south',
259
- height: 250,
260
- split: true,
261
- layout: 'fit',
262
- items: [
263
- {
264
- layout: {
265
- type: 'hbox',
266
- pack: 'start',
267
- align: 'stretch',
192
+ },
193
+ // {
194
+ // boxLabel: 'Встроить справа от меню',
195
+ // xtype: 'checkbox',
196
+ // name: 'displacedMode',
197
+ // },
198
+ {
199
+ xtype: 'fieldcontainer',
200
+ fieldLabel: 'режим открытия',
201
+ style: {
202
+ border: '1px solid lightgray',
203
+ borderRadius: '4px',
204
+ padding: '4px',
205
+ },
206
+ items: [
207
+ {
208
+ boxLabel: 'Открыть в модальном окне(WindowWrap)[по умолчанию откроется в вкладке]',
209
+ xtype: 'checkbox',
210
+ name: 'openInWindow',
211
+ listeners: {
212
+ change(checkbox) {
213
+ checkbox.up().down('[name=openInReport]').setDisabled(checkbox.checked);
268
214
  },
269
- items: [
270
- {
271
- xtype: 'ReportFormContextParametersGrid',
272
- reference: 'OpenCustomPanelButtonPluginParametersGrid',
273
- flex: 3,
274
- height: 250,
275
- loadParametersSource: undefined,
276
- },
277
- {
278
- xtype: 'ReportPropertiesGrid',
279
- height: 250,
280
- flex: 1,
281
- split: true,
282
- }
283
- ],
284
- }
285
- ],
286
- }
287
- ],
288
- }
289
- ];
215
+ },
216
+ },
217
+ {
218
+ boxLabel: 'Открыть в окне репорта (возврат к репорту - по кнопке)',
219
+ xtype: 'checkbox',
220
+ name: 'openInReport',
221
+ listeners: {
222
+ change(checkbox) {
223
+ checkbox.up().down('[name=openInWindow]').setDisabled(checkbox.checked);
224
+ },
225
+ },
226
+ }
227
+ ],
228
+ },
229
+ this.createReloadAfterActionField({
230
+ name: 'reloadAfterClose',
231
+ fieldLabel: 'Обновлять отчет после закрытия',
232
+ }),
233
+ {
234
+ boxLabel: 'Закрыть отчёт после закрытия',
235
+ xtype: 'checkbox',
236
+ name: 'closeAfterClose',
237
+ },
238
+ {
239
+ xtype: 'checkbox',
240
+ boxLabel: 'Возвращать данные из выделенной строки',
241
+ name: 'sendDataOnSelect',
242
+ },
243
+ {
244
+ xtype: 'checkbox',
245
+ boxLabel: 'Отобразить кнопки перехода по записям',
246
+ name: 'createChangeSelectionButton',
247
+ },
248
+ this.createSendKeyValueField(),
249
+ {
250
+ xtype: 'checkbox',
251
+ boxLabel: 'Редактировать после создания?',
252
+ name: 'handleNewObjectEvent',
253
+ },
254
+ {
255
+ xtype: 'combobox',
256
+ name: 'newObjectChangeButtonPlugin',
257
+ reference: 'newObjectChangeButtonPluginCombo',
258
+ fieldLabel: 'UIElement кнопки редактирования',
259
+ store: {
260
+ field: ['value'],
261
+ },
262
+ valueField: 'value',
263
+ displayField: 'value',
264
+ }
265
+ ],
266
+ };
267
+ this.bottomPanel = {
268
+ title: 'Входные параметры и свойства',
269
+ cls: 'southRegion',
270
+ flex: 0.5,
271
+ layout: {
272
+ type: 'vbox',
273
+ align: 'stretch',
274
+ },
275
+ items: [
276
+ {
277
+ xtype: 'ReportFormContextParametersGrid',
278
+ reference: 'OpenCustomPanelButtonPluginParametersGrid',
279
+ flex: 1,
280
+ height: 250,
281
+ loadParametersSource: undefined,
282
+ },
283
+ {
284
+ xtype: 'ReportPropertiesGrid',
285
+ height: 250,
286
+ flex: 1,
287
+ split: true,
288
+ }
289
+ ],
290
+ };
291
+ return {
292
+ xtype: 'panel',
293
+ layout: {
294
+ type: 'vbox',
295
+ align: 'stretch',
296
+ },
297
+ flex: 1,
298
+ defaults: {
299
+ collapsible: true,
300
+ },
301
+ items: [
302
+ this.topPanel,
303
+ this.bottomPanel
304
+ ],
305
+ };
290
306
  },
307
+
291
308
  setContext: function(context) {
292
309
  this.callParent(arguments);
293
310
  const grid = this.down('[reference=OpenCustomPanelButtonPluginParametersGrid]');
@@ -334,6 +351,7 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
334
351
  newObjectChangeCombo.setStore(buttonPlugins);
335
352
  this.getViewModel().set('autoSize', config.autoSize);
336
353
  },
354
+
337
355
  onChangeUiElementSelector: function(cmp, val) {
338
356
  if (!val) {
339
357
  this.lookup('OpenCustomPanelButtonPluginUIComboFldXtype').setValue('');
@@ -346,6 +364,7 @@ Ext.define('Coon.report.plugin.configPanel.OpenCustomPanelButtonPluginConfigPane
346
364
  });
347
365
  }
348
366
  },
367
+
349
368
  getConfiguration: function() {
350
369
  const config = this.callParent(arguments);
351
370
  const grid = this.down('ReportFormContextParametersGrid');
@@ -1,3 +1,20 @@
1
+ .OpenCustomPanelButtonPluginConfigPanel {
2
+ .southRegion, .northRegion {
3
+ border: 3px solid rgb(235, 236, 238);
4
+ }
5
+ .northRegion {
6
+ .x-panel-body {
7
+ margin-top: 5px;
8
+ }
9
+ }
10
+
11
+ .ReportPropertiesGrid {
12
+ .x-panel-header {
13
+ background-color: #f6f6f6;
14
+ padding: 5px;
15
+ }
16
+ }
17
+ }
1
18
  .x-grid-cell.OCPBP-clickable-cell {
2
19
  text-decoration: underline;
3
20
  cursor: pointer;