ru.coon 2.5.67 → 2.6.0

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 (451) hide show
  1. package/.gitattributes +1 -1
  2. package/.husky/pre-commit +4 -4
  3. package/.lintstagedrc.json +2 -2
  4. package/CHANGELOG.md +19 -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 -0
  15. package/src/MessageResources.js +58 -58
  16. package/src/chart/BaseChart.js +81 -81
  17. package/src/chart/ChartComponent.js +14 -14
  18. package/src/chart/editor/CoonChartEditor.js +189 -189
  19. package/src/chart/editor/CoonChartEditorViewModel.js +28 -28
  20. package/src/chart/editor/DataSourceChartBindForm.js +153 -153
  21. package/src/command/ASyncBaseJSONCommand.js +15 -15
  22. package/src/command/DeletePropertyFromConfigurationCommand.js +18 -18
  23. package/src/command/GetPropertyFromConfigurationCommand.js +18 -18
  24. package/src/command/Readme.md +4 -4
  25. package/src/command/SavePropertyFromConfigurationCommand.js +18 -18
  26. package/src/command/characteristic/CharacteristicValuesCommand.js +50 -50
  27. package/src/command/characteristic/SetEntityCharacteristicsCommand.js +49 -49
  28. package/src/common/baseModel.js +39 -39
  29. package/src/common/button/ForeignButton.js +132 -132
  30. package/src/common/component/DFVCharacteristicField.js +24 -24
  31. package/src/common/component/ExternalFrame.scss +8 -8
  32. package/src/common/component/FinanceDocumentDateWindow.js +47 -47
  33. package/src/common/component/ForeignSelectWindow.js +93 -93
  34. package/src/common/component/HotkeyHelpText.js +43 -43
  35. package/src/common/component/HotkeyHelpText.scss +34 -34
  36. package/src/common/component/PropertyDict.js +279 -279
  37. package/src/common/component/TreeComponentStructure.scss +5 -5
  38. package/src/common/component/YearPanel.js +76 -76
  39. package/src/common/component/characteristic/CharacteristicPanel.js +91 -71
  40. package/src/common/component/characteristic/CharacteristicPanelController.js +21 -6
  41. package/src/common/component/characteristic/characteristicAlgorithm/AlgorithmChainEditWindow.js +24 -29
  42. package/src/common/component/characteristic/characteristicAlgorithm/AlgorithmChainSearchWindow.js +3 -1
  43. package/src/common/component/characteristic/characteristicAlgorithm/CharacteristicAlgorithmList.js +13 -4
  44. package/src/common/component/characteristic/characteristicAlgorithm/CharacteristicAlgorithmListController.js +8 -3
  45. package/src/common/component/characteristic/characteristicAlgorithm/CharacteristicAlgorithmSearchWindow.js +4 -4
  46. package/src/common/component/characteristic/characteristicGroup/CharacteristicAccessList.js +13 -2
  47. package/src/common/component/characteristic/characteristicGroup/CharacteristicAccessListController.js +7 -2
  48. package/src/common/component/characteristic/characteristicGroup/CharacteristicGroupPanel.js +2 -0
  49. package/src/common/component/characteristic/characteristicGroup/CharacteristicGroupSearchWindow.js +29 -6
  50. package/src/common/component/characteristic/characteristicGroup/CharacteristicTypeSearchWindow.js +1 -0
  51. package/src/common/component/characteristic/characteristicGroup/EditCharacteristicGroupWindow.js +24 -9
  52. package/src/common/component/characteristic/characteristicGroup/EntityGroupCharacteristicEditor.js +26 -7
  53. package/src/common/component/characteristic/characteristicGroup/EntityGroupCharacteristicEditorController.js +11 -3
  54. package/src/common/component/characteristic/characteristicGroup/UserGroupForeignWindow.js +1 -1
  55. package/src/common/component/editor/CharacteristicAddTypeGrid.js +101 -101
  56. package/src/common/component/editor/CharacteristicForeignWindow.js +76 -76
  57. package/src/common/component/editor/CharacteristicGridEditor.scss +66 -66
  58. package/src/common/component/editor/CharacteristicHistoryPanel.js +110 -110
  59. package/src/common/component/editor/CharacteristicHistoryPanelWithDeletedChars.js +136 -136
  60. package/src/common/component/editor/CharacteristicHistoryUserAudit.js +49 -49
  61. package/src/common/component/editor/CharacteristicLoaderByCharacteristicEntityPlugin.js +41 -41
  62. package/src/common/component/editor/CharacteristicTypeLoaderPlugin.js +38 -38
  63. package/src/common/component/editor/EditorFactory.js +56 -46
  64. package/src/common/component/editor/HistoryTypedCharacteristicEditor.js +240 -240
  65. package/src/common/component/editor/TypedCharacteristicEditor.js +7 -3
  66. package/src/common/component/editor/TypedCharacteristicEditor.scss +7 -7
  67. package/src/common/component/editor/creators/ByReportEditorCreator.js +9 -8
  68. package/src/common/component/editor/creators/CustomPanelEditorCreator.js +3 -2
  69. package/src/common/component/editor/creators/ForeignKeyEditorCreator.js +1 -1
  70. package/src/common/component/editor/creators/NoteEditorCreator.js +4 -3
  71. package/src/common/component/editor/creators/NumberEditorCreator.js +61 -44
  72. package/src/common/component/editor/creators/PercentEditorCreator.js +1 -0
  73. package/src/common/component/editor/creators/SimpleReportEditorCreator.js +4 -6
  74. package/src/common/component/editor/creators/TimeEditorCreator.js +4 -6
  75. package/src/common/component/editor/creators/TriggerFieldEditorCreator.js +1 -0
  76. package/src/common/component/settings/commands/getUserSettingsCommand.js +6 -6
  77. package/src/common/component/settings/commands/setUserPropValueCommand.js +23 -23
  78. package/src/common/component/settings/modules/settingClosePageConfirmation.js +27 -27
  79. package/src/common/component/settings/modules/settingShowNeedReloadMessage.js +75 -75
  80. package/src/common/component/settings/modules/settingwindowHolder.js +21 -21
  81. package/src/common/component/settings/stores/userSettingsStoreService.js +37 -37
  82. package/src/common/component/visualeditor/UiCPVisualEditor.scss +108 -108
  83. package/src/common/field/BankBikField.js +15 -15
  84. package/src/common/field/BankKppField.js +16 -16
  85. package/src/common/field/BankOgrnIpField.js +23 -23
  86. package/src/common/field/BankPaymentAccountField.js +48 -48
  87. package/src/common/field/EditorJs.scss +41 -41
  88. package/src/common/field/FieldsHelper.js +198 -198
  89. package/src/common/field/ForeignField.js +186 -186
  90. package/src/common/field/ReportValueField.js +128 -128
  91. package/src/common/field/ReportValueField.scss +2 -2
  92. package/src/common/field/SnilsField.js +35 -35
  93. package/src/common/field/checkbox/CustomValueCheckBox.js +113 -113
  94. package/src/common/field/combo/AbstractComponentsComboBox.js +32 -32
  95. package/src/common/field/combo/BillingLookupComboBox.js +21 -21
  96. package/src/common/field/combo/CommandComboBox.scss +19 -19
  97. package/src/common/field/combo/ConstantList.js +26 -26
  98. package/src/common/field/combo/IsweDynamicCheckboxGroup.js +17 -17
  99. package/src/common/field/combo/PanelComboBox.js +21 -21
  100. package/src/common/field/combo/TownTypeComboBox.js +21 -21
  101. package/src/common/field/fieldset/SelectAccountsRangeFieldSet.js +65 -65
  102. package/src/common/field/fieldset/TimePicker.js +92 -92
  103. package/src/common/field/radio/DynamicRadioGroup.js +87 -87
  104. package/src/common/field/withDefault.js +37 -37
  105. package/src/common/panel/DayPicker.js +63 -63
  106. package/src/common/panel/DayPicker.scss +15 -15
  107. package/src/common/panel/MainUploadPanel.scss +13 -13
  108. package/src/common/panel/SelectIconClassPanel.scss +38 -38
  109. package/src/common/panel/SelectIconClassPanelTemplate.scss +14 -14
  110. package/src/common/panel/StopwatchWindow.js +44 -44
  111. package/src/common/panel/WindowWrap.js +0 -0
  112. package/src/common/panel/WindowWrap.scss +8 -8
  113. package/src/common/panel/dropzone/UniversalMultiUploadForm.scss +29 -29
  114. package/src/common/panel/dropzone/UniversalMultiUploadFormController.js +233 -233
  115. package/src/common/panel/dropzone/UniversalMultiUploadFormViewModel.js +10 -10
  116. package/src/common/panel/dropzone/UploadDropZone.js +56 -56
  117. package/src/common/panel/dropzone/UploadDropZone.scss +36 -36
  118. package/src/common/panel/widget/LinkWindow.js +67 -67
  119. package/src/common/panel/widget/LinkWindowController.js +69 -69
  120. package/src/common/panel/widget/MainSettingsWindow.js +121 -121
  121. package/src/common/panel/widget/MainSettingsWindowController.js +68 -68
  122. package/src/common/panel/widget/PinWindow.js +42 -42
  123. package/src/common/panel/widget/PinWindowController.js +48 -48
  124. package/src/common/panel/widget/SettingsModel.js +15 -15
  125. package/src/common/panel/widget/SettingsWindow.js +154 -154
  126. package/src/common/panel/widget/SettingsWindowController.js +44 -44
  127. package/src/common/panel/widget/WidgetPanel.js +19 -19
  128. package/src/common/panel/widget/WidgetPanel.scss +157 -157
  129. package/src/common/panel/widget/WidgetPanelViewModel.js +13 -13
  130. package/src/common/plugin/form/CopyPastePlugin.js +68 -68
  131. package/src/common/plugin/form/CountRowsToFieldLabel.js +25 -25
  132. package/src/common/plugin/form/FieldDependsPlugin.js +215 -215
  133. package/src/common/plugin/form/PeriodMenu.js +58 -58
  134. package/src/common/plugin/form/PeriodPickerPlugin.js +51 -51
  135. package/src/common/plugin/mixin/defaults.js +17 -17
  136. package/src/common/tree/BaseContextMenu.js +50 -50
  137. package/src/common/tree/ContextMenuItem.js +18 -18
  138. package/src/common/tree/NodeTreeLoader.js +61 -61
  139. package/src/common/trigger/WikiTrigger.js +20 -20
  140. package/src/eventBus.js +73 -73
  141. package/src/info.js +39 -39
  142. package/src/info.scss +12 -12
  143. package/src/logSender.js +63 -63
  144. package/src/model/MoParameterFields.js +7 -7
  145. package/src/model/SimpleEntityCharacteristicBeanFields.js +6 -6
  146. package/src/model/VisualCharacteristicValueFields.js +6 -6
  147. package/src/model/VisualCharacteristicValuesFields.js +17 -17
  148. package/src/nav/AppNavTab.js +106 -106
  149. package/src/nav/AppNavTab.scss +20 -20
  150. package/src/nav/AppNavigationBar.js +88 -88
  151. package/src/nav/AppNavigationBar.scss +9 -9
  152. package/src/nav/AppNavigationBarViewController.js +66 -66
  153. package/src/nav/AppNavigationMenu.scss +64 -64
  154. package/src/nav/WindowBarMixin.js +27 -27
  155. package/src/nav/editor/NavigateElementEditorView.js +94 -94
  156. package/src/nav/editor/NavigateElementEditorViewModel.js +22 -22
  157. package/src/nav/editor/menu/NavMenuTreeView.scss +104 -104
  158. package/src/nav/editor/menu/command/AddMenuCommand.js +20 -20
  159. package/src/nav/editor/menu/command/DeleteMenuCommand.js +20 -20
  160. package/src/nav/editor/menu/command/GetMenuCommand.js +20 -20
  161. package/src/nav/editor/menu/command/SaveMenuCommand.js +20 -20
  162. package/src/nav/editor/menu/form/NavMenuFormView.js +0 -1
  163. package/src/nav/editor/menu/form/NavMenuFormViewController.js +150 -133
  164. package/src/nav/editor/menu/form/NavMenuFormViewModel.js +24 -24
  165. package/src/nav/editor/workspace/NavWorkspaceListController.js +179 -179
  166. package/src/nav/editor/workspace/NavWorkspaceListView.js +59 -59
  167. package/src/nav/editor/workspace/NavWorkspaceListView.scss +35 -35
  168. package/src/nav/editor/workspace/command/AddWorkspaceCommand.js +20 -20
  169. package/src/nav/editor/workspace/command/DeleteWorkspaceCommand.js +20 -20
  170. package/src/nav/editor/workspace/command/GetWorkspaceCommand.js +20 -20
  171. package/src/nav/editor/workspace/command/SaveWorkspaceCommand.js +20 -20
  172. package/src/nav/editor/workspace/form/NavWorkspaceFormController.js +108 -108
  173. package/src/nav/editor/workspace/form/NavWorkspaceFormView.js +79 -79
  174. package/src/nav/editor/workspace/form/NavWorkspaceFormViewModel.js +18 -18
  175. package/src/nav/menu/NavMenuPanel.scss +11 -11
  176. package/src/nav/menu/WorkspaceMenuView.scss +218 -218
  177. package/src/nav/state.js +86 -86
  178. package/src/nav/windowHolder.js +97 -97
  179. package/src/nav/windowHolderTab.js +39 -39
  180. package/src/nav/windowHolderTab.scss +13 -13
  181. package/src/report/column/BigNumColumn.js +43 -43
  182. package/src/report/column/Check.js +49 -49
  183. package/src/report/column/CounterColumn.js +26 -26
  184. package/src/report/column/DynamicActionColumn.js +74 -74
  185. package/src/report/column/HintColumn.js +19 -19
  186. package/src/report/column/HintDateColumn.js +19 -19
  187. package/src/report/column/HintTimeIntervalColumn.js +33 -33
  188. package/src/report/column/IconSvgColumn.js +15 -15
  189. package/src/report/column/MoneyColumn.js +25 -25
  190. package/src/report/column/MultiFilesColumn.scss +8 -8
  191. package/src/report/column/MultiLineColumn.js +17 -17
  192. package/src/report/column/PercentColumn.js +38 -38
  193. package/src/report/column/SoftWrapColumn.js +18 -18
  194. package/src/report/column/TimeIntervalColumn.js +34 -34
  195. package/src/report/command/ConvertReportCommand.js +41 -41
  196. package/src/report/command/ExecuteAllReportsCommand.js +53 -53
  197. package/src/report/command/GetExcelFromRowsOrReportData.js +5 -5
  198. package/src/report/command/GetExcelReportDataCommand.js +5 -5
  199. package/src/report/command/GetPdfReportDataCommand.js +7 -7
  200. package/src/report/command/GetReportCommand.js +39 -39
  201. package/src/report/command/GetReportFieldsCommand.js +42 -42
  202. package/src/report/command/GetReportInfoCommand.js +29 -29
  203. package/src/report/command/GetReportRevisionCommand.js +25 -25
  204. package/src/report/command/GetReportVersionListCommand.js +28 -28
  205. package/src/report/command/PublisherPdfCommand.js +52 -52
  206. package/src/report/command/RestoreReportCommand.js +27 -27
  207. package/src/report/component/BoundListPagingToolbar.scss +7 -7
  208. package/src/report/component/EXTJSReportUploadForm.js +175 -175
  209. package/src/report/component/ErrorWindow.scss +15 -15
  210. package/src/report/component/EventKeyBox.js +20 -20
  211. package/src/report/component/IsweSimplestReportCombo.js +40 -40
  212. package/src/report/component/LookupCombo.js +24 -24
  213. package/src/report/component/ParameterizedReportCombo.scss +85 -85
  214. package/src/report/component/ReportPanel.scss +69 -69
  215. package/src/report/component/SimpleReportTag.scss +22 -22
  216. package/src/report/component/SubentityCombo.js +12 -12
  217. package/src/report/component/reportpanel/CopyReportPanel.scss +14 -14
  218. package/src/report/component/reportpanel/FilterPanel.scss +16 -16
  219. package/src/report/component/reportpanel/FilterPanelLegend.scss +23 -23
  220. package/src/report/component/reportpanel/ReportGrid.scss +30 -30
  221. package/src/report/component/settings/AddVersioningTab.js +19 -19
  222. package/src/report/component/settings/ReportFormEditPanel.scss +87 -87
  223. package/src/report/component/settings/ReportPropertiesAceEditor.js +0 -3
  224. package/src/report/component/settings/ReportPropertiesGrid.js +38 -15
  225. package/src/report/component/settings/ReportPropertiesGrid.scss +26 -0
  226. package/src/report/component/settings/ReportPropertiesGridController.js +131 -6
  227. package/src/report/component/settings/field/ReportFormFieldsGrid.scss +5 -5
  228. package/src/report/component/settings/parameter/ReportFormParameterEditPanel.js +64 -64
  229. package/src/report/component/settings/property/ReportPropertiesPanel.scss +12 -12
  230. package/src/report/component/tab/ReportTabView.js +59 -59
  231. package/src/report/model/AccountDocumentBean.js +33 -33
  232. package/src/report/model/AccountDocumentBeanFields.js +35 -35
  233. package/src/report/model/ActionCodeBean.js +17 -17
  234. package/src/report/model/ActionCodeBeanFields.js +8 -8
  235. package/src/report/model/ActionCodeGroupBean.js +18 -18
  236. package/src/report/model/ActionCodeGroupBeanFields.js +9 -9
  237. package/src/report/model/BillingDocumentFields.js +29 -29
  238. package/src/report/model/BillingDocumentStateBean.js +20 -20
  239. package/src/report/model/BillingDocumentStateBeanFields.js +11 -11
  240. package/src/report/model/CharacteristicBean.js +37 -37
  241. package/src/report/model/CharacteristicBeanFields.js +30 -30
  242. package/src/report/model/ColorPluginBean.js +16 -16
  243. package/src/report/model/ColorPluginBeanFields.js +16 -16
  244. package/src/report/model/ComboValueWrapper.js +16 -16
  245. package/src/report/model/ComboValueWrapperFields.js +6 -6
  246. package/src/report/model/ConfigReportPropertyBeanFields.js +7 -7
  247. package/src/report/model/ConfigureCharacteristicBean.js +36 -36
  248. package/src/report/model/ConfigureCharacteristicBeanFields.js +27 -27
  249. package/src/report/model/FiltersPluginBean.js +12 -12
  250. package/src/report/model/FiltersPluginBeanFields.js +6 -6
  251. package/src/report/model/GroupButtonsPluginBean.js +16 -16
  252. package/src/report/model/GroupButtonsPluginBeanFields.js +13 -13
  253. package/src/report/model/LimitBean.js +27 -27
  254. package/src/report/model/LimitBeanFields.js +21 -21
  255. package/src/report/model/LimitDetailsBeanFields.js +12 -12
  256. package/src/report/model/LogRequestBean.js +19 -19
  257. package/src/report/model/LogRequestFields.js +11 -11
  258. package/src/report/model/LookupBean.js +16 -16
  259. package/src/report/model/LookupBeanFields.js +7 -7
  260. package/src/report/model/MenuGroupCharacteristicTypeBean.js +17 -17
  261. package/src/report/model/MenuGroupCharacteristicTypeBeanFields.js +8 -8
  262. package/src/report/model/RawCharacteristicValueBean.js +21 -21
  263. package/src/report/model/RawCharacteristicValueBeanFields.js +12 -12
  264. package/src/report/model/ReportAccessGroupBean.js +18 -18
  265. package/src/report/model/ReportAccessGroupBeanFields.js +9 -9
  266. package/src/report/model/ReportBeanFields.js +12 -12
  267. package/src/report/model/ReportFieldBean.js +26 -26
  268. package/src/report/model/ReportFieldBeanFields.js +10 -10
  269. package/src/report/model/ReportFieldPropertyBean.js +20 -20
  270. package/src/report/model/ReportFieldPropertyBeanFields.js +17 -17
  271. package/src/report/model/ReportFormBeanFields.js +20 -20
  272. package/src/report/model/ReportMaintenanceBean.js +26 -26
  273. package/src/report/model/ReportMaintenanceBeanFields.js +23 -23
  274. package/src/report/model/ReportNavigationContextBeanFields.js +16 -16
  275. package/src/report/model/ReportParameterBeanFields.js +14 -14
  276. package/src/report/model/ReportParameterMaintenanceBean.js +33 -33
  277. package/src/report/model/ReportParameterMaintenanceBeanFields.js +29 -29
  278. package/src/report/model/ReportPluginBeanFields.js +10 -10
  279. package/src/report/model/ReportPluginMaintenanceBean.js +22 -22
  280. package/src/report/model/ReportPluginMaintenanceBeanFields.js +17 -17
  281. package/src/report/model/ReportPropertyBean.js +19 -19
  282. package/src/report/model/ReportPropertyBeanFields.js +13 -13
  283. package/src/report/model/SummaryPluginBeanFields.js +7 -7
  284. package/src/report/model/ToggleColumnsPluginBean.js +12 -12
  285. package/src/report/model/ToggleColumnsPluginBeanFields.js +6 -6
  286. package/src/report/model/TownBeanFields.js +7 -7
  287. package/src/report/model/TownTypeBean.js +17 -17
  288. package/src/report/model/TownTypeBeanFields.js +8 -8
  289. package/src/report/model/UsersGroupsValueBean.js +16 -16
  290. package/src/report/model/UsersGroupsValueBeanFields.js +7 -7
  291. package/src/report/model/WizardBean.js +17 -17
  292. package/src/report/model/WizardBeanFields.js +8 -8
  293. package/src/report/plugin/SearchByPropButton.js +15 -15
  294. package/src/report/plugin/SettingsManagerPlugin/model/SMPProfileEntry.js +28 -28
  295. package/src/report/plugin/SettingsManagerPlugin/store/SMPAbstractEntryStore.js +89 -89
  296. package/src/report/plugin/SettingsManagerPlugin/store/SMPLocalEntryStore.js +64 -64
  297. package/src/report/plugin/SettingsManagerPlugin/store/SMPRemoteEntryStore.js +6 -6
  298. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainView.js +300 -300
  299. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainView.scss +3 -3
  300. package/src/report/plugin/SettingsManagerPlugin/view/SMPMainViewController.js +183 -183
  301. package/src/report/plugin/comboBtnWrapper.js +27 -27
  302. package/src/report/plugin/configPanel/ChangeFieldValuePluginConfigGrid.js +110 -110
  303. package/src/report/plugin/configPanel/ExecuteCommandButtonPluginConfigPanel.scss +5 -5
  304. package/src/report/plugin/configPanel/GridEditorPluginConfigGrid.js +145 -145
  305. package/src/report/plugin/configPanel/GridFiltersPluginConfigPanelFiltersGrid.js +107 -107
  306. package/src/report/plugin/configPanel/GridRowStylePluginConfigPropertyGrid.js +185 -185
  307. package/src/report/plugin/configPanel/GroupButtonsPluginConfigGrid.js +149 -149
  308. package/src/report/plugin/configPanel/GroupRowsPluginConfigPanel.scss +3 -3
  309. package/src/report/plugin/configPanel/SetParameterPluginConfigPanel.js +108 -108
  310. package/src/report/plugin/configPanel/SpecificPluginConfig.js +45 -45
  311. package/src/report/plugin/configPanel/ToggleColumnsPluginConfigPanelAdditionalColumnsGrid.js +94 -94
  312. package/src/report/plugin/configPanel/ToolbarItemPluginConfigPanel.js +83 -83
  313. package/src/report/plugin/configPanel/UiAceEditorField.scss +20 -20
  314. package/src/report/plugin/configPanel/common/pluginDescriptionLabel.js +7 -7
  315. package/src/report/plugin/configPanel/common/pluginDescriptionLabel.scss +8 -8
  316. package/src/report/plugin/configPanel/openCustomPanelButtonPlugin/ReportFormContextXTypeMappingGrid.js +71 -71
  317. package/src/report/plugin/form/ComboCustomSort.js +39 -39
  318. package/src/report/plugin/form/ComboLoadingProgress.js +78 -78
  319. package/src/report/plugin/form/CopyToClipboardPlugin.js +75 -75
  320. package/src/report/plugin/form/DatePeriodValidatePluginFactory.js +79 -79
  321. package/src/report/plugin/form/EnterConfirmFormPlugin.js +55 -55
  322. package/src/report/plugin/form/FieldOnEnterChangePlugin.js +27 -27
  323. package/src/report/plugin/form/FormFieldHidding.js +32 -32
  324. package/src/report/plugin/form/ReadOnlyFieldPlugin.js +24 -24
  325. package/src/report/plugin/form/ValidateFieldPlugin.js +42 -42
  326. package/src/report/plugin/form/WindowCheckStatePlugin.js +84 -84
  327. package/src/report/plugin/grid/AddRowButtonPlugin.js +33 -33
  328. package/src/report/plugin/grid/BadgeButtonPlugin.js +70 -70
  329. package/src/report/plugin/grid/ChangeFieldValueButtonPlugin.js +79 -79
  330. package/src/report/plugin/grid/CopyCellToSource.js +80 -80
  331. package/src/report/plugin/grid/CustomColumnSortPlugin.js +39 -39
  332. package/src/report/plugin/grid/DeleteRowButtonPlugin.js +145 -145
  333. package/src/report/plugin/grid/ExecuteApiCommandButtonPlugin.js +23 -23
  334. package/src/report/plugin/grid/ExportReportDataToFilePlugin.md +7 -0
  335. package/src/report/plugin/grid/ExporterPlugin.js +43 -43
  336. package/src/report/plugin/grid/FilterGridColumnsPlugin.js +79 -79
  337. package/src/report/plugin/grid/FormPanelStatePlugin.js +91 -91
  338. package/src/report/plugin/grid/GetAdditionalContextPlugin.js +73 -73
  339. package/src/report/plugin/grid/GridEditButtonsDeleteBehavior.js +62 -62
  340. package/src/report/plugin/grid/GridFiltersByKeyPressingPlugin.js +99 -99
  341. package/src/report/plugin/grid/GridFiltersInHeadersPlugin.js +69 -69
  342. package/src/report/plugin/grid/GridFiltersPopupPlugin.js +106 -106
  343. package/src/report/plugin/grid/GridHistoryBehaviorPlugin.js +260 -260
  344. package/src/report/plugin/grid/GridHistoryBehaviorStep.js +45 -45
  345. package/src/report/plugin/grid/GridRowCountPlugin.js +57 -57
  346. package/src/report/plugin/grid/GridRowEditingByEnterPlugin.js +44 -44
  347. package/src/report/plugin/grid/GridRowStylePlugin.scss +56 -56
  348. package/src/report/plugin/grid/GridRowTooltipForCellPlugin.js +118 -118
  349. package/src/report/plugin/grid/GridStoreDependency.js +63 -63
  350. package/src/report/plugin/grid/HideItemPlugin.js +54 -54
  351. package/src/report/plugin/grid/PrintPdfButtonPlugin.js +210 -210
  352. package/src/report/plugin/grid/ReportBoxContainerPlugin.js +30 -30
  353. package/src/report/plugin/grid/ReportCharacteristicBindPluginPanel.js +66 -66
  354. package/src/report/plugin/grid/ReportContainerPlugin.js +69 -69
  355. package/src/report/plugin/grid/ReportTabContainerPlugin.js +67 -67
  356. package/src/report/plugin/grid/ReportTabContainerPlugin.scss +3 -3
  357. package/src/report/plugin/grid/RestoreSelectionPlugin.js +93 -93
  358. package/src/report/plugin/grid/SetCheckboxesPlugin.js +88 -88
  359. package/src/report/plugin/grid/SetParameterPlugin.js +139 -139
  360. package/src/report/plugin/grid/SetSingleParameterPlugin.js +68 -68
  361. package/src/report/plugin/grid/SetValuePlugin.js +13 -13
  362. package/src/report/plugin/grid/StoreFiltersByKeyPressingPlugin.js +114 -114
  363. package/src/report/plugin/grid/ToggleColumnsPlugin.js +161 -161
  364. package/src/report/plugin/grid/ToggleColumnsPlugin.scss +7 -7
  365. package/src/report/plugin/grid/ToolbarButtonPlugin.scss +3 -3
  366. package/src/report/plugin/grid/ToolbarSeparatorPlugin.js +16 -16
  367. package/src/report/plugin/htmlEditor/ToolbarCombo.js +18 -18
  368. package/src/report/plugin/htmlEditor/ToolbarElement.js +34 -34
  369. package/src/report/store/AccountDocumentStore.js +49 -49
  370. package/src/report/store/ActionCodeGroupStore.js +19 -19
  371. package/src/report/store/ActionCodeStore.js +20 -20
  372. package/src/report/store/BillingDocumentStateListStore.js +22 -22
  373. package/src/report/store/BillingLookupStore.js +36 -36
  374. package/src/report/store/CharacteristicListStore.js +26 -26
  375. package/src/report/store/ColorPluginStore.js +19 -19
  376. package/src/report/store/ComboValueWrapperStore.js +18 -18
  377. package/src/report/store/FiltersPluginStore.js +19 -19
  378. package/src/report/store/GroupButtonsPluginStore.js +19 -19
  379. package/src/report/store/LimitDetailsStore.js +24 -24
  380. package/src/report/store/LimitStore.js +28 -28
  381. package/src/report/store/LookupStore.js +19 -19
  382. package/src/report/store/MenuGroupCharacteristicTypeListStore.js +18 -18
  383. package/src/report/store/RawCharacteristicValueListStore.js +18 -18
  384. package/src/report/store/RefStore.js +19 -19
  385. package/src/report/store/ReportFieldPropertyStore.js +25 -25
  386. package/src/report/store/ReportFieldStore.js +22 -22
  387. package/src/report/store/ReportNavigationContextStore.js +24 -24
  388. package/src/report/store/ReportParameterStore.js +21 -21
  389. package/src/report/store/ReportPluginStore.js +29 -29
  390. package/src/report/store/ReportPropertyStore.js +23 -23
  391. package/src/report/store/RequestLogStore.js +18 -18
  392. package/src/report/store/SimpleCharacteristicListStore.js +19 -19
  393. package/src/report/store/SimpleFilterPluginStore.js +19 -19
  394. package/src/report/store/SummaryPluginStore.js +19 -19
  395. package/src/report/store/ToggleColumnsPluginStore.js +19 -19
  396. package/src/report/store/TownTypeStore.js +19 -19
  397. package/src/report/store/WizardStore.js +20 -20
  398. package/src/research/ResearchTreeView.scss +19 -19
  399. package/src/research/TabItemWrapper.js +44 -44
  400. package/src/research/TabItemWrapperViewModel.js +19 -19
  401. package/src/security/component/RoleFileUploadForm.scss +4 -4
  402. package/src/security/component/ui/UiCPRestrictionEditor.scss +4 -4
  403. package/src/stateProvider.js +20 -20
  404. package/src/uielement/command/ExecuteApiCommand.js +15 -15
  405. package/src/uielement/command/GetMenuTreeCommand.js +23 -23
  406. package/src/uielement/command/GetNavigateUIMenuEntryCommand.js +23 -23
  407. package/src/uielement/command/GetNextUIMenuEntryCommand.js +22 -22
  408. package/src/uielement/command/GetUIElementPropertyDocLinkCommand.js +18 -18
  409. package/src/uielement/command/GetUIElementRevisionCommand.js +25 -25
  410. package/src/uielement/command/GetUIElementVersionListCommand.js +27 -27
  411. package/src/uielement/component/CodemirrorEditor.js +68 -68
  412. package/src/uielement/component/MenuItemList.scss +35 -35
  413. package/src/uielement/component/UiCustomPanel.js +44 -44
  414. package/src/uielement/component/UiCustomPanelViewModel.js +15 -15
  415. package/src/uielement/component/UiElementLookupCombo.js +190 -190
  416. package/src/uielement/component/UiElementPropertyController.js +111 -111
  417. package/src/uielement/component/UiElementPropertyInfoController.js +23 -23
  418. package/src/uielement/component/UiElementPropertyPanel.js +80 -80
  419. package/src/uielement/component/formchips/FilterConditionToolbar.js +115 -115
  420. package/src/uielement/component/formchips/FilterConditionToolbar.scss +46 -46
  421. package/src/uielement/component/settings/AddVersioningTab.js +26 -26
  422. package/src/uielement/component/settings/EXTJSUiPanelImportJsonForm.js +42 -42
  423. package/src/uielement/component/settings/PropertyModel.js +8 -8
  424. package/src/uielement/component/settings/PropertyTreePanel.js +121 -121
  425. package/src/uielement/component/settings/UiAceEditor.js +9 -11
  426. package/src/uielement/component/settings/UiCustomPanelAnnotationWindow.js +71 -71
  427. package/src/uielement/component/settings/UiCustomPanelEditor.scss +9 -9
  428. package/src/uielement/component/settings/config/UiCPConfigPanelController.js +2 -0
  429. package/src/uielement/component/settings/config/UiCPConfigPanelController.scss +24 -24
  430. package/src/uielement/component/settings/linter/UiAceLinterPlugin.js +7 -0
  431. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.js +206 -206
  432. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.scss +11 -11
  433. package/src/uielement/component/settings/plugin/UiCustomPanelPluginGridController.js +205 -205
  434. package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanel.scss +11 -11
  435. package/src/uielement/component/settings/plugin/UiCustomPanelPluginSelectWindow.js +152 -152
  436. package/src/uielement/component/settings/version/UiCPVersionPanel.scss +15 -15
  437. package/src/uielement/model/UIElementBeanFields.js +8 -8
  438. package/src/uielement/model/UiElementPropertyModel.js +31 -31
  439. package/src/uielement/plugin/AddBindingsPlugin.js +18 -18
  440. package/src/uielement/plugin/AddDoInitSupportPlugin.js +66 -66
  441. package/src/uielement/plugin/AddOutputParamsPlugin.js +22 -22
  442. package/src/uielement/plugin/ExecuteApiCommandPlugin.js +52 -52
  443. package/src/uielement/plugin/FireEventPlugin.js +31 -31
  444. package/src/uielement/plugin/OpenPanelPlugin.js +90 -90
  445. package/src/uielement/plugin/configPanel/AddBindingsPluginConfigPanelFormEditor.scss +29 -29
  446. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginConfigPanel.js +214 -214
  447. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginPropertiesGrid.js +62 -62
  448. package/src/uielement/plugin/configPanel/AddDoInitSupportPluginPropertiesGridController.js +102 -102
  449. package/src/userSettings.js +161 -161
  450. package/src/version.js +1 -1
  451. package/util/update.js +75 -75
@@ -54,6 +54,9 @@ Ext.define('Coon.common.component.editor.EditorFactory', {
54
54
  throw new Ext.Error('Тип редактора не задан');
55
55
  }
56
56
  Coon.log.debug('createEditor', type);
57
+ const mask = record.get('mask');
58
+ record.set('editorConfig', (mask && typeof mask === 'string' && Ext.decode(mask, true) && Ext.isObject(Ext.decode(mask))) ?
59
+ Ext.decode(mask, true) : {});
57
60
  if (type === Coon.common.component.editor.CharacteristicEditorTypes.FOREIGN ||
58
61
  type === Coon.common.component.editor.CharacteristicEditorTypes.FILE ||
59
62
  !Ext.isEmpty(record.get(Coon.report.model.CharacteristicBeanFields.$editor))) {
@@ -70,10 +73,14 @@ Ext.define('Coon.common.component.editor.EditorFactory', {
70
73
  editor = new Coon.common.component.editor.TextTypeEditor();
71
74
  break;
72
75
  case Coon.common.component.editor.CharacteristicEditorTypes.FLOAT:
73
- editor = new Coon.common.component.editor.NumberTypeEditor();
76
+ editor = new Coon.common.component.editor.NumberTypeEditor({
77
+ record: record,
78
+ });
74
79
  break;
75
80
  case Coon.common.component.editor.CharacteristicEditorTypes.INT:
76
- editor = new Coon.common.component.editor.IntTypeEditor();
81
+ editor = new Coon.common.component.editor.IntTypeEditor({
82
+ record: record,
83
+ });
77
84
  break;
78
85
  case Coon.common.component.editor.CharacteristicEditorTypes.DATE:
79
86
  editor = new Coon.common.component.editor.DateTypeEditor({
@@ -81,7 +88,9 @@ Ext.define('Coon.common.component.editor.EditorFactory', {
81
88
  });
82
89
  break;
83
90
  case Coon.common.component.editor.CharacteristicEditorTypes.LIST:
84
- editor = new Coon.common.component.editor.DFVTypeEditor();
91
+ editor = new Coon.common.component.editor.DFVTypeEditor({
92
+ record: record,
93
+ });
85
94
  break;
86
95
  default:
87
96
  throw new Ext.Error('Не определен тип редактора');
@@ -144,26 +153,32 @@ Ext.define('Coon.common.component.editor.TextTypeEditor', {
144
153
  const ns = Coon.report.model.CharacteristicBeanFields;
145
154
  const re = new RegExp('^\\d{10}$');
146
155
  if (record.recTyp && record.recTyp === 'passport' && re.test(value.replace(/\s/g, ''))) {
147
- value = value.slice(0, 2) + ' ' + value.slice(2, 4) + ' ' + value.slice(4);
156
+ const passportNumber = value.replace(/\s/g, '');
157
+ value = passportNumber.slice(0, 2) + ' ' + passportNumber.slice(2, 4) + ' ' + passportNumber.slice(4);
148
158
  }
149
159
  record.set(ns.$valueDescription, value);
150
160
  },
151
161
 
152
162
  prepare: function() {
153
- const ns = Coon.report.model.CharacteristicBeanFields;
154
163
  const record = this.context.record;
155
- const type = this.grid.typeMap.get(record.get(ns.$type));
164
+ const type = this.grid.typeMap.get(record.get('type'));
156
165
  const field = this.field;
157
- if (type && type[ns.$mask] !== ' ') {
158
- field.regexText = 'Некорректное заполнение поля';
159
- field.regex = new RegExp(type[ns.$mask]);
160
- field.maskRe = field.regex;
161
- record.recTyp = type[ns.$mask] === '^\\d{2}\\s*\\d{2}\\s*\\d{6}$' ? 'passport' : undefined;
162
- }
163
- if (type && type[ns.$mask] === ' ') {
164
- field.regexText = undefined;
165
- field.regex = undefined;
166
- field.maskRe = undefined;
166
+ if (!Ext.Object.isEmpty(record.get('editorConfig'))) {
167
+ Ext.apply(field, record.get('editorConfig'));
168
+ field.regex = record.get('editorConfig').regex ? new RegExp(record.get('editorConfig').regex) : undefined;
169
+ record.recTyp = field.recTyp;
170
+ } else {
171
+ if (type && type.mask !== ' ') {
172
+ field.regexText = 'Некорректное заполнение поля';
173
+ field.regex = new RegExp(type.mask);
174
+ field.maskRe = field.regex;
175
+ record.recTyp = type.mask === '^\\d{2}\\s*\\d{2}\\s*\\d{6}$' ? 'passport' : undefined;
176
+ }
177
+ if (type && type.mask === ' ') {
178
+ field.regexText = undefined;
179
+ field.regex = undefined;
180
+ field.maskRe = undefined;
181
+ }
167
182
  }
168
183
  },
169
184
  });
@@ -192,16 +207,13 @@ Ext.define('Coon.common.component.editor.NumberTypeEditor', {
192
207
  const record = this.context.record;
193
208
  const type = this.grid.typeMap.get(record.get(ns.$type));
194
209
  const field = this.field;
195
- if (type && type.mask && type.mask.startsWith('minValue')) {
210
+ field.minValue = Number.NEGATIVE_INFINITY;
211
+ if (!Ext.Object.isEmpty(record.get('editorConfig'))) {
212
+ Ext.apply(field, record.get('editorConfig'));
213
+ } else if (type && type.mask && type.mask.startsWith('minValue')) {
196
214
  const range = type[ns.$mask].split(';');
197
215
  field.minValue = range[0].slice(9);
198
- if (range.length === 2) {
199
- field.maxValue = range[1].slice(10);
200
- } else {
201
- field.maxValue = Number.POSITIVE_INFINITY;
202
- }
203
- } else {
204
- field.minValue = Number.NEGATIVE_INFINITY;
216
+ field.maxValue = range.length === 2 ? range[1].slice(10) : Number.POSITIVE_INFINITY;
205
217
  }
206
218
  },
207
219
 
@@ -247,25 +259,23 @@ Ext.define('Coon.common.component.editor.DateTypeEditor', {
247
259
  ],
248
260
 
249
261
  createField: function() {
250
- const ns = Coon.report.model.CharacteristicBeanFields;
251
- this.mask = this.parseMask(this.record.get(ns.$mask));
252
- const plugins = this.mask['periodPicker'] ? 'PeriodPickerPlugin' : [];
253
- return new Ext.form.field.Date({
262
+ const mask = Ext.Object.isEmpty(this.record.get('editorConfig')) ? this.parseMask(this.record.get('mask')) : {};
263
+ return Ext.create(Ext.apply({
264
+ xtype: 'datefield',
254
265
  allowBlank: true,
255
- plugins: plugins,
256
- format: this.mask['valueFormat'] || 'd.m.Y',
257
- });
266
+ plugins: mask['periodPicker'] ? 'PeriodPickerPlugin' : [],
267
+ format: mask['valueFormat'] || 'd.m.Y',
268
+ }, this.record.get('editorConfig')));
258
269
  },
259
270
 
260
271
  setData: function(value, record) {
261
- const ns = Coon.report.model.CharacteristicBeanFields;
262
- this.mask = this.parseMask(record.get(ns.$mask));
263
- if (this.mask['valueFormat']) {
264
- record.set(ns.$value,
265
- Ext.util.Format.dateRenderer(this.mask['valueFormat'])(value));
272
+ const mask = Ext.Object.isEmpty(this.record.get('editorConfig')) ? this.parseMask(this.record.get('mask')) : {};
273
+ const valueFormat = mask['valueFormat'] || (record.get('editorConfig') && record.get('editorConfig').format);
274
+ if (valueFormat) {
275
+ record.set('value', Ext.util.Format.dateRenderer(valueFormat)(value));
266
276
  }
267
- record.set(ns.$valueDescription,
268
- Ext.util.Format.dateRenderer(this.mask['displayFormat'] || 'd.m.Y')(value));
277
+ const displayFormat = mask['displayFormat'] || (record.get('editorConfig') && record.get('editorConfig').displayFormat) || 'd.m.Y';
278
+ record.set('valueDescription', Ext.util.Format.dateRenderer(displayFormat)(value));
269
279
  },
270
280
 
271
281
  /**
@@ -303,19 +313,19 @@ Ext.define('Coon.common.component.editor.DFVTypeEditor', {
303
313
  ],
304
314
  alias: 'widget.DFVTypeEditor',
305
315
 
306
- config: {
307
- field: {
316
+ setData: function(value, record) {
317
+ const ns = Coon.report.model.CharacteristicBeanFields;
318
+ record.set(ns.$valueDescription, this.field.getVisibleValue());
319
+ },
320
+
321
+ createField: function() {
322
+ return Ext.create(Ext.apply({
308
323
  xtype: 'DFVCharacteristicField',
309
324
  characteristicType: '',
310
325
  listWidth: 350,
311
326
  allowBlank: true,
312
327
  loadOnRender: false,
313
- },
314
- },
315
-
316
- setData: function(value, record) {
317
- const ns = Coon.report.model.CharacteristicBeanFields;
318
- record.set(ns.$valueDescription, this.field.getVisibleValue());
328
+ }, this.record.get('editorConfig')));
319
329
  },
320
330
 
321
331
  prepare: function() {
@@ -1,240 +1,240 @@
1
- /**
2
- * Редактор характеристик с функциональностью редактирования по типам
3
- */
4
- Ext.define('Coon.common.component.editor.HistoryTypedCharacteristicEditor', {
5
- extend: 'Coon.common.component.editor.TypedCharacteristicEditor',
6
- alternateClassName: [
7
- 'SigmaUtilities.view.common.component.editor.HistoryTypedCharacteristicEditor'
8
- ],
9
- alias: 'widget.HistoryTypedCharacteristicEditor',
10
- config: {
11
- enableHistoryPanel: true,
12
- calenderHidden: false,
13
- dateWidth: 90,
14
- calendarFormat: 'F Y',
15
- useHistoryPanelWithDeletedChars: false,
16
- showDateColumn: true,
17
- },
18
-
19
- initComponent: function() {
20
- this.historyButton = new Ext.Button({
21
- text: this.useHistoryPanelWithDeletedChars ? 'История' : 'Вся история',
22
- iconCls: 'x-ccb-btn-hist',
23
- handler: function() {
24
- this.openHistory();
25
- }.bind(this),
26
- hidden: !this.enableHistoryPanel,
27
- });
28
-
29
- this.historyCharButton = new Ext.Button({
30
- text: 'История',
31
- iconCls: 'x-ccb-btn-hist',
32
- handler: function() {
33
- this.openCharHistory();
34
- }.bind(this),
35
- hidden: !this.enableHistoryPanel || this.useHistoryPanelWithDeletedChars,
36
- disabled: true,
37
- });
38
-
39
- this.historyAuditButton = new Ext.Button({
40
- text: 'Аудит',
41
- iconCls: 'x-ccb-btn-hist',
42
- handler: function() {
43
- this.openHistoryUserAudit();
44
- }.bind(this),
45
- hidden: !this.enableHistoryPanel || !this.useHistoryPanelWithDeletedChars,
46
- });
47
-
48
- this.calendar = Ext.create({
49
- xtype: 'datefield',
50
- allowBlank: false,
51
- margin: 10,
52
- hidden: this.calenderHidden,
53
- format: this.calendarFormat,
54
- });
55
-
56
- this.calendar.on('validate', this.validateDateHandler, this);
57
- this.calendar.on('select', this.changeCalendarHandler, this);
58
-
59
- this.tbarItems = [
60
- this.calendar,
61
- this.historyButton,
62
- this.historyCharButton,
63
- this.historyAuditButton
64
- ];
65
-
66
- this.callParent();
67
- },
68
-
69
- createColumns: function() {
70
- const columns = this.callParent();
71
-
72
- const actions = !this.readOnly && columns.items.pop();
73
-
74
- if (this.showDateColumn) {
75
- columns.items.push(this.createCMEffectiveDate());
76
- }
77
-
78
- if (!this.readOnly) {
79
- columns.items.push(actions);
80
- }
81
- return columns;
82
- },
83
-
84
- createCMEffectiveDate: function() {
85
- const ns = Coon.report.model.CharacteristicBeanFields;
86
-
87
- return {
88
- xtype: 'hintDateColumn',
89
- header: 'Дата начала',
90
- tdCls: 'effective-at-column',
91
- width: this.dateWidth,
92
- dataIndex: ns.$effectiveDate,
93
- sortable: true,
94
- };
95
- },
96
-
97
- setDate: function(date) {
98
- this.callParent();
99
- this.calendar.setValue(date);
100
- },
101
-
102
- changeDate: function(date) {
103
- if (!date) {
104
- date = new Date().getFirstDateOfMonth();
105
- }
106
-
107
- this.setDate(date);
108
- this.changeCalendarHandler();
109
- },
110
-
111
- changeCalendarHandler: function() {
112
- const date = this.calendar.getValue();
113
- if (date) {
114
- this.effectiveDate = Ext.util.Format.date(date, Coon.format.dateInternal);
115
- this.fireEvent('changeDate', this, date);
116
- }
117
- },
118
-
119
- validateDateHandler: function(calendar, date) {
120
- if ((this.minDate && this.minDate > date) || (this.maxDate && this.maxDate < date)) {
121
- return false;
122
- }
123
- },
124
-
125
- setDateRestrictions: function(minDate, maxDate) {
126
- if (minDate && !(minDate instanceof Date)) {
127
- minDate = new Date(minDate);
128
- }
129
- if (maxDate && !(maxDate instanceof Date)) {
130
- maxDate = new Date(maxDate);
131
- }
132
- this.minDate = minDate;
133
- this.maxDate = maxDate;
134
- this.calendar.setMinValue(this.minDate);
135
- this.calendar.setMaxValue(this.maxDate);
136
- },
137
-
138
- getHistoryWindow: function() {
139
- const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanel');
140
- this.historyWindow = Ext.widget('WindowWrap', {
141
- items: panel,
142
- title: 'Вся история',
143
- maximized: true,
144
- maximizable: false,
145
- });
146
-
147
- return this.historyWindow;
148
- },
149
-
150
- getHistoryWindowWithDeletedChars: function() {
151
- const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanelWithDeletedChars');
152
- this.historyWindow = Ext.widget('WindowWrap', {
153
- items: panel,
154
- title: 'Вся история',
155
- maximized: true,
156
- maximizable: false,
157
- });
158
-
159
- return this.historyWindow;
160
- },
161
-
162
- getHistoryAuditWindow: function() {
163
- const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanelAudit');
164
- this.historyWindow = Ext.widget('WindowWrap', {
165
- items: panel,
166
- title: 'История характеристик',
167
- maximized: true,
168
- });
169
-
170
- return this.historyWindow;
171
- },
172
-
173
- getUserAuditWindow: function() {
174
- const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryUserAudit');
175
- this.historyWindow = Ext.widget('WindowWrap', {
176
- items: panel,
177
- title: 'Аудит',
178
- maximized: true,
179
- });
180
-
181
- return this.historyWindow;
182
- },
183
-
184
- openHistory: function() {
185
- const date = this.calendar.getValue();
186
- if (date) {
187
- if (this.useHistoryPanelWithDeletedChars) {
188
- const ns = Coon.report.model.CharacteristicBeanFields;
189
- const charTypeCd = this.getSelected() && this.getSelected().get(ns.$type);
190
- const win = this.getHistoryWindowWithDeletedChars();
191
- win.show();
192
- win.content.doInit(
193
- this.model.ID,
194
- this.model.subentityId,
195
- this.model.characteristicEntity,
196
- charTypeCd,
197
- date
198
- );
199
- } else {
200
- const win = this.getHistoryWindow();
201
- win.show();
202
- win.content.doInit(
203
- this.model.ID,
204
- this.model.subentityId,
205
- this.model.characteristicEntity,
206
- date
207
- );
208
- }
209
- }
210
- },
211
-
212
- openCharHistory: function() {
213
- const date = this.calendar.getValue();
214
- const ns = Coon.report.model.CharacteristicBeanFields;
215
- const charTypeCd = this.getSelected().get(ns.$type);
216
- if (date && charTypeCd) {
217
- const win = this.getHistoryAuditWindow();
218
- win.show();
219
- win.content.doInit(
220
- this.model.ID,
221
- this.model.subentityId,
222
- this.model.characteristicEntity,
223
- charTypeCd,
224
- date
225
- );
226
- }
227
- },
228
-
229
- openHistoryUserAudit: function() {
230
- if (this.useHistoryPanelWithDeletedChars) {
231
- const win = this.getUserAuditWindow();
232
- win.show();
233
- win.content.doInit(
234
- this.model.ID,
235
- this.model.subentityId,
236
- this.model.characteristicEntity
237
- );
238
- }
239
- },
240
- });
1
+ /**
2
+ * Редактор характеристик с функциональностью редактирования по типам
3
+ */
4
+ Ext.define('Coon.common.component.editor.HistoryTypedCharacteristicEditor', {
5
+ extend: 'Coon.common.component.editor.TypedCharacteristicEditor',
6
+ alternateClassName: [
7
+ 'SigmaUtilities.view.common.component.editor.HistoryTypedCharacteristicEditor'
8
+ ],
9
+ alias: 'widget.HistoryTypedCharacteristicEditor',
10
+ config: {
11
+ enableHistoryPanel: true,
12
+ calenderHidden: false,
13
+ dateWidth: 90,
14
+ calendarFormat: 'F Y',
15
+ useHistoryPanelWithDeletedChars: false,
16
+ showDateColumn: true,
17
+ },
18
+
19
+ initComponent: function() {
20
+ this.historyButton = new Ext.Button({
21
+ text: this.useHistoryPanelWithDeletedChars ? 'История' : 'Вся история',
22
+ iconCls: 'x-ccb-btn-hist',
23
+ handler: function() {
24
+ this.openHistory();
25
+ }.bind(this),
26
+ hidden: !this.enableHistoryPanel,
27
+ });
28
+
29
+ this.historyCharButton = new Ext.Button({
30
+ text: 'История',
31
+ iconCls: 'x-ccb-btn-hist',
32
+ handler: function() {
33
+ this.openCharHistory();
34
+ }.bind(this),
35
+ hidden: !this.enableHistoryPanel || this.useHistoryPanelWithDeletedChars,
36
+ disabled: true,
37
+ });
38
+
39
+ this.historyAuditButton = new Ext.Button({
40
+ text: 'Аудит',
41
+ iconCls: 'x-ccb-btn-hist',
42
+ handler: function() {
43
+ this.openHistoryUserAudit();
44
+ }.bind(this),
45
+ hidden: !this.enableHistoryPanel || !this.useHistoryPanelWithDeletedChars,
46
+ });
47
+
48
+ this.calendar = Ext.create({
49
+ xtype: 'datefield',
50
+ allowBlank: false,
51
+ margin: 10,
52
+ hidden: this.calenderHidden,
53
+ format: this.calendarFormat,
54
+ });
55
+
56
+ this.calendar.on('validate', this.validateDateHandler, this);
57
+ this.calendar.on('select', this.changeCalendarHandler, this);
58
+
59
+ this.tbarItems = [
60
+ this.calendar,
61
+ this.historyButton,
62
+ this.historyCharButton,
63
+ this.historyAuditButton
64
+ ];
65
+
66
+ this.callParent();
67
+ },
68
+
69
+ createColumns: function() {
70
+ const columns = this.callParent();
71
+
72
+ const actions = !this.readOnly && columns.items.pop();
73
+
74
+ if (this.showDateColumn) {
75
+ columns.items.push(this.createCMEffectiveDate());
76
+ }
77
+
78
+ if (!this.readOnly) {
79
+ columns.items.push(actions);
80
+ }
81
+ return columns;
82
+ },
83
+
84
+ createCMEffectiveDate: function() {
85
+ const ns = Coon.report.model.CharacteristicBeanFields;
86
+
87
+ return {
88
+ xtype: 'hintDateColumn',
89
+ header: 'Дата начала',
90
+ tdCls: 'effective-at-column',
91
+ width: this.dateWidth,
92
+ dataIndex: ns.$effectiveDate,
93
+ sortable: true,
94
+ };
95
+ },
96
+
97
+ setDate: function(date) {
98
+ this.callParent();
99
+ this.calendar.setValue(date);
100
+ },
101
+
102
+ changeDate: function(date) {
103
+ if (!date) {
104
+ date = new Date().getFirstDateOfMonth();
105
+ }
106
+
107
+ this.setDate(date);
108
+ this.changeCalendarHandler();
109
+ },
110
+
111
+ changeCalendarHandler: function() {
112
+ const date = this.calendar.getValue();
113
+ if (date) {
114
+ this.effectiveDate = Ext.util.Format.date(date, Coon.format.dateInternal);
115
+ this.fireEvent('changeDate', this, date);
116
+ }
117
+ },
118
+
119
+ validateDateHandler: function(calendar, date) {
120
+ if ((this.minDate && this.minDate > date) || (this.maxDate && this.maxDate < date)) {
121
+ return false;
122
+ }
123
+ },
124
+
125
+ setDateRestrictions: function(minDate, maxDate) {
126
+ if (minDate && !(minDate instanceof Date)) {
127
+ minDate = new Date(minDate);
128
+ }
129
+ if (maxDate && !(maxDate instanceof Date)) {
130
+ maxDate = new Date(maxDate);
131
+ }
132
+ this.minDate = minDate;
133
+ this.maxDate = maxDate;
134
+ this.calendar.setMinValue(this.minDate);
135
+ this.calendar.setMaxValue(this.maxDate);
136
+ },
137
+
138
+ getHistoryWindow: function() {
139
+ const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanel');
140
+ this.historyWindow = Ext.widget('WindowWrap', {
141
+ items: panel,
142
+ title: 'Вся история',
143
+ maximized: true,
144
+ maximizable: false,
145
+ });
146
+
147
+ return this.historyWindow;
148
+ },
149
+
150
+ getHistoryWindowWithDeletedChars: function() {
151
+ const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanelWithDeletedChars');
152
+ this.historyWindow = Ext.widget('WindowWrap', {
153
+ items: panel,
154
+ title: 'Вся история',
155
+ maximized: true,
156
+ maximizable: false,
157
+ });
158
+
159
+ return this.historyWindow;
160
+ },
161
+
162
+ getHistoryAuditWindow: function() {
163
+ const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryPanelAudit');
164
+ this.historyWindow = Ext.widget('WindowWrap', {
165
+ items: panel,
166
+ title: 'История характеристик',
167
+ maximized: true,
168
+ });
169
+
170
+ return this.historyWindow;
171
+ },
172
+
173
+ getUserAuditWindow: function() {
174
+ const panel = Ext.create('Coon.common.component.editor.CharacteristicHistoryUserAudit');
175
+ this.historyWindow = Ext.widget('WindowWrap', {
176
+ items: panel,
177
+ title: 'Аудит',
178
+ maximized: true,
179
+ });
180
+
181
+ return this.historyWindow;
182
+ },
183
+
184
+ openHistory: function() {
185
+ const date = this.calendar.getValue();
186
+ if (date) {
187
+ if (this.useHistoryPanelWithDeletedChars) {
188
+ const ns = Coon.report.model.CharacteristicBeanFields;
189
+ const charTypeCd = this.getSelected() && this.getSelected().get(ns.$type);
190
+ const win = this.getHistoryWindowWithDeletedChars();
191
+ win.show();
192
+ win.content.doInit(
193
+ this.model.ID,
194
+ this.model.subentityId,
195
+ this.model.characteristicEntity,
196
+ charTypeCd,
197
+ date
198
+ );
199
+ } else {
200
+ const win = this.getHistoryWindow();
201
+ win.show();
202
+ win.content.doInit(
203
+ this.model.ID,
204
+ this.model.subentityId,
205
+ this.model.characteristicEntity,
206
+ date
207
+ );
208
+ }
209
+ }
210
+ },
211
+
212
+ openCharHistory: function() {
213
+ const date = this.calendar.getValue();
214
+ const ns = Coon.report.model.CharacteristicBeanFields;
215
+ const charTypeCd = this.getSelected().get(ns.$type);
216
+ if (date && charTypeCd) {
217
+ const win = this.getHistoryAuditWindow();
218
+ win.show();
219
+ win.content.doInit(
220
+ this.model.ID,
221
+ this.model.subentityId,
222
+ this.model.characteristicEntity,
223
+ charTypeCd,
224
+ date
225
+ );
226
+ }
227
+ },
228
+
229
+ openHistoryUserAudit: function() {
230
+ if (this.useHistoryPanelWithDeletedChars) {
231
+ const win = this.getUserAuditWindow();
232
+ win.show();
233
+ win.content.doInit(
234
+ this.model.ID,
235
+ this.model.subentityId,
236
+ this.model.characteristicEntity
237
+ );
238
+ }
239
+ },
240
+ });