ru.coon 2.7.44 → 2.7.46
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.
- package/.gitattributes +1 -1
- package/.husky/pre-commit +4 -4
- package/.lintstagedrc.json +2 -2
- package/CHANGELOG.md +13 -0
- package/Readme.md +24 -24
- package/TODO.md +7 -7
- package/doc/changelog.md +118 -118
- package/doc/shortcuts.md +5 -5
- package/jsdoc.config.json +29 -29
- package/package.json +78 -78
- package/sass/src/common/plugin/form/PeriodPicker.scss +8 -8
- package/src/Function.scss +4 -4
- package/src/app/viewPort/Main.scss +133 -133
- package/src/command/Readme.md +4 -4
- package/src/common/component/ColorPalette.scss +102 -102
- package/src/common/component/ExternalFrame.scss +8 -8
- package/src/common/component/HotkeyHelpText.scss +34 -34
- package/src/common/component/TreeComponentStructure.scss +5 -5
- package/src/common/component/editor/CharacteristicGridEditor.scss +66 -66
- package/src/common/component/editor/EditorFactory.js +65 -60
- package/src/common/component/editor/TypedCharacteristicEditor.scss +7 -7
- package/src/common/component/formeditor/UiCustomFilterForm.scss +7 -7
- package/src/common/component/formeditor/UiCustomFormEditor.scss +42 -42
- package/src/common/component/visualeditor/UiCPVisualEditor.scss +108 -108
- package/src/common/field/EditorJs.scss +41 -41
- package/src/common/field/FieldsHelper.js +0 -0
- package/src/common/field/ReportValueField.scss +2 -2
- package/src/common/field/combo/CommandComboBox.scss +19 -19
- package/src/common/panel/DayPicker.scss +15 -15
- package/src/common/panel/MainUploadPanel.js +5 -1
- package/src/common/panel/MainUploadPanel.scss +13 -13
- package/src/common/panel/SelectIconClassPanel.scss +38 -38
- package/src/common/panel/SelectIconClassPanelTemplate.scss +14 -14
- package/src/common/panel/WindowWrap.js +0 -0
- package/src/common/panel/WindowWrap.scss +8 -8
- package/src/common/panel/dropzone/UniversalMultiUploadForm.scss +29 -29
- package/src/common/panel/dropzone/UploadDropZone.scss +36 -36
- package/src/common/panel/widget/WidgetPanel.scss +157 -157
- package/src/info.scss +12 -12
- package/src/nav/AppNavTab.scss +20 -20
- package/src/nav/AppNavigationBar.scss +9 -9
- package/src/nav/AppNavigationMenu.scss +60 -60
- package/src/nav/AppNavigationToggleButton.scss +6 -6
- package/src/nav/editor/menu/NavMenuTreeView.scss +104 -104
- package/src/nav/editor/workspace/NavWorkspaceListView.scss +35 -35
- package/src/nav/menu/NavMenuPanel.scss +11 -11
- package/src/nav/menu/WorkspaceMenuView.scss +218 -218
- package/src/nav/windowHolderTab.scss +13 -13
- package/src/report/column/MultiFilesColumn.scss +8 -8
- package/src/report/component/BoundListPagingToolbar.scss +7 -7
- package/src/report/component/ErrorWindow.scss +15 -15
- package/src/report/component/ParameterizedReportCombo.scss +85 -85
- package/src/report/component/ReportPanel.scss +69 -69
- package/src/report/component/SimpleReportTag.scss +22 -22
- package/src/report/component/reportpanel/CopyReportPanel.scss +14 -14
- package/src/report/component/reportpanel/FilterPanel.scss +16 -16
- package/src/report/component/reportpanel/FilterPanelLegend.scss +23 -23
- package/src/report/component/reportpanel/NorthPanel.scss +18 -18
- package/src/report/component/reportpanel/ReportGrid.scss +37 -37
- package/src/report/component/settings/ReportFormEditPanel.scss +87 -87
- package/src/report/component/settings/ReportPropertiesGrid.scss +25 -25
- package/src/report/component/settings/field/ReportFormFieldsGrid.scss +5 -5
- package/src/report/component/settings/property/ReportPropertiesPanel.scss +12 -12
- package/src/report/plugin/SettingsManagerPlugin/view/SMPMainView.scss +3 -3
- package/src/report/plugin/configPanel/AddFilterConditionPluginConfigPanel.scss +53 -53
- package/src/report/plugin/configPanel/ExecuteCommandButtonPluginConfigPanel.scss +5 -5
- package/src/report/plugin/configPanel/GroupRowsPluginConfigPanel.scss +3 -3
- package/src/report/plugin/configPanel/UiAceEditorField.scss +20 -20
- package/src/report/plugin/configPanel/common/pluginDescriptionLabel.scss +8 -8
- package/src/report/plugin/grid/CopyRowsFromGrid.js +1 -1
- package/src/report/plugin/grid/GridRowStylePlugin.scss +56 -56
- package/src/report/plugin/grid/ReportTabContainerPlugin.scss +3 -3
- package/src/report/plugin/grid/ToggleColumnsPlugin.scss +7 -7
- package/src/report/plugin/grid/ToolbarButtonPlugin.scss +3 -3
- package/src/research/ResearchTreeView.scss +19 -19
- package/src/ringBuffer.js +36 -0
- package/src/security/component/RoleFileUploadForm.scss +4 -4
- package/src/security/component/ui/UiCPRestrictionEditor.scss +4 -4
- package/src/security/securitySettingComponent/RoleEditPanel.scss +16 -16
- package/src/uielement/component/MenuItemList.scss +35 -35
- package/src/uielement/component/UiCustomController.js +20 -2
- package/src/uielement/component/UiCustomPanel.js +19 -1
- package/src/uielement/component/UiCustomPanelTraceWindow.js +50 -0
- package/src/uielement/component/formchips/FilterConditionToolbar.scss +74 -74
- package/src/uielement/component/settings/UiCustomPanelEditor.scss +9 -9
- package/src/uielement/component/settings/config/UiCPConfigPanelController.scss +24 -24
- package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.scss +11 -11
- package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanel.scss +30 -30
- package/src/uielement/component/settings/version/UiCPVersionPanel.scss +15 -15
- package/src/uielement/plugin/AddBindingsPlugin.js +4 -1
- package/src/uielement/plugin/AddDoInitSupportPlugin.js +4 -1
- package/src/uielement/plugin/CustomPanelPlugin.js +41 -3
- package/src/uielement/plugin/ExecuteCommandPlugin.js +4 -1
- package/src/uielement/plugin/ExecuteFunctionPlugin.js +10 -3
- package/src/uielement/plugin/FireEventPlugin.js +4 -1
- package/src/uielement/plugin/MethodChainPlugin.js +4 -1
- package/src/uielement/plugin/OpenPanelPlugin.js +4 -1
- package/src/uielement/plugin/PrintPdfPlugin.js +4 -1
- package/src/uielement/plugin/configPanel/AddBindingsPluginConfigPanelFormEditor.scss +29 -29
- package/src/uielement/plugin/configPanel/executeCommand/ExecuteCommandPluginConfigPanelFormEditor.scss +22 -22
- package/src/util.js +24 -3
- package/src/version.js +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
Ext.define('Coon.uielement.component.UiCustomPanelTraceWindow', {
|
|
2
|
+
extend: 'Ext.window.Window',
|
|
3
|
+
|
|
4
|
+
xtype: 'UiCustomPanelTraceWindow',
|
|
5
|
+
|
|
6
|
+
title: 'трассировка выполнения плагинов',
|
|
7
|
+
|
|
8
|
+
scrollable: 'y',
|
|
9
|
+
|
|
10
|
+
width: 800,
|
|
11
|
+
height: 600,
|
|
12
|
+
modal: true,
|
|
13
|
+
maximizable: true,
|
|
14
|
+
layout: 'fit',
|
|
15
|
+
|
|
16
|
+
items: [
|
|
17
|
+
{
|
|
18
|
+
xtype: 'grid',
|
|
19
|
+
store: {
|
|
20
|
+
type: 'json',
|
|
21
|
+
},
|
|
22
|
+
columns: [
|
|
23
|
+
{xtype: 'datecolumn', dataIndex: 'time', text: 'время', flex: 1, format: 'h:m:s.u'},
|
|
24
|
+
{dataIndex: 'ptype', text: 'плагин', flex: 1},
|
|
25
|
+
{dataIndex: 'handlerName', text: 'название обработчика', flex: 1},
|
|
26
|
+
{
|
|
27
|
+
dataIndex: 'args',
|
|
28
|
+
text: 'args',
|
|
29
|
+
flex: 1,
|
|
30
|
+
renderer(args) {
|
|
31
|
+
return Array.isArray(args) && args.map((arg) => Coon.util.runIfTypeIn(
|
|
32
|
+
arg,
|
|
33
|
+
['boolean', 'string', 'integer'],
|
|
34
|
+
() => arg,
|
|
35
|
+
Coon.util.typeOf
|
|
36
|
+
)).join('<br />') || 'empty';
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
|
|
43
|
+
isTraceEnabled(scope) {
|
|
44
|
+
return Boolean(
|
|
45
|
+
scope &&
|
|
46
|
+
typeof scope.isTracePluginsEnabled === 'function' ||
|
|
47
|
+
scope.isTracePluginsEnabled()
|
|
48
|
+
);
|
|
49
|
+
},
|
|
50
|
+
});
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
.x-menu-body .x-box-target, .FilterConditionToolbar {
|
|
2
|
-
|
|
3
|
-
.closable-chip, .unusable-chip, .chip, .service-chip {
|
|
4
|
-
display: inline-block;
|
|
5
|
-
cursor: default;
|
|
6
|
-
padding: 0 15px;
|
|
7
|
-
height: 26px;
|
|
8
|
-
line-height: 26px;
|
|
9
|
-
border-radius: 13px;
|
|
10
|
-
.chip-value {
|
|
11
|
-
font-size: 13px;
|
|
12
|
-
}
|
|
13
|
-
.closebtn {
|
|
14
|
-
padding-left: 10px;
|
|
15
|
-
color: #888;
|
|
16
|
-
font-weight: bold;
|
|
17
|
-
float: right;
|
|
18
|
-
font-size: 15px;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
}
|
|
21
|
-
.closebtn:hover {
|
|
22
|
-
color: #000;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
.remote-search-chip {
|
|
26
|
-
background-color: #f5f5f5;
|
|
27
|
-
.chip-value {
|
|
28
|
-
font-size: 12px;
|
|
29
|
-
color: rgba(17,17,17,0.8);
|
|
30
|
-
font-weight: 400;
|
|
31
|
-
line-height: 16px;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.local-search-chip {
|
|
36
|
-
background-color: #dffad3;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* Неиспользованное для поиска поле и сервисное поле */
|
|
40
|
-
.unusable-chip {
|
|
41
|
-
.chip-value {
|
|
42
|
-
font-size: 12px;
|
|
43
|
-
font-style: italic;
|
|
44
|
-
color: #111111;
|
|
45
|
-
font-weight: 400;
|
|
46
|
-
line-height: 16px;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.service-chip {
|
|
51
|
-
.chip-value {
|
|
52
|
-
font-size: 12px;
|
|
53
|
-
color: rgba(17,17,17,0.8);
|
|
54
|
-
font-weight: 400;
|
|
55
|
-
line-height: 16px;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.chip, .service-chip, .unusable-chip {
|
|
60
|
-
.closebtn {
|
|
61
|
-
display: none;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.closable-chip {
|
|
66
|
-
.closebtn {
|
|
67
|
-
display: block;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.tool-eye-horus {
|
|
72
|
-
color: #002453;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
1
|
+
.x-menu-body .x-box-target, .FilterConditionToolbar {
|
|
2
|
+
|
|
3
|
+
.closable-chip, .unusable-chip, .chip, .service-chip {
|
|
4
|
+
display: inline-block;
|
|
5
|
+
cursor: default;
|
|
6
|
+
padding: 0 15px;
|
|
7
|
+
height: 26px;
|
|
8
|
+
line-height: 26px;
|
|
9
|
+
border-radius: 13px;
|
|
10
|
+
.chip-value {
|
|
11
|
+
font-size: 13px;
|
|
12
|
+
}
|
|
13
|
+
.closebtn {
|
|
14
|
+
padding-left: 10px;
|
|
15
|
+
color: #888;
|
|
16
|
+
font-weight: bold;
|
|
17
|
+
float: right;
|
|
18
|
+
font-size: 15px;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
}
|
|
21
|
+
.closebtn:hover {
|
|
22
|
+
color: #000;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
.remote-search-chip {
|
|
26
|
+
background-color: #f5f5f5;
|
|
27
|
+
.chip-value {
|
|
28
|
+
font-size: 12px;
|
|
29
|
+
color: rgba(17,17,17,0.8);
|
|
30
|
+
font-weight: 400;
|
|
31
|
+
line-height: 16px;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.local-search-chip {
|
|
36
|
+
background-color: #dffad3;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Неиспользованное для поиска поле и сервисное поле */
|
|
40
|
+
.unusable-chip {
|
|
41
|
+
.chip-value {
|
|
42
|
+
font-size: 12px;
|
|
43
|
+
font-style: italic;
|
|
44
|
+
color: #111111;
|
|
45
|
+
font-weight: 400;
|
|
46
|
+
line-height: 16px;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.service-chip {
|
|
51
|
+
.chip-value {
|
|
52
|
+
font-size: 12px;
|
|
53
|
+
color: rgba(17,17,17,0.8);
|
|
54
|
+
font-weight: 400;
|
|
55
|
+
line-height: 16px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.chip, .service-chip, .unusable-chip {
|
|
60
|
+
.closebtn {
|
|
61
|
+
display: none;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.closable-chip {
|
|
66
|
+
.closebtn {
|
|
67
|
+
display: block;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.tool-eye-horus {
|
|
72
|
+
color: #002453;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
.UiCustomPanelEditor {
|
|
2
|
-
.good-hash {
|
|
3
|
-
color: #64AA2B;
|
|
4
|
-
font-size: 19px;
|
|
5
|
-
}
|
|
6
|
-
.bad-hash {
|
|
7
|
-
color: red;
|
|
8
|
-
font-size: 19px;
|
|
9
|
-
}
|
|
1
|
+
.UiCustomPanelEditor {
|
|
2
|
+
.good-hash {
|
|
3
|
+
color: #64AA2B;
|
|
4
|
+
font-size: 19px;
|
|
5
|
+
}
|
|
6
|
+
.bad-hash {
|
|
7
|
+
color: red;
|
|
8
|
+
font-size: 19px;
|
|
9
|
+
}
|
|
10
10
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
.errorsCountMsg, .errorsCountBtn span[data-ref="btnInnerEl"] {
|
|
2
|
-
color: red !important;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.errorsCountBtn, .warningsCountBtn {
|
|
6
|
-
font-size: 15px !important;
|
|
7
|
-
background-color: white !important;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.warningsCountBtn span[data-ref="btnInnerEl"] {
|
|
11
|
-
color: #b9b92d !important;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.errorsCountMsg {
|
|
15
|
-
margin-top: 12px !important;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.x-warningsCountBtn-focus {
|
|
19
|
-
background-color: white !important;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.x-warningsCountMenuItem-focus a[data-ref="itemEl"] {
|
|
23
|
-
background-color: #d0d0d0 !important;
|
|
24
|
-
}
|
|
1
|
+
.errorsCountMsg, .errorsCountBtn span[data-ref="btnInnerEl"] {
|
|
2
|
+
color: red !important;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.errorsCountBtn, .warningsCountBtn {
|
|
6
|
+
font-size: 15px !important;
|
|
7
|
+
background-color: white !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.warningsCountBtn span[data-ref="btnInnerEl"] {
|
|
11
|
+
color: #b9b92d !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.errorsCountMsg {
|
|
15
|
+
margin-top: 12px !important;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.x-warningsCountBtn-focus {
|
|
19
|
+
background-color: white !important;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.x-warningsCountMenuItem-focus a[data-ref="itemEl"] {
|
|
23
|
+
background-color: #d0d0d0 !important;
|
|
24
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
.UiCustomPanelPluginGrid {
|
|
2
|
-
.x-title-icon {
|
|
3
|
-
color: gray!important;
|
|
4
|
-
}
|
|
5
|
-
.deletedRecord {
|
|
6
|
-
text-decoration: line-through;
|
|
7
|
-
}
|
|
8
|
-
.newRecord {
|
|
9
|
-
font-style:italic;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
1
|
+
.UiCustomPanelPluginGrid {
|
|
2
|
+
.x-title-icon {
|
|
3
|
+
color: gray!important;
|
|
4
|
+
}
|
|
5
|
+
.deletedRecord {
|
|
6
|
+
text-decoration: line-through;
|
|
7
|
+
}
|
|
8
|
+
.newRecord {
|
|
9
|
+
font-style:italic;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
.UiCustomPanelPluginPanel {
|
|
2
|
-
.pluginInfo .x-form-display-field{
|
|
3
|
-
text-align: left;
|
|
4
|
-
font-size: 1em;
|
|
5
|
-
font-weight: bold;
|
|
6
|
-
padding: 8px;
|
|
7
|
-
}
|
|
8
|
-
.x-docked.x-panel-header-collapsed {
|
|
9
|
-
padding: 8px 4px!important;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.deletedRecord {
|
|
13
|
-
color: darkred;
|
|
14
|
-
text-decoration: line-through;
|
|
15
|
-
}
|
|
16
|
-
.readOnlyRecord {
|
|
17
|
-
.x-grid-td {
|
|
18
|
-
background-color: #f5f5f5;
|
|
19
|
-
color: #555;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.readOnlyDeletedRecord {
|
|
24
|
-
.x-grid-td {
|
|
25
|
-
color: darkred;
|
|
26
|
-
text-decoration: line-through;
|
|
27
|
-
background-color: #f5f5f5;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
.UiCustomPanelPluginPanel {
|
|
2
|
+
.pluginInfo .x-form-display-field{
|
|
3
|
+
text-align: left;
|
|
4
|
+
font-size: 1em;
|
|
5
|
+
font-weight: bold;
|
|
6
|
+
padding: 8px;
|
|
7
|
+
}
|
|
8
|
+
.x-docked.x-panel-header-collapsed {
|
|
9
|
+
padding: 8px 4px!important;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.deletedRecord {
|
|
13
|
+
color: darkred;
|
|
14
|
+
text-decoration: line-through;
|
|
15
|
+
}
|
|
16
|
+
.readOnlyRecord {
|
|
17
|
+
.x-grid-td {
|
|
18
|
+
background-color: #f5f5f5;
|
|
19
|
+
color: #555;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.readOnlyDeletedRecord {
|
|
24
|
+
.x-grid-td {
|
|
25
|
+
color: darkred;
|
|
26
|
+
text-decoration: line-through;
|
|
27
|
+
background-color: #f5f5f5;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
.headerAceDiffContainerLeftSection{
|
|
2
|
-
width: 50%;
|
|
3
|
-
height: 20px;
|
|
4
|
-
float: left;
|
|
5
|
-
text-align: center;
|
|
6
|
-
}
|
|
7
|
-
.headerAceDiffContainerRightSection{
|
|
8
|
-
width: 50%;
|
|
9
|
-
height: 20px;
|
|
10
|
-
float: right;
|
|
11
|
-
text-align: center;
|
|
12
|
-
}
|
|
13
|
-
.x-btn-icon-el-default-toolbar-small{
|
|
14
|
-
height: 24px;
|
|
15
|
-
}
|
|
1
|
+
.headerAceDiffContainerLeftSection{
|
|
2
|
+
width: 50%;
|
|
3
|
+
height: 20px;
|
|
4
|
+
float: left;
|
|
5
|
+
text-align: center;
|
|
6
|
+
}
|
|
7
|
+
.headerAceDiffContainerRightSection{
|
|
8
|
+
width: 50%;
|
|
9
|
+
height: 20px;
|
|
10
|
+
float: right;
|
|
11
|
+
text-align: center;
|
|
12
|
+
}
|
|
13
|
+
.x-btn-icon-el-default-toolbar-small{
|
|
14
|
+
height: 24px;
|
|
15
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.AddBindingsPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.AddBindingsPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'AddBindingsPluginConfigPanelFormEditor',
|
|
@@ -11,6 +11,9 @@ Ext.define('Coon.uielement.plugin.AddBindingsPlugin', {
|
|
|
11
11
|
|
|
12
12
|
init: function(view) {
|
|
13
13
|
const controller = view.getController();
|
|
14
|
+
if (this.isTraceEnabled()) {
|
|
15
|
+
this.tracePlugin(this.bindings);
|
|
16
|
+
}
|
|
14
17
|
if (controller) {
|
|
15
18
|
controller.setBindings(this.bindings);
|
|
16
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.AddDoInitSupportPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'AddDoInitSupportPluginConfigPanel',
|
|
@@ -49,6 +49,9 @@ Ext.define('Coon.uielement.plugin.AddDoInitSupportPlugin', {
|
|
|
49
49
|
});
|
|
50
50
|
},
|
|
51
51
|
handler: function(...parameters) { // Инициализируем во ViewModel входные параметры
|
|
52
|
+
if (this.isTraceEnabled()) {
|
|
53
|
+
this.tracePlugin(...parameters);
|
|
54
|
+
}
|
|
52
55
|
const dataMapping = this.getInputParams();
|
|
53
56
|
parameters.forEach((el, index) => {
|
|
54
57
|
if (el !== undefined && el !== null && this.validatePath(dataMapping[index].valuePath)) {
|
|
@@ -1,18 +1,56 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.CustomPanelPlugin', {
|
|
2
2
|
extend: 'Ext.AbstractPlugin',
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
locals: {},
|
|
5
|
+
|
|
6
|
+
getExecuteScope() {
|
|
7
|
+
if (this.locals.executeScope) {
|
|
8
|
+
return this.locals.executeScope;
|
|
9
|
+
}
|
|
5
10
|
let scope;
|
|
6
11
|
if (this.getScope && this.getScope() === 'view') {
|
|
7
12
|
scope = this.getCmp();
|
|
8
13
|
} else {
|
|
9
14
|
scope = this.getCmp().getController() || this.getCmp();
|
|
10
15
|
}
|
|
16
|
+
this.locals.executeScope = scope;
|
|
17
|
+
return scope;
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
bindHandler(names) {
|
|
21
|
+
const executeScope = this.getExecuteScope();
|
|
11
22
|
if (!this.handlerName) {
|
|
12
23
|
throw new Error(`${this.$className}: handlerName cant be empty!`);
|
|
13
24
|
}
|
|
14
25
|
|
|
15
|
-
Coon.util.bindMethods(this.handlerName,
|
|
16
|
-
return
|
|
26
|
+
Coon.util.bindMethods(names || this.handlerName, executeScope, this.getCmp(), executeScope);
|
|
27
|
+
return executeScope;
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
isTraceEnabled() {
|
|
31
|
+
return typeof this.getExecuteScope().isTracePluginsEnabled === 'function' &&
|
|
32
|
+
this.getExecuteScope().isTracePluginsEnabled();
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
getPtype() {
|
|
36
|
+
const alias = Array.isArray(this.alias) && this.alias[0] || this.alias;
|
|
37
|
+
this.locals.ptype = alias ? alias.split('plugin.').pop() : this.$className.split('.').pop();
|
|
38
|
+
return this.locals.ptype;
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
tracePlugin(...args) {
|
|
42
|
+
this.logTraceMessages({
|
|
43
|
+
ptype: this.getPtype(),
|
|
44
|
+
handlerName: this.handlerName && this.handlerName.toString() || '-/-',
|
|
45
|
+
args,
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
logTraceMessages(msg) {
|
|
50
|
+
const scope = this.getExecuteScope();
|
|
51
|
+
if (!scope.locals.traceBuffer) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
scope.locals.traceBuffer.push(msg);
|
|
17
55
|
},
|
|
18
56
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.ExecuteCommandPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.ExecuteCommandPlugin',
|
|
4
4
|
requires: [
|
|
5
5
|
'Coon.log',
|
|
@@ -72,6 +72,9 @@ Ext.define('Coon.uielement.plugin.ExecuteCommandPlugin', {
|
|
|
72
72
|
|
|
73
73
|
handler: function() {
|
|
74
74
|
const parameters = Ext.decode(Ext.encode(this.parameters));
|
|
75
|
+
if (this.isTraceEnabled()) {
|
|
76
|
+
this.tracePlugin(parameters);
|
|
77
|
+
}
|
|
75
78
|
return new Promise((resolve, reject) => {
|
|
76
79
|
this.setDisabled(true);
|
|
77
80
|
if (this.ctype) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.ExecuteFunctionPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.ExecuteFunctionPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'ExecuteFunctionPluginConfigPanelFormEditor',
|
|
@@ -20,7 +20,14 @@ Ext.define('Coon.uielement.plugin.ExecuteFunctionPlugin', {
|
|
|
20
20
|
console.error("Error in " + '${this.handlerName}' + ' : ', e.stack);
|
|
21
21
|
throw e;
|
|
22
22
|
}`;
|
|
23
|
-
|
|
24
|
-
this.
|
|
23
|
+
const me = this;
|
|
24
|
+
const fn = (new Function(this.getFnParameters() || '', wrappedBody || '')).bind(this.executeScope);
|
|
25
|
+
this.executeScope[this.handlerName] =
|
|
26
|
+
function(...args) {
|
|
27
|
+
if (me.isTraceEnabled()) {
|
|
28
|
+
me.tracePlugin(...args);
|
|
29
|
+
}
|
|
30
|
+
return fn(...args);
|
|
31
|
+
};
|
|
25
32
|
},
|
|
26
33
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.FireEventPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.FireEventPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'FireEventPluginConfigPanelFormEditor',
|
|
@@ -18,6 +18,9 @@ Ext.define('Coon.uielement.plugin.FireEventPlugin', {
|
|
|
18
18
|
},
|
|
19
19
|
|
|
20
20
|
handler: function() {
|
|
21
|
+
if (this.isTraceEnabled()) {
|
|
22
|
+
this.tracePlugin(this.eventName);
|
|
23
|
+
}
|
|
21
24
|
const eventArguments = [this.eventName];
|
|
22
25
|
for (let i = 0; i < this.parameters.length; i++) {
|
|
23
26
|
let paramValue = this.parameters[i];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.MethodChainPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.MethodChainPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'MethodChainPluginConfigPanelFormEditor',
|
|
@@ -28,6 +28,9 @@ Ext.define('Coon.uielement.plugin.MethodChainPlugin', {
|
|
|
28
28
|
this.controller[this.errorHandlers[methodName]].bind(this.controller);
|
|
29
29
|
},
|
|
30
30
|
async handler() {
|
|
31
|
+
if (this.isTraceEnabled()) {
|
|
32
|
+
this.tracePlugin();
|
|
33
|
+
}
|
|
31
34
|
for (const methodName of this.methodNames) {
|
|
32
35
|
let result;
|
|
33
36
|
if (typeof this.controller[methodName] === 'function') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.OpenPanelPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
mixins: [
|
|
@@ -36,6 +36,9 @@ Ext.define('Coon.uielement.plugin.OpenPanelPlugin', {
|
|
|
36
36
|
},
|
|
37
37
|
|
|
38
38
|
handler: function() {
|
|
39
|
+
if (this.isTraceEnabled()) {
|
|
40
|
+
this.tracePlugin(this.config.uiElementCd);
|
|
41
|
+
}
|
|
39
42
|
this.uiElementCd = this.config.uiElementCd;
|
|
40
43
|
if (this.uiElementCd) {
|
|
41
44
|
this.uiElementCd = this.getFromModel(this.uiElementCd);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Ext.define('Coon.uielement.plugin.PrintPdfPlugin', {
|
|
2
|
-
extend: '
|
|
2
|
+
extend: 'Coon.uielement.plugin.CustomPanelPlugin',
|
|
3
3
|
alias: 'plugin.PrintPdfPlugin',
|
|
4
4
|
uses: [],
|
|
5
5
|
configurePanelWizardForFormEditor: 'PrintPdfPluginConfigPanelFormEditor',
|
|
@@ -69,6 +69,9 @@ Ext.define('Coon.uielement.plugin.PrintPdfPlugin', {
|
|
|
69
69
|
},
|
|
70
70
|
|
|
71
71
|
handler: function() {
|
|
72
|
+
if (this.isTraceEnabled()) {
|
|
73
|
+
this.tracePlugin();
|
|
74
|
+
}
|
|
72
75
|
return new Promise((resolve, reject) => {
|
|
73
76
|
this.setDisabled(true);
|
|
74
77
|
if (this.ctype) {
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
.ace-editor-content .x-grid-cell-inner {
|
|
2
|
-
overflow: auto;
|
|
3
|
-
white-space: pre-wrap;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.middle-align-elem{
|
|
7
|
-
vertical-align: middle;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.is-used-action{
|
|
11
|
-
background-color: #ddfdd2;
|
|
12
|
-
color: #111 !important;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.not-in-list-action{
|
|
16
|
-
cursor: pointer;
|
|
17
|
-
color: rgba(243, 173, 22, 0.89);
|
|
18
|
-
float:right;
|
|
19
|
-
width:18px;
|
|
20
|
-
height: 20px;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.already-exists-in-list-action{
|
|
24
|
-
cursor: pointer;
|
|
25
|
-
color: rgba(231, 70, 70, 0.91);
|
|
26
|
-
float:right;
|
|
27
|
-
width:18px;
|
|
28
|
-
height: 20px;
|
|
29
|
-
}
|
|
1
|
+
.ace-editor-content .x-grid-cell-inner {
|
|
2
|
+
overflow: auto;
|
|
3
|
+
white-space: pre-wrap;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.middle-align-elem{
|
|
7
|
+
vertical-align: middle;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.is-used-action{
|
|
11
|
+
background-color: #ddfdd2;
|
|
12
|
+
color: #111 !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.not-in-list-action{
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
color: rgba(243, 173, 22, 0.89);
|
|
18
|
+
float:right;
|
|
19
|
+
width:18px;
|
|
20
|
+
height: 20px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.already-exists-in-list-action{
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
color: rgba(231, 70, 70, 0.91);
|
|
26
|
+
float:right;
|
|
27
|
+
width:18px;
|
|
28
|
+
height: 20px;
|
|
29
|
+
}
|