ru.coon 2.7.4 → 2.7.6

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 (433) hide show
  1. package/.gitattributes +1 -1
  2. package/.husky/pre-commit +4 -4
  3. package/.lintstagedrc.json +2 -2
  4. package/CHANGELOG.md +28 -0
  5. package/Readme.md +24 -24
  6. package/TODO.md +7 -7
  7. package/doc/changelog.md +118 -118
  8. package/doc/shortcuts.md +5 -5
  9. package/jsdoc.config.json +29 -29
  10. package/package.json +78 -78
  11. package/sass/src/common/plugin/form/PeriodPicker.scss +8 -8
  12. package/src/CustomXMLReader.js +42 -42
  13. package/src/FieldsHelper.js +141 -141
  14. package/src/Function.scss +4 -4
  15. package/src/MessageResources.js +58 -58
  16. package/src/app/Readme.md +0 -0
  17. package/src/app/Router.js +44 -0
  18. package/src/app/component/CenterView.js +65 -0
  19. package/src/app/component/CenterViewController.js +152 -0
  20. package/src/app/viewPort/Main.js +76 -0
  21. package/src/app/viewPort/Main.scss +133 -0
  22. package/src/chart/BaseChart.js +81 -81
  23. package/src/chart/ChartComponent.js +14 -14
  24. package/src/chart/editor/CoonChartEditor.js +189 -189
  25. package/src/chart/editor/CoonChartEditorViewModel.js +28 -28
  26. package/src/chart/editor/DataSourceChartBindForm.js +153 -153
  27. package/src/command/ASyncBaseJSONCommand.js +15 -15
  28. package/src/command/DeletePropertyFromConfigurationCommand.js +18 -18
  29. package/src/command/GetPropertyFromConfigurationCommand.js +18 -18
  30. package/src/command/Readme.md +4 -4
  31. package/src/command/SavePropertyFromConfigurationCommand.js +18 -18
  32. package/src/command/characteristic/CharacteristicValuesCommand.js +50 -50
  33. package/src/command/characteristic/SetEntityCharacteristicsCommand.js +49 -49
  34. package/src/common/baseModel.js +39 -39
  35. package/src/common/button/ForeignButton.js +132 -132
  36. package/src/common/component/ColorPalette.scss +102 -102
  37. package/src/common/component/DFVCharacteristicField.js +24 -24
  38. package/src/common/component/ExternalFrame.scss +8 -8
  39. package/src/common/component/FinanceDocumentDateWindow.js +47 -47
  40. package/src/common/component/ForeignSelectWindow.js +93 -93
  41. package/src/common/component/HotkeyHelpText.js +43 -43
  42. package/src/common/component/HotkeyHelpText.scss +34 -34
  43. package/src/common/component/PropertyDict.js +279 -279
  44. package/src/common/component/TreeComponentStructure.scss +5 -5
  45. package/src/common/component/YearPanel.js +76 -76
  46. package/src/common/component/editor/CharacteristicAddTypeGrid.js +101 -101
  47. package/src/common/component/editor/CharacteristicForeignWindow.js +76 -76
  48. package/src/common/component/editor/CharacteristicGridEditor.scss +66 -66
  49. package/src/common/component/editor/CharacteristicHistoryPanel.js +110 -110
  50. package/src/common/component/editor/CharacteristicHistoryPanelWithDeletedChars.js +136 -136
  51. package/src/common/component/editor/CharacteristicHistoryUserAudit.js +49 -49
  52. package/src/common/component/editor/CharacteristicLoaderByCharacteristicEntityPlugin.js +41 -41
  53. package/src/common/component/editor/CharacteristicTypeLoaderPlugin.js +38 -38
  54. package/src/common/component/editor/HistoryTypedCharacteristicEditor.js +240 -240
  55. package/src/common/component/editor/TypedCharacteristicEditor.scss +7 -7
  56. package/src/common/component/formeditor/UiCustomFormEditor.scss +13 -13
  57. package/src/common/component/settings/commands/getUserSettingsCommand.js +6 -6
  58. package/src/common/component/settings/commands/setUserPropValueCommand.js +23 -23
  59. package/src/common/component/settings/modules/settingClosePageConfirmation.js +27 -27
  60. package/src/common/component/settings/modules/settingShowNeedReloadMessage.js +75 -75
  61. package/src/common/component/settings/modules/settingwindowHolder.js +21 -21
  62. package/src/common/component/settings/stores/userSettingsStoreService.js +37 -37
  63. package/src/common/component/visualeditor/UiCPVisualEditor.scss +108 -108
  64. package/src/common/field/BankBikField.js +15 -15
  65. package/src/common/field/BankKppField.js +16 -16
  66. package/src/common/field/BankOgrnIpField.js +23 -23
  67. package/src/common/field/BankPaymentAccountField.js +48 -48
  68. package/src/common/field/EditorJs.scss +41 -41
  69. package/src/common/field/FieldsHelper.js +198 -198
  70. package/src/common/field/ReportValueField.js +128 -128
  71. package/src/common/field/ReportValueField.scss +2 -2
  72. package/src/common/field/SnilsField.js +35 -35
  73. package/src/common/field/checkbox/CustomValueCheckBox.js +113 -113
  74. package/src/common/field/combo/AbstractComponentsComboBox.js +32 -32
  75. package/src/common/field/combo/BillingLookupComboBox.js +21 -21
  76. package/src/common/field/combo/CommandComboBox.scss +19 -19
  77. package/src/common/field/combo/ConstantList.js +26 -26
  78. package/src/common/field/combo/IsweDynamicCheckboxGroup.js +17 -17
  79. package/src/common/field/combo/PanelComboBox.js +21 -21
  80. package/src/common/field/combo/TownTypeComboBox.js +21 -21
  81. package/src/common/field/fieldset/SelectAccountsRangeFieldSet.js +65 -65
  82. package/src/common/field/fieldset/TimePicker.js +92 -92
  83. package/src/common/field/radio/DynamicRadioGroup.js +87 -87
  84. package/src/common/panel/DayPicker.js +63 -63
  85. package/src/common/panel/DayPicker.scss +15 -15
  86. package/src/common/panel/MainUploadPanel.scss +13 -13
  87. package/src/common/panel/SelectIconClassPanel.scss +38 -38
  88. package/src/common/panel/SelectIconClassPanelTemplate.scss +14 -14
  89. package/src/common/panel/StopwatchWindow.js +44 -44
  90. package/src/common/panel/WindowWrap.js +0 -0
  91. package/src/common/panel/WindowWrap.scss +8 -8
  92. package/src/common/panel/dropzone/UniversalMultiUploadForm.scss +29 -29
  93. package/src/common/panel/dropzone/UniversalMultiUploadFormController.js +233 -233
  94. package/src/common/panel/dropzone/UniversalMultiUploadFormViewModel.js +10 -10
  95. package/src/common/panel/dropzone/UploadDropZone.js +56 -56
  96. package/src/common/panel/dropzone/UploadDropZone.scss +36 -36
  97. package/src/common/panel/widget/LinkWindow.js +67 -67
  98. package/src/common/panel/widget/LinkWindowController.js +69 -69
  99. package/src/common/panel/widget/MainSettingsWindow.js +121 -121
  100. package/src/common/panel/widget/MainSettingsWindowController.js +68 -68
  101. package/src/common/panel/widget/PinWindow.js +42 -42
  102. package/src/common/panel/widget/PinWindowController.js +48 -48
  103. package/src/common/panel/widget/SettingsModel.js +15 -15
  104. package/src/common/panel/widget/SettingsWindow.js +154 -154
  105. package/src/common/panel/widget/SettingsWindowController.js +44 -44
  106. package/src/common/panel/widget/WidgetPanel.js +19 -19
  107. package/src/common/panel/widget/WidgetPanel.scss +157 -157
  108. package/src/common/panel/widget/WidgetPanelViewModel.js +13 -13
  109. package/src/common/plugin/form/CopyPastePlugin.js +68 -68
  110. package/src/common/plugin/form/CountRowsToFieldLabel.js +25 -25
  111. package/src/common/plugin/form/FieldDependsPlugin.js +215 -215
  112. package/src/common/plugin/form/PeriodMenu.js +58 -58
  113. package/src/common/plugin/form/PeriodPickerPlugin.js +51 -51
  114. package/src/common/plugin/mixin/defaults.js +17 -17
  115. package/src/common/tree/BaseContextMenu.js +50 -50
  116. package/src/common/tree/ContextMenuItem.js +18 -18
  117. package/src/common/tree/NodeTreeLoader.js +61 -61
  118. package/src/common/trigger/WikiTrigger.js +20 -20
  119. package/src/eventBus.js +73 -73
  120. package/src/info.js +39 -39
  121. package/src/info.scss +12 -12
  122. package/src/logSender.js +63 -63
  123. package/src/model/MoParameterFields.js +7 -7
  124. package/src/model/SimpleEntityCharacteristicBeanFields.js +6 -6
  125. package/src/model/VisualCharacteristicValueFields.js +6 -6
  126. package/src/model/VisualCharacteristicValuesFields.js +17 -17
  127. package/src/nav/AppNavTab.js +106 -106
  128. package/src/nav/AppNavTab.scss +20 -20
  129. package/src/nav/AppNavigationBar.js +88 -88
  130. package/src/nav/AppNavigationBar.scss +9 -9
  131. package/src/nav/AppNavigationBarViewController.js +66 -66
  132. package/src/nav/AppNavigationMenu.js +35 -44
  133. package/src/nav/AppNavigationMenu.scss +64 -64
  134. package/src/nav/AppNavigationMenuController.js +110 -56
  135. package/src/nav/AppNavigationToggleButton.js +9 -0
  136. package/src/nav/AppNavigationToggleButton.scss +6 -0
  137. package/src/nav/MenuEntity.js +35 -0
  138. package/src/nav/WindowBarMixin.js +27 -27
  139. package/src/nav/editor/NavigateElementEditorView.js +94 -94
  140. package/src/nav/editor/NavigateElementEditorViewModel.js +22 -22
  141. package/src/nav/editor/menu/NavMenuTreeController.js +1 -0
  142. package/src/nav/editor/menu/NavMenuTreeView.scss +104 -104
  143. package/src/nav/editor/menu/command/AddMenuCommand.js +20 -20
  144. package/src/nav/editor/menu/command/DeleteMenuCommand.js +20 -20
  145. package/src/nav/editor/menu/command/GetMenuCommand.js +20 -20
  146. package/src/nav/editor/menu/command/SaveMenuCommand.js +20 -20
  147. package/src/nav/editor/menu/form/NavMenuFormViewController.js +1 -0
  148. package/src/nav/editor/menu/form/NavMenuFormViewModel.js +24 -24
  149. package/src/nav/editor/workspace/NavWorkspaceListController.js +179 -179
  150. package/src/nav/editor/workspace/NavWorkspaceListView.js +59 -59
  151. package/src/nav/editor/workspace/NavWorkspaceListView.scss +35 -35
  152. package/src/nav/editor/workspace/command/AddWorkspaceCommand.js +20 -20
  153. package/src/nav/editor/workspace/command/DeleteWorkspaceCommand.js +20 -20
  154. package/src/nav/editor/workspace/command/GetWorkspaceCommand.js +20 -20
  155. package/src/nav/editor/workspace/command/SaveWorkspaceCommand.js +20 -20
  156. package/src/nav/editor/workspace/form/NavWorkspaceFormController.js +108 -108
  157. package/src/nav/editor/workspace/form/NavWorkspaceFormView.js +79 -79
  158. package/src/nav/editor/workspace/form/NavWorkspaceFormViewModel.js +18 -18
  159. package/src/nav/menu/NavMenuPanel.scss +11 -11
  160. package/src/nav/menu/WorkspaceMenuView.scss +218 -218
  161. package/src/nav/state.js +86 -86
  162. package/src/nav/windowHolder.js +97 -97
  163. package/src/nav/windowHolderTab.js +39 -39
  164. package/src/nav/windowHolderTab.scss +13 -13
  165. package/src/report/column/BigNumColumn.js +43 -43
  166. package/src/report/column/Check.js +49 -49
  167. package/src/report/column/CounterColumn.js +26 -26
  168. package/src/report/column/DynamicActionColumn.js +74 -74
  169. package/src/report/column/HintColumn.js +19 -19
  170. package/src/report/column/HintDateColumn.js +19 -19
  171. package/src/report/column/HintTimeIntervalColumn.js +33 -33
  172. package/src/report/column/IconSvgColumn.js +15 -15
  173. package/src/report/column/MoneyColumn.js +25 -25
  174. package/src/report/column/MultiFilesColumn.scss +8 -8
  175. package/src/report/column/MultiLineColumn.js +17 -17
  176. package/src/report/column/PercentColumn.js +38 -38
  177. package/src/report/column/SoftWrapColumn.js +18 -18
  178. package/src/report/column/TimeIntervalColumn.js +34 -34
  179. package/src/report/command/ConvertReportCommand.js +41 -41
  180. package/src/report/command/ExecuteAllReportsCommand.js +53 -53
  181. package/src/report/command/GetExcelFromRowsOrReportData.js +5 -5
  182. package/src/report/command/GetExcelReportDataCommand.js +5 -5
  183. package/src/report/command/GetPdfReportDataCommand.js +7 -7
  184. package/src/report/command/GetReportCommand.js +39 -39
  185. package/src/report/command/GetReportFieldsCommand.js +42 -42
  186. package/src/report/command/GetReportInfoCommand.js +29 -29
  187. package/src/report/command/GetReportRevisionCommand.js +25 -25
  188. package/src/report/command/GetReportVersionListCommand.js +28 -28
  189. package/src/report/command/PublisherPdfCommand.js +52 -52
  190. package/src/report/command/RestoreReportCommand.js +27 -27
  191. package/src/report/component/BoundListPagingToolbar.scss +7 -7
  192. package/src/report/component/EXTJSReportUploadForm.js +175 -175
  193. package/src/report/component/ErrorWindow.scss +15 -15
  194. package/src/report/component/EventKeyBox.js +20 -20
  195. package/src/report/component/IsweSimplestReportCombo.js +40 -40
  196. package/src/report/component/LookupCombo.js +24 -24
  197. package/src/report/component/ParameterizedReportCombo.scss +85 -85
  198. package/src/report/component/ReportPanel.scss +69 -69
  199. package/src/report/component/SimpleReportTag.scss +22 -22
  200. package/src/report/component/SubentityCombo.js +12 -12
  201. package/src/report/component/reportpanel/CopyReportPanel.scss +14 -14
  202. package/src/report/component/reportpanel/FilterPanel.scss +16 -16
  203. package/src/report/component/reportpanel/FilterPanelLegend.scss +23 -23
  204. package/src/report/component/reportpanel/ReportGrid.scss +37 -37
  205. package/src/report/component/settings/AddVersioningTab.js +19 -19
  206. package/src/report/component/settings/ReportFormEditPanel.scss +87 -87
  207. package/src/report/component/settings/ReportPropertiesGrid.js +71 -52
  208. package/src/report/component/settings/ReportPropertiesGrid.scss +25 -25
  209. package/src/report/component/settings/field/ReportFormFieldsGrid.scss +5 -5
  210. package/src/report/component/settings/property/ReportPropertiesPanel.scss +12 -12
  211. package/src/report/component/tab/ReportTabView.js +59 -59
  212. package/src/report/model/AccountDocumentBean.js +33 -33
  213. package/src/report/model/AccountDocumentBeanFields.js +35 -35
  214. package/src/report/model/ActionCodeBean.js +17 -17
  215. package/src/report/model/ActionCodeBeanFields.js +8 -8
  216. package/src/report/model/ActionCodeGroupBean.js +18 -18
  217. package/src/report/model/ActionCodeGroupBeanFields.js +9 -9
  218. package/src/report/model/BillingDocumentFields.js +29 -29
  219. package/src/report/model/BillingDocumentStateBean.js +20 -20
  220. package/src/report/model/BillingDocumentStateBeanFields.js +11 -11
  221. package/src/report/model/CharacteristicBean.js +37 -37
  222. package/src/report/model/CharacteristicBeanFields.js +30 -30
  223. package/src/report/model/ColorPluginBean.js +16 -16
  224. package/src/report/model/ColorPluginBeanFields.js +16 -16
  225. package/src/report/model/ComboValueWrapper.js +16 -16
  226. package/src/report/model/ComboValueWrapperFields.js +6 -6
  227. package/src/report/model/ConfigReportPropertyBeanFields.js +7 -7
  228. package/src/report/model/ConfigureCharacteristicBean.js +36 -36
  229. package/src/report/model/ConfigureCharacteristicBeanFields.js +27 -27
  230. package/src/report/model/FiltersPluginBean.js +12 -12
  231. package/src/report/model/FiltersPluginBeanFields.js +6 -6
  232. package/src/report/model/GroupButtonsPluginBean.js +16 -16
  233. package/src/report/model/GroupButtonsPluginBeanFields.js +13 -13
  234. package/src/report/model/LimitBean.js +27 -27
  235. package/src/report/model/LimitBeanFields.js +21 -21
  236. package/src/report/model/LimitDetailsBeanFields.js +12 -12
  237. package/src/report/model/LogRequestBean.js +19 -19
  238. package/src/report/model/LogRequestFields.js +11 -11
  239. package/src/report/model/LookupBean.js +16 -16
  240. package/src/report/model/LookupBeanFields.js +7 -7
  241. package/src/report/model/MenuGroupCharacteristicTypeBean.js +17 -17
  242. package/src/report/model/MenuGroupCharacteristicTypeBeanFields.js +8 -8
  243. package/src/report/model/RawCharacteristicValueBean.js +21 -21
  244. package/src/report/model/RawCharacteristicValueBeanFields.js +12 -12
  245. package/src/report/model/ReportAccessGroupBean.js +18 -18
  246. package/src/report/model/ReportAccessGroupBeanFields.js +9 -9
  247. package/src/report/model/ReportBeanFields.js +12 -12
  248. package/src/report/model/ReportFieldBean.js +26 -26
  249. package/src/report/model/ReportFieldBeanFields.js +10 -10
  250. package/src/report/model/ReportFieldPropertyBean.js +20 -20
  251. package/src/report/model/ReportFieldPropertyBeanFields.js +17 -17
  252. package/src/report/model/ReportFormBeanFields.js +20 -20
  253. package/src/report/model/ReportMaintenanceBean.js +26 -26
  254. package/src/report/model/ReportMaintenanceBeanFields.js +23 -23
  255. package/src/report/model/ReportNavigationContextBeanFields.js +16 -16
  256. package/src/report/model/ReportParameterBeanFields.js +14 -14
  257. package/src/report/model/ReportParameterMaintenanceBean.js +33 -33
  258. package/src/report/model/ReportParameterMaintenanceBeanFields.js +29 -29
  259. package/src/report/model/ReportPluginBeanFields.js +10 -10
  260. package/src/report/model/ReportPluginMaintenanceBean.js +22 -22
  261. package/src/report/model/ReportPluginMaintenanceBeanFields.js +17 -17
  262. package/src/report/model/ReportPropertyBean.js +19 -19
  263. package/src/report/model/ReportPropertyBeanFields.js +13 -13
  264. package/src/report/model/SummaryPluginBeanFields.js +7 -7
  265. package/src/report/model/ToggleColumnsPluginBean.js +12 -12
  266. package/src/report/model/ToggleColumnsPluginBeanFields.js +6 -6
  267. package/src/report/model/TownBeanFields.js +7 -7
  268. package/src/report/model/TownTypeBean.js +17 -17
  269. package/src/report/model/TownTypeBeanFields.js +8 -8
  270. package/src/report/model/UsersGroupsValueBean.js +16 -16
  271. package/src/report/model/UsersGroupsValueBeanFields.js +7 -7
  272. package/src/report/model/WizardBean.js +17 -17
  273. package/src/report/model/WizardBeanFields.js +8 -8
  274. package/src/report/plugin/SearchByPropButton.js +15 -15
  275. package/src/report/plugin/SettingsManagerPlugin/model/SMPProfileEntry.js +28 -28
  276. package/src/report/plugin/SettingsManagerPlugin/store/SMPAbstractEntryStore.js +89 -89
  277. package/src/report/plugin/SettingsManagerPlugin/store/SMPLocalEntryStore.js +64 -64
  278. package/src/report/plugin/SettingsManagerPlugin/store/SMPRemoteEntryStore.js +6 -6
  279. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainView.js +300 -300
  280. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainView.scss +3 -3
  281. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainViewController.js +183 -183
  282. package/src/report/plugin/comboBtnWrapper.js +27 -27
  283. package/src/report/plugin/configPanel/AddFilterConditionPluginConfigPanel.scss +53 -53
  284. package/src/report/plugin/configPanel/ChangeFieldValuePluginConfigGrid.js +110 -110
  285. package/src/report/plugin/configPanel/ExecuteCommandButtonPluginConfigPanel.js +17 -4
  286. package/src/report/plugin/configPanel/ExecuteCommandButtonPluginConfigPanel.scss +5 -5
  287. package/src/report/plugin/configPanel/GridEditorPluginConfigGrid.js +145 -145
  288. package/src/report/plugin/configPanel/GridFiltersPluginConfigPanelFiltersGrid.js +107 -107
  289. package/src/report/plugin/configPanel/GroupButtonsPluginConfigGrid.js +149 -149
  290. package/src/report/plugin/configPanel/GroupRowsPluginConfigPanel.scss +3 -3
  291. package/src/report/plugin/configPanel/PrintPdfButtonPluginConfigPanel.js +0 -1
  292. package/src/report/plugin/configPanel/SetParameterPluginConfigPanel.js +108 -108
  293. package/src/report/plugin/configPanel/SetReportParameterPluginConfigPanel.js +0 -1
  294. package/src/report/plugin/configPanel/SpecificPluginConfig.js +45 -45
  295. package/src/report/plugin/configPanel/ToggleColumnsPluginConfigPanelAdditionalColumnsGrid.js +94 -94
  296. package/src/report/plugin/configPanel/ToolbarItemPluginConfigPanel.js +83 -83
  297. package/src/report/plugin/configPanel/UiAceEditorField.scss +20 -20
  298. package/src/report/plugin/configPanel/common/pluginDescriptionLabel.js +7 -7
  299. package/src/report/plugin/configPanel/common/pluginDescriptionLabel.scss +8 -8
  300. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/ReportFormContextXTypeMappingGrid.js +71 -71
  301. package/src/report/plugin/form/ComboCustomSort.js +39 -39
  302. package/src/report/plugin/form/ComboLoadingProgress.js +78 -78
  303. package/src/report/plugin/form/CopyToClipboardPlugin.js +75 -75
  304. package/src/report/plugin/form/DatePeriodValidatePluginFactory.js +79 -79
  305. package/src/report/plugin/form/EnterConfirmFormPlugin.js +55 -55
  306. package/src/report/plugin/form/FieldOnEnterChangePlugin.js +27 -27
  307. package/src/report/plugin/form/FormFieldHidding.js +32 -32
  308. package/src/report/plugin/form/ReadOnlyFieldPlugin.js +24 -24
  309. package/src/report/plugin/form/ValidateFieldPlugin.js +42 -42
  310. package/src/report/plugin/form/WindowCheckStatePlugin.js +84 -84
  311. package/src/report/plugin/grid/AddRowButtonPlugin.js +33 -33
  312. package/src/report/plugin/grid/BadgeButtonPlugin.js +70 -70
  313. package/src/report/plugin/grid/ChangeFieldValueButtonPlugin.js +79 -79
  314. package/src/report/plugin/grid/CopyCellToSource.js +80 -80
  315. package/src/report/plugin/grid/CustomColumnSortPlugin.js +39 -39
  316. package/src/report/plugin/grid/DataSourceSelectionPluginConfigPanel.js +1 -2
  317. package/src/report/plugin/grid/DeleteRowButtonPlugin.js +145 -145
  318. package/src/report/plugin/grid/ExecuteApiCommandButtonPlugin.js +23 -23
  319. package/src/report/plugin/grid/ExporterPlugin.js +43 -43
  320. package/src/report/plugin/grid/FilterGridColumnsPlugin.js +79 -79
  321. package/src/report/plugin/grid/FormPanelStatePlugin.js +91 -91
  322. package/src/report/plugin/grid/GetAdditionalContextPlugin.js +73 -73
  323. package/src/report/plugin/grid/GridEditButtonsDeleteBehavior.js +62 -62
  324. package/src/report/plugin/grid/GridFiltersByKeyPressingPlugin.js +99 -99
  325. package/src/report/plugin/grid/GridFiltersInHeadersPlugin.js +69 -69
  326. package/src/report/plugin/grid/GridFiltersPopupPlugin.js +106 -106
  327. package/src/report/plugin/grid/GridHistoryBehaviorPlugin.js +260 -260
  328. package/src/report/plugin/grid/GridHistoryBehaviorStep.js +45 -45
  329. package/src/report/plugin/grid/GridRowCountPlugin.js +57 -57
  330. package/src/report/plugin/grid/GridRowEditingByEnterPlugin.js +44 -44
  331. package/src/report/plugin/grid/GridRowStylePlugin.scss +56 -56
  332. package/src/report/plugin/grid/GridRowTooltipForCellPlugin.js +118 -118
  333. package/src/report/plugin/grid/GridStoreDependency.js +63 -63
  334. package/src/report/plugin/grid/HideItemPlugin.js +54 -54
  335. package/src/report/plugin/grid/PrintPdfButtonPlugin.js +210 -210
  336. package/src/report/plugin/grid/ReportBoxContainerPlugin.js +30 -30
  337. package/src/report/plugin/grid/ReportCharacteristicBindPluginPanel.js +66 -66
  338. package/src/report/plugin/grid/ReportContainerPlugin.js +69 -69
  339. package/src/report/plugin/grid/ReportTabContainerPlugin.js +67 -67
  340. package/src/report/plugin/grid/ReportTabContainerPlugin.scss +3 -3
  341. package/src/report/plugin/grid/RestoreSelectionPlugin.js +93 -93
  342. package/src/report/plugin/grid/SetCheckboxesPlugin.js +88 -88
  343. package/src/report/plugin/grid/SetParameterPlugin.js +139 -139
  344. package/src/report/plugin/grid/SetSingleParameterPlugin.js +68 -68
  345. package/src/report/plugin/grid/SetValuePlugin.js +13 -13
  346. package/src/report/plugin/grid/StoreFiltersByKeyPressingPlugin.js +114 -114
  347. package/src/report/plugin/grid/ToggleColumnsPlugin.js +161 -161
  348. package/src/report/plugin/grid/ToggleColumnsPlugin.scss +7 -7
  349. package/src/report/plugin/grid/ToolbarButtonPlugin.scss +3 -3
  350. package/src/report/plugin/grid/ToolbarSeparatorPlugin.js +16 -16
  351. package/src/report/plugin/htmlEditor/ToolbarCombo.js +18 -18
  352. package/src/report/plugin/htmlEditor/ToolbarElement.js +34 -34
  353. package/src/report/store/AccountDocumentStore.js +49 -49
  354. package/src/report/store/ActionCodeGroupStore.js +19 -19
  355. package/src/report/store/ActionCodeStore.js +20 -20
  356. package/src/report/store/BillingDocumentStateListStore.js +22 -22
  357. package/src/report/store/BillingLookupStore.js +36 -36
  358. package/src/report/store/CharacteristicListStore.js +26 -26
  359. package/src/report/store/ColorPluginStore.js +19 -19
  360. package/src/report/store/ComboValueWrapperStore.js +18 -18
  361. package/src/report/store/FiltersPluginStore.js +19 -19
  362. package/src/report/store/GroupButtonsPluginStore.js +19 -19
  363. package/src/report/store/LimitDetailsStore.js +24 -24
  364. package/src/report/store/LimitStore.js +28 -28
  365. package/src/report/store/LookupStore.js +19 -19
  366. package/src/report/store/MenuGroupCharacteristicTypeListStore.js +18 -18
  367. package/src/report/store/RawCharacteristicValueListStore.js +18 -18
  368. package/src/report/store/RefStore.js +19 -19
  369. package/src/report/store/ReportFieldPropertyStore.js +25 -25
  370. package/src/report/store/ReportFieldStore.js +22 -22
  371. package/src/report/store/ReportNavigationContextStore.js +24 -24
  372. package/src/report/store/ReportParameterStore.js +21 -21
  373. package/src/report/store/ReportPluginStore.js +29 -29
  374. package/src/report/store/ReportPropertyStore.js +23 -23
  375. package/src/report/store/RequestLogStore.js +18 -18
  376. package/src/report/store/SimpleCharacteristicListStore.js +19 -19
  377. package/src/report/store/SimpleFilterPluginStore.js +19 -19
  378. package/src/report/store/SummaryPluginStore.js +19 -19
  379. package/src/report/store/ToggleColumnsPluginStore.js +19 -19
  380. package/src/report/store/TownTypeStore.js +19 -19
  381. package/src/report/store/WizardStore.js +20 -20
  382. package/src/research/ResearchTreeView.scss +19 -19
  383. package/src/research/TabItemWrapper.js +44 -44
  384. package/src/research/TabItemWrapperViewModel.js +19 -19
  385. package/src/security/component/RoleFileUploadForm.scss +4 -4
  386. package/src/security/component/ui/UiCPRestrictionEditor.scss +4 -4
  387. package/src/stateProvider.js +20 -20
  388. package/src/uielement/command/ExecuteApiCommand.js +15 -15
  389. package/src/uielement/command/GetMenuTreeCommand.js +23 -23
  390. package/src/uielement/command/GetNavigateUIMenuEntryCommand.js +23 -23
  391. package/src/uielement/command/GetNextUIMenuEntryCommand.js +22 -22
  392. package/src/uielement/command/GetUIElementPropertyDocLinkCommand.js +18 -18
  393. package/src/uielement/command/GetUIElementRevisionCommand.js +25 -25
  394. package/src/uielement/command/GetUIElementVersionListCommand.js +27 -27
  395. package/src/uielement/component/CodemirrorEditor.js +68 -68
  396. package/src/uielement/component/MenuItemList.js +35 -6
  397. package/src/uielement/component/MenuItemList.scss +35 -35
  398. package/src/uielement/component/UiCustomPanel.js +44 -44
  399. package/src/uielement/component/UiCustomPanelViewModel.js +15 -15
  400. package/src/uielement/component/UiElementLookupCombo.js +190 -190
  401. package/src/uielement/component/UiElementPropertyController.js +111 -111
  402. package/src/uielement/component/UiElementPropertyInfoController.js +23 -23
  403. package/src/uielement/component/UiElementPropertyPanel.js +80 -80
  404. package/src/uielement/component/formchips/FilterConditionToolbar.scss +67 -67
  405. package/src/uielement/component/settings/AddVersioningTab.js +26 -26
  406. package/src/uielement/component/settings/EXTJSUiPanelImportJsonForm.js +42 -42
  407. package/src/uielement/component/settings/PropertyModel.js +8 -8
  408. package/src/uielement/component/settings/PropertyTreePanel.js +121 -121
  409. package/src/uielement/component/settings/UiCustomPanelAnnotationWindow.js +71 -71
  410. package/src/uielement/component/settings/UiCustomPanelEditor.scss +9 -9
  411. package/src/uielement/component/settings/config/UiCPConfigPanelController.scss +24 -24
  412. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.js +206 -206
  413. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.scss +11 -11
  414. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGridController.js +205 -205
  415. package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanel.scss +30 -30
  416. package/src/uielement/component/settings/plugin/UiCustomPanelPluginSelectWindow.js +152 -152
  417. package/src/uielement/component/settings/version/UiCPVersionPanel.scss +15 -15
  418. package/src/uielement/model/UIElementBeanFields.js +8 -8
  419. package/src/uielement/model/UiElementPropertyModel.js +31 -31
  420. package/src/uielement/plugin/AddBindingsPlugin.js +18 -18
  421. package/src/uielement/plugin/AddDoInitSupportPlugin.js +66 -66
  422. package/src/uielement/plugin/AddOutputParamsPlugin.js +22 -22
  423. package/src/uielement/plugin/ExecuteApiCommandPlugin.js +52 -52
  424. package/src/uielement/plugin/FireEventPlugin.js +31 -31
  425. package/src/uielement/plugin/configPanel/AddBindingsPluginConfigPanelFormEditor.scss +29 -29
  426. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginConfigPanel.js +214 -214
  427. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginPropertiesGrid.js +62 -62
  428. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginPropertiesGridController.js +102 -102
  429. package/src/uielement/plugin/configPanel/executeCommand/ExecuteCommandPluginConfigPanelFormEditor.js +26 -11
  430. package/src/uielement/plugin/configPanel/executeCommand/ExecuteCommandPluginConfigPanelFormEditor.scss +22 -22
  431. package/src/userSettings.js +161 -161
  432. package/src/version.js +1 -1
  433. package/util/update.js +75 -75
@@ -1,66 +1,66 @@
1
- /* eslint-disable require-jsdoc */
2
- Ext.define('Coon.nav.AppNavigationBarViewController', {
3
- extend: 'Ext.app.ViewController',
4
- requires: [
5
- 'Coon.nav.AppNavTab',
6
- 'Coon.setup',
7
- 'Coon.eventBus'
8
- ],
9
-
10
- alias: 'controller.AppNavigationBarViewController',
11
-
12
- locals: {
13
- state: {},
14
- },
15
-
16
- init() {
17
- Coon.eventBus.on('nav.loadMenuComponent', function(data) {
18
- this.activateNavTab('menu', data);
19
- }, this);
20
- Coon.eventBus.on('nav.loadComponent', function(data) {
21
- this.activateNavTab('plugin', data);
22
- }, this);
23
- },
24
-
25
- setActiveState(id) {
26
- this.getView().query('splitbutton').forEach((btn) => {
27
- if (btn.checkId && btn.checkId(id)) {
28
- btn.addCls('active');
29
- } else {
30
- btn.removeCls('active');
31
- }
32
- });
33
- },
34
-
35
- onCloseComponent(cmp) {
36
- const view = this.getView();
37
- const tab = view.getComponent('navbtn-' + cmp.id);
38
- if (tab && !cmp.isNavRootCmp) {
39
- view.remove(tab);
40
- }
41
- },
42
-
43
- activateNavTab(source, data) {
44
- const view = this.getView();
45
- let {component, viewport, id} = data || {};
46
- component = component || viewport.getComponent(id);
47
- const tabId = id || component && component.xtype;
48
- view.addTab({
49
- text: (component.getTitle && component.getTitle()) || tabId,
50
- root: source === 'menu',
51
- viewport,
52
- id: component.id,
53
- });
54
- this.setActiveState(tabId);
55
- if (component) {
56
- component.isNavRootCmp = source === 'CenterView';
57
- component.on({
58
- close: this.onCloseComponent,
59
- destroy: this.onCloseComponent,
60
- scope: this,
61
- });
62
- } else {
63
- Coon.log.error(`APPNAV.component with id:[${id}] not found!`);
64
- }
65
- },
66
- });
1
+ /* eslint-disable require-jsdoc */
2
+ Ext.define('Coon.nav.AppNavigationBarViewController', {
3
+ extend: 'Ext.app.ViewController',
4
+ requires: [
5
+ 'Coon.nav.AppNavTab',
6
+ 'Coon.setup',
7
+ 'Coon.eventBus'
8
+ ],
9
+
10
+ alias: 'controller.AppNavigationBarViewController',
11
+
12
+ locals: {
13
+ state: {},
14
+ },
15
+
16
+ init() {
17
+ Coon.eventBus.on('nav.loadMenuComponent', function(data) {
18
+ this.activateNavTab('menu', data);
19
+ }, this);
20
+ Coon.eventBus.on('nav.loadComponent', function(data) {
21
+ this.activateNavTab('plugin', data);
22
+ }, this);
23
+ },
24
+
25
+ setActiveState(id) {
26
+ this.getView().query('splitbutton').forEach((btn) => {
27
+ if (btn.checkId && btn.checkId(id)) {
28
+ btn.addCls('active');
29
+ } else {
30
+ btn.removeCls('active');
31
+ }
32
+ });
33
+ },
34
+
35
+ onCloseComponent(cmp) {
36
+ const view = this.getView();
37
+ const tab = view.getComponent('navbtn-' + cmp.id);
38
+ if (tab && !cmp.isNavRootCmp) {
39
+ view.remove(tab);
40
+ }
41
+ },
42
+
43
+ activateNavTab(source, data) {
44
+ const view = this.getView();
45
+ let {component, viewport, id} = data || {};
46
+ component = component || viewport.getComponent(id);
47
+ const tabId = id || component && component.xtype;
48
+ view.addTab({
49
+ text: (component.getTitle && component.getTitle()) || tabId,
50
+ root: source === 'menu',
51
+ viewport,
52
+ id: component.id,
53
+ });
54
+ this.setActiveState(tabId);
55
+ if (component) {
56
+ component.isNavRootCmp = source === 'CenterView';
57
+ component.on({
58
+ close: this.onCloseComponent,
59
+ destroy: this.onCloseComponent,
60
+ scope: this,
61
+ });
62
+ } else {
63
+ Coon.log.error(`APPNAV.component with id:[${id}] not found!`);
64
+ }
65
+ },
66
+ });
@@ -1,43 +1,42 @@
1
1
  Ext.define('Coon.nav.AppNavigationMenu', {
2
2
  extend: 'Ext.Panel',
3
3
  xtype: 'AppNavigationMenu',
4
-
5
4
  // mixins: ['Coon.mixin.RelayMethods'],
6
-
7
5
  requires: [
8
6
  'Coon.nav.menu.WorkspaceMenuView',
9
7
  'Coon.nav.AppNavigationMenuController'
10
8
  ],
9
+ scrollable: 'y',
10
+ selectFirstOnLoad: true,
11
11
  controller: 'AppNavigationMenuController',
12
-
13
- cls: 'AppNavigationMenu',
14
-
15
- updateSelection: function(selection) {
16
- return this.getController().selectMenuItem(selection);
17
- },
18
-
19
- getMenuReady: function() {
20
- return this.getController().getMenuReady();
21
- },
22
-
23
- getFirstAvailable: function() {
24
- return this.getController().getFirstAvailable();
25
- },
26
-
27
- changeMicro: function(micro) {
28
- this.lookup('WorkspaceMenuView').setMicro(micro);
12
+ viewModel: {
13
+ data: {
14
+ workspace_descr: null,
15
+ workspace_list: null,
16
+ workspace_icon: null,
17
+ navCollapsed: false,
18
+ collapsedWidth: 44,
19
+ fullWidth: 260,
20
+ },
29
21
  },
30
-
31
- changeWorkspace: function(workspace, selectFirst) {
32
- return this.getController().changeWorkspace(workspace, selectFirst);
22
+ fullWidth: 260,
23
+ cls: 'AppNavigationMenu',
24
+ layout: {
25
+ type: 'vbox',
26
+ align: 'stretch',
33
27
  },
34
-
35
- initComponent: function() {
36
- this.layout = {
37
- type: 'vbox',
38
- align: 'stretch',
28
+ items: [
29
+ {
30
+ xtype: 'button',
31
+ textAlign: 'left',
32
+ bind: {
33
+ text: '{workspace_descr}',
34
+ menu: '{workspace_list}',
35
+ iconCls: '{workspace_icon}',
36
+ arrowVisible: '{!navCollapsed}',
37
+ },
39
38
  },
40
- this.workspaceMenuView = Ext.create({
39
+ {
41
40
  xtype: 'WorkspaceMenuView',
42
41
  reference: 'WorkspaceMenuView',
43
42
  store: {
@@ -46,23 +45,15 @@ Ext.define('Coon.nav.AppNavigationMenu', {
46
45
  children: null,
47
46
  },
48
47
  },
49
- });
50
- this.items = [
51
- {
52
- xtype: 'button',
53
- textAlign: 'left',
54
- bind: {
55
- text: '{workspace_descr}',
56
- menu: '{workspace_list}',
57
- iconCls: '{workspace_icon}',
58
- arrowVisible: '{!navCollapsed}',
59
- },
60
- },
61
- this.workspaceMenuView
62
- ];
63
- this.relayEvents(this.workspaceMenuView, ['selectionchange']);
64
- // this.relayMethods(this, ['getFirstAvailable', 'getMenuReady', 'updateSelection']);
48
+ }
49
+ ],
50
+
51
+ bind: {
52
+ width: `{!navCollapsed ? fullWidth : collapsedWidth}`,
53
+ },
54
+ initComponent: function() {
65
55
  this.callParent();
56
+ this.relayEvents(this.lookup('WorkspaceMenuView'), ['selectionchange']);
66
57
  },
67
58
 
68
59
  });
@@ -1,64 +1,64 @@
1
- .AppNavigationMenu {
2
- &::-webkit-scrollbar {
3
- display: none;
4
- }
5
-
6
- .x-btn-arrow-right:after {
7
- color: white;
8
- }
9
-
10
- -ms-overflow-style: none;
11
-
12
- .x-panel-body-default {
13
- .x-box-inner {
14
- width: 260px !important;
15
-
16
- .x-box-target {
17
- width: 260px !important;
18
-
19
- .x-btn-default-small {
20
- width: 260px !important;
21
- }
22
-
23
- .x-menuview {
24
- width: 260px !important;
25
- }
26
- }
27
- }
28
- }
29
-
30
- .x-panel-body-default {
31
- background-color: $base-color;
32
- }
33
-
34
- .x-treelist-menu {
35
- width: 260px !important;
36
- }
37
-
38
- .x-btn-button-default-small {
39
- .x-btn-icon-el {
40
- &.svg-icon {
41
- background-color: lighten(lightgray, 5%);
42
- width: 24px;
43
- height: 24px;
44
- margin-left: 2px;
45
- }
46
- }
47
- }
48
-
49
- .x-btn-default-small {
50
- padding: 4px 6px;
51
- }
52
-
53
- .x-btn-inner-default-small {
54
- letter-spacing: 0.03em;
55
- font-size: 16px;
56
- font-weight: 500;
57
- padding-left: 8px;
58
- color: white;
59
- }
60
-
61
- .x-btn-arrow-right:after {
62
- color: white;
63
- }
64
- }
1
+ .AppNavigationMenu {
2
+ &::-webkit-scrollbar {
3
+ display: none;
4
+ }
5
+
6
+ .x-btn-arrow-right:after {
7
+ color: white;
8
+ }
9
+
10
+ -ms-overflow-style: none;
11
+
12
+ .x-panel-body-default {
13
+ .x-box-inner {
14
+ width: 260px !important;
15
+
16
+ .x-box-target {
17
+ width: 260px !important;
18
+
19
+ .x-btn-default-small {
20
+ width: 260px !important;
21
+ }
22
+
23
+ .x-menuview {
24
+ width: 260px !important;
25
+ }
26
+ }
27
+ }
28
+ }
29
+
30
+ .x-panel-body-default {
31
+ background-color: $base-color;
32
+ }
33
+
34
+ .x-treelist-menu {
35
+ width: 260px !important;
36
+ }
37
+
38
+ .x-btn-button-default-small {
39
+ .x-btn-icon-el {
40
+ &.svg-icon {
41
+ background-color: lighten(lightgray, 5%);
42
+ width: 24px;
43
+ height: 24px;
44
+ margin-left: 2px;
45
+ }
46
+ }
47
+ }
48
+
49
+ .x-btn-default-small {
50
+ padding: 4px 6px;
51
+ }
52
+
53
+ .x-btn-inner-default-small {
54
+ letter-spacing: 0.03em;
55
+ font-size: 16px;
56
+ font-weight: 500;
57
+ padding-left: 8px;
58
+ color: white;
59
+ }
60
+
61
+ .x-btn-arrow-right:after {
62
+ color: white;
63
+ }
64
+ }
@@ -6,13 +6,52 @@ Ext.define('Coon.nav.AppNavigationMenuController', {
6
6
  data: null,
7
7
  },
8
8
  menuReady: false,
9
-
9
+ selectThenMenuReady: undefined,
10
+ addWorkspaceToUrl: false,
10
11
  init: function(view) {
12
+ view.updateSelection = this.updateSelection.bind(this);
13
+ view.getMenuReady = this.getMenuReady.bind(this);
14
+ view.getFirstAvailable = this.getFirstAvailable.bind(this);
15
+ view.changeMicro = this.changeMicro.bind(this);
16
+ view.changeWorkspace = this.changeWorkspace.bind(this);
17
+ this.view.on('selectionchange', this.onSelectMenuItem, this);
11
18
  this.loadMenu();
12
19
  view.getFirstAvailable = this.getFirstAvailable.bind(this);
20
+ Ext.on('route:initial', (route) => {
21
+ this.selectThenMenuReady = route.id;
22
+ });
23
+ Ext.on('route:change', (route) => this.selectMenuItem.call(this, route.id));
24
+ Ext.on('route:unmatched', () => this.goTo(this.getFirstAvailable()));
25
+ const vm = this.getViewModel();
26
+ Ext.on('nav:toggle', () => {
27
+ vm.set('navCollapsed', !vm.get('navCollapsed'));
28
+ vm.getParent().set('navCollapsed', vm.get('navCollapsed'));
29
+ this.changeMicro(vm.get('navCollapsed'));
30
+ });
31
+ Ext.on('nav:reload', () => this.updateMenu());
32
+ },
33
+ initViewModel(vm) {
34
+ vm.set('fullWidth', this.getView().fullWidth);
35
+ },
36
+ onMenuReady() {
37
+ const ws = this.locals.data.ws.entries().next().value.at(0);
38
+ this.changeWorkspace(ws, false);
39
+ if (this.selectThenMenuReady) {
40
+ this.selectMenuItem(this.selectThenMenuReady);
41
+ } else {
42
+ this.view.selectFirstOnLoad && this.goTo(this.getFirstAvailable(), true);
43
+ }
44
+ },
45
+ updateSelection: function(selection) {
46
+ return this.selectMenuItem(selection);
47
+ },
48
+
49
+ changeMicro: function(micro) {
50
+ this.lookup('WorkspaceMenuView').setMicro(micro);
13
51
  },
14
52
 
15
53
  updateMenu: function() {
54
+ Coon.nav.MenuEntity.menuItems = null;
16
55
  this.loadMenu();
17
56
  },
18
57
 
@@ -74,6 +113,21 @@ Ext.define('Coon.nav.AppNavigationMenuController', {
74
113
  return Object.values(menu);
75
114
  },
76
115
 
116
+ goTo(id, force = false) {
117
+ if (id) {
118
+ let prefix = '';
119
+ if (this.addWorkspaceToUrl) {
120
+ const ws = this.getViewModel().get('workspace') || this.getFirstAvailable().ws.ws;
121
+ prefix = ws && ws + '/';
122
+ }
123
+ this.redirectTo(prefix + id, {force});
124
+ }
125
+ },
126
+
127
+ onSelectMenuItem: function(navCmp, item) {
128
+ this.goTo(item && item.get('UI_ELEMENT_CD'));
129
+ },
130
+
77
131
  selectMenuItem: function(uiElementCd) {
78
132
  if (!this.menuReady) {
79
133
  return;
@@ -90,6 +144,7 @@ Ext.define('Coon.nav.AppNavigationMenuController', {
90
144
 
91
145
  if (!menuItem) {
92
146
  console.error('unmatchedRoute: ' + uiElementCd);
147
+ this.goTo(this.getFirstAvailable());
93
148
  return;
94
149
  }
95
150
 
@@ -111,65 +166,64 @@ Ext.define('Coon.nav.AppNavigationMenuController', {
111
166
  this.fireViewEvent('select', node);
112
167
  return node;
113
168
  },
114
- loadMenu: function() {
115
- return Coon.util.promisifyCmd('command.GetDynamicReportDataCommand', 'MENU_ALLITEMS')
116
- .then((data) => {
117
- if (Array.isArray(data.list)) {
118
- const transformData = data.list.map((el) => {
119
- return Coon.Function.convertObjectByMapping(el, {
120
- MENU_ENTRY_ICON: 'iconCls',
121
- MENU_ENTRY_DESCR: 'text',
122
- });
169
+ loadMenu() {
170
+ Coon.nav.MenuEntity.get().then((menu) => {
171
+ if (Array.isArray(menu)) {
172
+ const dataList = this.prepareMenuData(menu);
173
+ const transformData = dataList.map((el) => {
174
+ return Coon.Function.convertObjectByMapping(el, {
175
+ MENU_ENTRY_ICON: 'iconCls',
176
+ MENU_ENTRY_DESCR: 'text',
177
+ });
178
+ });
179
+ this.locals.data = transformData.reduce((acc, el) => {
180
+ acc.ws.set(el.WORKSPACE_CD, {
181
+ ws: el.WORKSPACE_CD,
182
+ text: el.WORKSPACE_DESCR,
183
+ iconCls: el.WORKSPACE_ICON,
123
184
  });
124
- this.locals.data = transformData.reduce((acc, el) => {
125
- acc.ws.set(el.WORKSPACE_CD, {
126
- ws: el.WORKSPACE_CD,
127
- text: el.WORKSPACE_DESCR,
128
- iconCls: el.WORKSPACE_ICON,
129
- });
130
- acc.items[el.WORKSPACE_CD] = acc.items[el.WORKSPACE_CD] || {};
131
- acc.items[el.WORKSPACE_CD][el.MENU_ENTRY_CD] = el;
132
- acc.menu.push(el);
133
- return acc;
134
- }, {ws: new Map(), items: {}, menu: []});
135
-
136
- const items = [];
137
- const me = this;
138
- this.locals.data.ws.forEach((item) => {
139
- items.push({
140
- text: item.text,
141
- width: 260,
142
- value: item.ws,
143
- iconCls: item.iconCls,
144
- handler: function() {
145
- me.changeWorkspace(this.value, true);
146
- },
147
- });
185
+ acc.items[el.WORKSPACE_CD] = acc.items[el.WORKSPACE_CD] || {};
186
+ acc.items[el.WORKSPACE_CD][el.MENU_ENTRY_CD] = el;
187
+ acc.menu.push(el);
188
+ return acc;
189
+ }, {ws: new Map(), items: {}, menu: []});
190
+
191
+ const items = [];
192
+ const me = this;
193
+ this.locals.data.ws.forEach((item) => {
194
+ items.push({
195
+ text: item.text,
196
+ width: this.getView().fullWidth,
197
+ value: item.ws,
198
+ iconCls: item.iconCls,
199
+ handler: function() {
200
+ me.changeWorkspace(this.value, true);
201
+ },
148
202
  });
149
- this.getViewModel().set('workspace_list', items);
150
-
151
- Object.entries(this.locals.data.items).forEach(function(workspace) {
152
- const [workspaceId, workspaceItems] = workspace;
153
- Object.values(workspaceItems).forEach(function(el) {
154
- el.leaf = el.LEAF_SW === 'Y';
155
- if (el.PARENT_MENU_ENTRY_CD) { // значит вложенный
156
- const parent = this.locals.data.items[workspaceId][el.PARENT_MENU_ENTRY_CD];
157
- if (parent) {
158
- parent.children = parent.children || [];
159
- parent.children.push(el);
160
- }
203
+ });
204
+ this.getViewModel().set('workspace_list', items);
205
+
206
+ Object.entries(this.locals.data.items).forEach(function(workspace) {
207
+ const [workspaceId, workspaceItems] = workspace;
208
+ Object.values(workspaceItems).forEach(function(el) {
209
+ el.leaf = el.LEAF_SW === 'Y';
210
+ if (el.PARENT_MENU_ENTRY_CD) { // значит вложенный
211
+ const parent = this.locals.data.items[workspaceId][el.PARENT_MENU_ENTRY_CD];
212
+ if (parent) {
213
+ parent.children = parent.children || [];
214
+ parent.children.push(el);
161
215
  }
162
- }, this);
216
+ }
163
217
  }, this);
164
- this.menuReady = true;
165
- this.fireViewEvent('menuReady');
166
- } else {
167
- Ext.Msg.alert('ошибка', 'некорректный формат ответа или нет данных');
168
- }
169
- });
218
+ }, this);
219
+ this.menuReady = true;
220
+ this.fireViewEvent('menuReady');
221
+ Ext.fireEvent('nav:ready');
222
+ this.onMenuReady();
223
+ }
224
+ });
170
225
  },
171
-
172
- onToggleNavigationSize: function(micro) {
173
- this.getViewModel().set('micro', micro);
226
+ prepareMenuData(data) {
227
+ return data;
174
228
  },
175
229
  });
@@ -0,0 +1,9 @@
1
+ Ext.define('Coon.nav.AppNavigationToggleButton', {
2
+ extend: 'Ext.button.Button',
3
+ xtype: 'AppNavigationToggleButton',
4
+ cls: 'AppNavigationToggleButton',
5
+ iconCls: 'svg-icon svg-icon-menu-open',
6
+ handler() {
7
+ Ext.fireEvent('nav:toggle');
8
+ },
9
+ });
@@ -0,0 +1,6 @@
1
+ .AppNavigationToggleButton{
2
+ .x-btn-icon-el.svg-icon{
3
+ width: 33px;
4
+ height: 24px;
5
+ }
6
+ }
@@ -0,0 +1,35 @@
1
+ Ext.define('Coon.nav.MenuEntity', {
2
+ singleton: true,
3
+ menuItems: null,
4
+ isLoading: false,
5
+ promise: null,
6
+ get() {
7
+ if (typeof this.menuItems === 'object' && Array.isArray(this.menuItems) && this.isLoading === false) {
8
+ return new Promise((resolve) => {
9
+ resolve(this.menuItems);
10
+ });
11
+ } else if (!this.promise) {
12
+ this.isLoading = true;
13
+ this.promise = Coon.util.promisifyCmd('command.GetDynamicReportDataCommand', 'MENU_ALLITEMS')
14
+ .then((data) => {
15
+ if (Array.isArray(data.list)) {
16
+ this.menuItems = data.list;
17
+ } else {
18
+ Ext.Msg.alert('ошибка', 'некорректный формат ответа или нет данных');
19
+ }
20
+ this.isLoading = false;
21
+ return this.menuItems;
22
+ }).finally(() => {
23
+ this.promise = null;
24
+ });
25
+ }
26
+ return this.promise;
27
+ },
28
+
29
+ isValid(uiElement) {
30
+ return this.get().then((data) => {
31
+ return !!data.find((i) => i.UI_ELEMENT_CD === uiElement);
32
+ });
33
+ },
34
+
35
+ });