ru.coon 2.7.41 → 2.7.43
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 +18 -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/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 +6 -6
- 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/menu/form/NavMenuFormView.js +1 -1
- package/src/nav/editor/menu/form/NavMenuFormViewController.js +3 -4
- package/src/nav/editor/workspace/NavWorkspaceListView.scss +35 -35
- package/src/nav/editor/workspace/form/NavWorkspaceFormController.js +38 -6
- 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/CopyRowsFromGridConfigPanel.js +34 -14
- 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 +17 -11
- 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/report/plugin/grid/TreeNestingToolbarButtonPlugin.js +14 -4
- package/src/research/ResearchTreeView.scss +19 -19
- 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/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.js +18 -2
- package/src/uielement/component/settings/plugin/UiCustomPanelPluginGrid.scss +11 -11
- package/src/uielement/component/settings/plugin/UiCustomPanelPluginGridController.js +10 -0
- package/src/uielement/component/settings/plugin/UiCustomPanelPluginPanel.scss +30 -30
- package/src/uielement/component/settings/version/UiCPVersionPanel.scss +15 -15
- package/src/uielement/component/settings/version/UiCPVersionPanelController.js +2 -1
- package/src/uielement/plugin/AddOutputParamsPlugin.js +1 -1
- package/src/uielement/plugin/configPanel/AddBindingsPluginConfigPanelFormEditor.scss +29 -29
- package/src/uielement/plugin/configPanel/executeCommand/ExecuteCommandPluginConfigPanelFormEditor.scss +22 -22
- package/src/version.js +1 -1
- package/src/common/panel/StopwatchWindow.js +0 -44
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
.AddFilterConditionPluginConfigPanel {
|
|
2
|
-
.svg-icon{
|
|
3
|
-
height: 24px;
|
|
4
|
-
width: 24px;
|
|
5
|
-
}
|
|
6
|
-
.fa{
|
|
7
|
-
height: 24px;
|
|
8
|
-
width: 24px;
|
|
9
|
-
padding-top: 6px;
|
|
10
|
-
color: black;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.x-segmented-button-item{
|
|
14
|
-
background-color: transparent;
|
|
15
|
-
}
|
|
16
|
-
.x-segmented-button-item:hover{
|
|
17
|
-
background-color: rgba(61, 103, 128, 0.04);
|
|
18
|
-
}
|
|
19
|
-
.x-segmented-button-item:active{
|
|
20
|
-
background-color: rgba(61, 103, 128, 0.12);
|
|
21
|
-
}
|
|
22
|
-
.x-btn-pressed .x-btn-icon-el {
|
|
23
|
-
color: #ffffff !important;
|
|
24
|
-
}
|
|
25
|
-
.x-segmented-button .x-segmented-button-item .x-btn-inner{
|
|
26
|
-
color: #3D6780;
|
|
27
|
-
}
|
|
28
|
-
.x-segmented-button .x-segmented-button-item .x-btn-icon-el{
|
|
29
|
-
color: #3D6780;
|
|
30
|
-
}
|
|
31
|
-
.x-btn-icon-el{
|
|
32
|
-
color: #3D6780;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@include extjs-button-small-ui(
|
|
37
|
-
$ui: 'FilterSegmentedButton',
|
|
38
|
-
$padding: 8px 12px,
|
|
39
|
-
$color: #3D6780,
|
|
40
|
-
$icon-size: 16px,
|
|
41
|
-
|
|
42
|
-
$background-color-over: rgba(61, 103, 128, 0.04),
|
|
43
|
-
$background-color-focus-over: rgba(61, 103, 128, 0.04),
|
|
44
|
-
|
|
45
|
-
$background-color-pressed: rgba(61, 103, 128, 0.12),
|
|
46
|
-
$background-color-focus-pressed: rgba(61, 103, 128, 0.12),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
$border-color: 'none',
|
|
50
|
-
$background-color: transparent,
|
|
51
|
-
$border-color-focus: #3D6780,
|
|
52
|
-
$background-color-focus: rgba(61, 103, 128, 0.12)
|
|
53
|
-
);
|
|
1
|
+
.AddFilterConditionPluginConfigPanel {
|
|
2
|
+
.svg-icon{
|
|
3
|
+
height: 24px;
|
|
4
|
+
width: 24px;
|
|
5
|
+
}
|
|
6
|
+
.fa{
|
|
7
|
+
height: 24px;
|
|
8
|
+
width: 24px;
|
|
9
|
+
padding-top: 6px;
|
|
10
|
+
color: black;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.x-segmented-button-item{
|
|
14
|
+
background-color: transparent;
|
|
15
|
+
}
|
|
16
|
+
.x-segmented-button-item:hover{
|
|
17
|
+
background-color: rgba(61, 103, 128, 0.04);
|
|
18
|
+
}
|
|
19
|
+
.x-segmented-button-item:active{
|
|
20
|
+
background-color: rgba(61, 103, 128, 0.12);
|
|
21
|
+
}
|
|
22
|
+
.x-btn-pressed .x-btn-icon-el {
|
|
23
|
+
color: #ffffff !important;
|
|
24
|
+
}
|
|
25
|
+
.x-segmented-button .x-segmented-button-item .x-btn-inner{
|
|
26
|
+
color: #3D6780;
|
|
27
|
+
}
|
|
28
|
+
.x-segmented-button .x-segmented-button-item .x-btn-icon-el{
|
|
29
|
+
color: #3D6780;
|
|
30
|
+
}
|
|
31
|
+
.x-btn-icon-el{
|
|
32
|
+
color: #3D6780;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@include extjs-button-small-ui(
|
|
37
|
+
$ui: 'FilterSegmentedButton',
|
|
38
|
+
$padding: 8px 12px,
|
|
39
|
+
$color: #3D6780,
|
|
40
|
+
$icon-size: 16px,
|
|
41
|
+
|
|
42
|
+
$background-color-over: rgba(61, 103, 128, 0.04),
|
|
43
|
+
$background-color-focus-over: rgba(61, 103, 128, 0.04),
|
|
44
|
+
|
|
45
|
+
$background-color-pressed: rgba(61, 103, 128, 0.12),
|
|
46
|
+
$background-color-focus-pressed: rgba(61, 103, 128, 0.12),
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
$border-color: 'none',
|
|
50
|
+
$background-color: transparent,
|
|
51
|
+
$border-color-focus: #3D6780,
|
|
52
|
+
$background-color-focus: rgba(61, 103, 128, 0.12)
|
|
53
|
+
);
|
|
@@ -95,6 +95,7 @@ Ext.define('Coon.report.plugin.configPanel.CopyRowsFromGridConfigPanel', {
|
|
|
95
95
|
];
|
|
96
96
|
},
|
|
97
97
|
setContext: function(context) {
|
|
98
|
+
this.context = context;
|
|
98
99
|
this.callParent(arguments);
|
|
99
100
|
const visibleFields = context && context.fields ? context.fields.filter((field) => field.visibleSwitch === true) : [];
|
|
100
101
|
if (visibleFields && visibleFields.length) {
|
|
@@ -161,20 +162,7 @@ Ext.define('Coon.report.plugin.configPanel.CopyRowsFromGridConfigPanel', {
|
|
|
161
162
|
fieldLabel: 'Имя файла (без расширения)',
|
|
162
163
|
name: 'reportFileName',
|
|
163
164
|
msgTarget: 'under',
|
|
164
|
-
validator: (
|
|
165
|
-
if (Ext.isEmpty(value)) {
|
|
166
|
-
return true;
|
|
167
|
-
}
|
|
168
|
-
const isValid = (function() {
|
|
169
|
-
const rg1 = /^[^\\/:\*\?"<>\|]+$/; // запрещенные символы \ / : * ? " < > |
|
|
170
|
-
const rg2 = /^\./; // не должно начинаться с точки (.)
|
|
171
|
-
const rg3 = /^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i; // запрещенные имена файлов
|
|
172
|
-
return function isValid(fname) {
|
|
173
|
-
return rg1.test(fname) && !rg2.test(fname) && !rg3.test(fname);
|
|
174
|
-
};
|
|
175
|
-
})();
|
|
176
|
-
return !isValid(value) ? 'Недопустимое имя файла' : true;
|
|
177
|
-
},
|
|
165
|
+
validator: this.reportFileNameValidator.bind(this),
|
|
178
166
|
},
|
|
179
167
|
{
|
|
180
168
|
xtype: 'container',
|
|
@@ -399,4 +387,36 @@ Ext.define('Coon.report.plugin.configPanel.CopyRowsFromGridConfigPanel', {
|
|
|
399
387
|
value: true,
|
|
400
388
|
};
|
|
401
389
|
},
|
|
390
|
+
|
|
391
|
+
reportFileNameValidator: function(value) {
|
|
392
|
+
if (Ext.isEmpty(value)) {
|
|
393
|
+
return true;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
let templateErrorMessage;
|
|
397
|
+
try {
|
|
398
|
+
const params = {};
|
|
399
|
+
this.context.parameters.forEach((parameter) => {
|
|
400
|
+
params[parameter['reportParameterCd']] = '';
|
|
401
|
+
});
|
|
402
|
+
new Ext.XTemplate(value, {strict: true}).apply({
|
|
403
|
+
parameters: params,
|
|
404
|
+
});
|
|
405
|
+
} catch (err) {
|
|
406
|
+
templateErrorMessage = `Ошибка в шаблоне: ${err.message}`;
|
|
407
|
+
Coon.log.warn(templateErrorMessage);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
const isValid = (function() {
|
|
411
|
+
const rg1 = /^[^\\/:\*\?"<>\|]+$/; // запрещенные символы \ / : * ? " < > |
|
|
412
|
+
const rg2 = /^\./; // не должно начинаться с точки (.)
|
|
413
|
+
const rg3 = /^(nul|prn|con|lpt[0-9]|com[0-9])(\.|$)/i; // запрещенные имена файлов
|
|
414
|
+
return function isValid(fname) {
|
|
415
|
+
return rg1.test(fname) && !rg2.test(fname) && !rg3.test(fname);
|
|
416
|
+
};
|
|
417
|
+
})();
|
|
418
|
+
|
|
419
|
+
return !isValid(value) ? 'Недопустимое имя файла':
|
|
420
|
+
templateErrorMessage ? templateErrorMessage: true;
|
|
421
|
+
},
|
|
402
422
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
.addActionColumnMsg {
|
|
2
|
-
font-size: 15px;
|
|
3
|
-
margin: 0 0 0 12px;
|
|
4
|
-
color: red;
|
|
5
|
-
}
|
|
1
|
+
.addActionColumnMsg {
|
|
2
|
+
font-size: 15px;
|
|
3
|
+
margin: 0 0 0 12px;
|
|
4
|
+
color: red;
|
|
5
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.tpl-key {
|
|
2
|
-
font-weight: bold;
|
|
3
|
-
}
|
|
1
|
+
.tpl-key {
|
|
2
|
+
font-weight: bold;
|
|
3
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
.UiAceEditorField {
|
|
2
|
-
.ace-editor-editor{
|
|
3
|
-
width: 100%;
|
|
4
|
-
height: 100px;
|
|
5
|
-
display: block;
|
|
6
|
-
background-color: red !important;
|
|
7
|
-
min-height: 30px !important;
|
|
8
|
-
}
|
|
9
|
-
.ace-editor-content .x-grid-cell-editor{
|
|
10
|
-
width: 100%;
|
|
11
|
-
height: 100%;
|
|
12
|
-
display: block;
|
|
13
|
-
position: relative !important;
|
|
14
|
-
min-height: 100px;
|
|
15
|
-
}
|
|
16
|
-
.ace-editor-content .ace_editor{
|
|
17
|
-
height: 100%;
|
|
18
|
-
min-height: 100px;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
1
|
+
.UiAceEditorField {
|
|
2
|
+
.ace-editor-editor{
|
|
3
|
+
width: 100%;
|
|
4
|
+
height: 100px;
|
|
5
|
+
display: block;
|
|
6
|
+
background-color: red !important;
|
|
7
|
+
min-height: 30px !important;
|
|
8
|
+
}
|
|
9
|
+
.ace-editor-content .x-grid-cell-editor{
|
|
10
|
+
width: 100%;
|
|
11
|
+
height: 100%;
|
|
12
|
+
display: block;
|
|
13
|
+
position: relative !important;
|
|
14
|
+
min-height: 100px;
|
|
15
|
+
}
|
|
16
|
+
.ace-editor-content .ace_editor{
|
|
17
|
+
height: 100%;
|
|
18
|
+
min-height: 100px;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.pluginDescriptionLabel {
|
|
2
|
-
height: 2.5em;
|
|
3
|
-
margin: 5px 10px;
|
|
4
|
-
text-overflow: clip;
|
|
5
|
-
overflow: hidden;
|
|
6
|
-
.x-form-display-field {
|
|
7
|
-
color: #555!important;
|
|
8
|
-
}
|
|
1
|
+
.pluginDescriptionLabel {
|
|
2
|
+
height: 2.5em;
|
|
3
|
+
margin: 5px 10px;
|
|
4
|
+
text-overflow: clip;
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
.x-form-display-field {
|
|
7
|
+
color: #555!important;
|
|
8
|
+
}
|
|
9
9
|
}
|
|
@@ -389,7 +389,7 @@ Ext.define('Coon.report.plugin.grid.CopyRowsFromGrid', {
|
|
|
389
389
|
execute: function() {
|
|
390
390
|
const reportPanel = this.component.up('ReportPanel');
|
|
391
391
|
const selected = this.getSelected()[0];
|
|
392
|
-
const name = this.
|
|
392
|
+
const name = this.getTemplatedFileName(this.reportFileName) ||
|
|
393
393
|
(selected && selected.data['CM_REPORT_CD']) ||
|
|
394
394
|
this.tryToGetTitle() ||
|
|
395
395
|
(reportPanel && reportPanel.reportId) ||
|
|
@@ -423,17 +423,23 @@ Ext.define('Coon.report.plugin.grid.CopyRowsFromGrid', {
|
|
|
423
423
|
reportPanel && reportPanel.unmask();
|
|
424
424
|
},
|
|
425
425
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
426
|
+
/**
|
|
427
|
+
* Имя файла может содержать шаблон
|
|
428
|
+
* @param fileName имя файла
|
|
429
|
+
* @returns {*}
|
|
430
|
+
*/
|
|
431
|
+
getTemplatedFileName: function(fileName) {
|
|
432
|
+
if (!Ext.isString(fileName) || fileName.match(/{.*}/g) === null) {
|
|
433
|
+
return fileName;
|
|
429
434
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
435
|
+
try {
|
|
436
|
+
fileName = new Ext.XTemplate(fileName, {strict: true}).apply({
|
|
437
|
+
parameters: this.component.up('ReportPanel').currentParamList,
|
|
438
|
+
});
|
|
439
|
+
} catch (err) {
|
|
440
|
+
Coon.log.warn(err);
|
|
441
|
+
}
|
|
442
|
+
return fileName;
|
|
437
443
|
},
|
|
438
444
|
|
|
439
445
|
normalizeFileName: function(fileName) {
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
.boldOnRow.x-grid-row {
|
|
3
|
-
font-weight: bold;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.italicOnRow.x-grid-row {
|
|
7
|
-
font-style: italic;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.underlineOnRow.x-grid-row {
|
|
11
|
-
text-decoration: underline;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.linkColor.x-grid-row {
|
|
15
|
-
a {
|
|
16
|
-
color: inherit;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.boldOnRow .x-grid-row {
|
|
21
|
-
font-weight: bold;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.italicOnRow .x-grid-row {
|
|
25
|
-
font-style: italic;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.underlineOnRow .x-grid-row {
|
|
29
|
-
text-decoration: underline;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.linkColor .x-grid-row {
|
|
33
|
-
a {
|
|
34
|
-
color: inherit;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.x-grid-checkcolumn::after {
|
|
39
|
-
color: inherit !important;
|
|
40
|
-
font-weight: inherit;
|
|
41
|
-
font-style: inherit;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.x-grid-cell-inner .link-button {
|
|
45
|
-
color: inherit !important;
|
|
46
|
-
font-weight: inherit;
|
|
47
|
-
font-style: inherit;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.x-grid-cell-inner {
|
|
51
|
-
a {
|
|
52
|
-
font-weight: inherit;
|
|
53
|
-
font-style: inherit;
|
|
54
|
-
color: inherit;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
|
|
2
|
+
.boldOnRow.x-grid-row {
|
|
3
|
+
font-weight: bold;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.italicOnRow.x-grid-row {
|
|
7
|
+
font-style: italic;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.underlineOnRow.x-grid-row {
|
|
11
|
+
text-decoration: underline;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.linkColor.x-grid-row {
|
|
15
|
+
a {
|
|
16
|
+
color: inherit;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.boldOnRow .x-grid-row {
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.italicOnRow .x-grid-row {
|
|
25
|
+
font-style: italic;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.underlineOnRow .x-grid-row {
|
|
29
|
+
text-decoration: underline;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.linkColor .x-grid-row {
|
|
33
|
+
a {
|
|
34
|
+
color: inherit;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.x-grid-checkcolumn::after {
|
|
39
|
+
color: inherit !important;
|
|
40
|
+
font-weight: inherit;
|
|
41
|
+
font-style: inherit;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.x-grid-cell-inner .link-button {
|
|
45
|
+
color: inherit !important;
|
|
46
|
+
font-weight: inherit;
|
|
47
|
+
font-style: inherit;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.x-grid-cell-inner {
|
|
51
|
+
a {
|
|
52
|
+
font-weight: inherit;
|
|
53
|
+
font-style: inherit;
|
|
54
|
+
color: inherit;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.x-tab-bar-default-top .x-tab-bar-body-default {
|
|
2
|
-
padding-top: 0;
|
|
3
|
-
}
|
|
1
|
+
.x-tab-bar-default-top .x-tab-bar-body-default {
|
|
2
|
+
padding-top: 0;
|
|
3
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
.ToggleColumnsPlugin {
|
|
2
|
-
.toggle-pressed {
|
|
3
|
-
.x-btn-icon-el-blue-text-button-small.svg-icon {
|
|
4
|
-
background-color: #1E3B4B;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
}
|
|
1
|
+
.ToggleColumnsPlugin {
|
|
2
|
+
.toggle-pressed {
|
|
3
|
+
.x-btn-icon-el-blue-text-button-small.svg-icon {
|
|
4
|
+
background-color: #1E3B4B;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.x-grid-cell-inner-action-col {
|
|
2
|
-
text-align: center !important;
|
|
3
|
-
}
|
|
1
|
+
.x-grid-cell-inner-action-col {
|
|
2
|
+
text-align: center !important;
|
|
3
|
+
}
|
|
@@ -10,10 +10,14 @@ Ext.define('Coon.report.plugin.grid.TreeNestingToolbarButtonPlugin', {
|
|
|
10
10
|
|
|
11
11
|
isSingle: true,
|
|
12
12
|
|
|
13
|
+
iconEnabled: 'svg-icon svg-icon-scheme-3',
|
|
14
|
+
iconDisabled: 'svg-icon svg-icon-disabled svg-icon-scheme-3',
|
|
15
|
+
|
|
13
16
|
createToolbarItem: function() {
|
|
14
17
|
this.nestingButton = Ext.create({
|
|
15
18
|
xtype: 'button',
|
|
16
|
-
iconCls:
|
|
19
|
+
iconCls: this.iconDisabled,
|
|
20
|
+
ui: 'blue-text-button',
|
|
17
21
|
disabled: true,
|
|
18
22
|
width: 66,
|
|
19
23
|
height: 40,
|
|
@@ -32,15 +36,21 @@ Ext.define('Coon.report.plugin.grid.TreeNestingToolbarButtonPlugin', {
|
|
|
32
36
|
reportTree.getStore().on('load', function() {
|
|
33
37
|
const records = reportTree.getStore().getRange();
|
|
34
38
|
if (!records.length) {
|
|
39
|
+
this.setDisabledButton(true, this.iconDisabled, null);
|
|
35
40
|
return;
|
|
36
41
|
}
|
|
37
42
|
|
|
38
|
-
const
|
|
39
|
-
this.
|
|
40
|
-
this.nestingButton.setMenu(menus, false);
|
|
43
|
+
const menu = this.getMenu(reportTree);
|
|
44
|
+
this.setDisabledButton(false, this.iconEnabled, menu);
|
|
41
45
|
}, this);
|
|
42
46
|
},
|
|
43
47
|
|
|
48
|
+
setDisabledButton: function(isDisabled, icon, menu) {
|
|
49
|
+
this.nestingButton.setDisabled(isDisabled);
|
|
50
|
+
this.nestingButton.setIconCls(icon);
|
|
51
|
+
this.nestingButton.setMenu(menu, false);
|
|
52
|
+
},
|
|
53
|
+
|
|
44
54
|
getMenu: function(reportTree) {
|
|
45
55
|
return [
|
|
46
56
|
{
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
.ResearchTreeView {
|
|
2
|
-
span.field-rep-name {
|
|
3
|
-
font-weight: bold;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
span.field-ui-name {
|
|
7
|
-
font-weight: bold;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
span.component-type-name {
|
|
11
|
-
font-weight: bold;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.x-tab-default .x-tab-close-btn:before {
|
|
15
|
-
content: '\f00d';
|
|
16
|
-
color: gray;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
1
|
+
.ResearchTreeView {
|
|
2
|
+
span.field-rep-name {
|
|
3
|
+
font-weight: bold;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
span.field-ui-name {
|
|
7
|
+
font-weight: bold;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
span.component-type-name {
|
|
11
|
+
font-weight: bold;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.x-tab-default .x-tab-close-btn:before {
|
|
15
|
+
content: '\f00d';
|
|
16
|
+
color: gray;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
.RoleFileUploadForm {
|
|
2
|
-
.x-btn-inner {
|
|
3
|
-
color: black!important;
|
|
4
|
-
}
|
|
1
|
+
.RoleFileUploadForm {
|
|
2
|
+
.x-btn-inner {
|
|
3
|
+
color: black!important;
|
|
4
|
+
}
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
.UiCPRestrictionEditor {
|
|
2
|
-
.saveBtn:not(.x-item-disabled) .x-btn-inner{
|
|
3
|
-
color: red;
|
|
4
|
-
}
|
|
1
|
+
.UiCPRestrictionEditor {
|
|
2
|
+
.saveBtn:not(.x-item-disabled) .x-btn-inner{
|
|
3
|
+
color: red;
|
|
4
|
+
}
|
|
5
5
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
.RoleEditPanel {
|
|
2
|
-
.x-grid-item {
|
|
3
|
-
.checked-row {
|
|
4
|
-
background-color: #f7f7f8;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
.x-grid-item {
|
|
8
|
-
.unchecked-row {
|
|
9
|
-
background-color: white;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
.x-grid-row {
|
|
13
|
-
&:hover {
|
|
14
|
-
background-color: #ebecee;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
.RoleEditPanel {
|
|
2
|
+
.x-grid-item {
|
|
3
|
+
.checked-row {
|
|
4
|
+
background-color: #f7f7f8;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
.x-grid-item {
|
|
8
|
+
.unchecked-row {
|
|
9
|
+
background-color: white;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.x-grid-row {
|
|
13
|
+
&:hover {
|
|
14
|
+
background-color: #ebecee;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
17
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
.MenuItemList {
|
|
2
|
-
.list-box {
|
|
3
|
-
border: 1px solid #e0e0e0;
|
|
4
|
-
margin: 3px;
|
|
5
|
-
//padding: 7px;
|
|
6
|
-
border-radius: 10px;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.parent-menu-item .x-treelist-item-text {
|
|
10
|
-
font-size: 16px;
|
|
11
|
-
color: #111;
|
|
12
|
-
font-weight: 600;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.x-treelist-item-text {
|
|
16
|
-
color: #1f5a8a;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.empty-bg {
|
|
20
|
-
background-color: #eeeeee !important;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.icon-orange {
|
|
24
|
-
background-color: #ff9800;
|
|
25
|
-
margin-top: 5px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.x-treelist-row-over, .x-treelist-item-selected .x-treelist-row {
|
|
29
|
-
background-color: #FFFFFFFF;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.x-treelist-row-over .x-treelist-item-text, .x-treelist-item-selected .x-treelist-item-text {
|
|
33
|
-
color: #112b39;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
.MenuItemList {
|
|
2
|
+
.list-box {
|
|
3
|
+
border: 1px solid #e0e0e0;
|
|
4
|
+
margin: 3px;
|
|
5
|
+
//padding: 7px;
|
|
6
|
+
border-radius: 10px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.parent-menu-item .x-treelist-item-text {
|
|
10
|
+
font-size: 16px;
|
|
11
|
+
color: #111;
|
|
12
|
+
font-weight: 600;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.x-treelist-item-text {
|
|
16
|
+
color: #1f5a8a;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.empty-bg {
|
|
20
|
+
background-color: #eeeeee !important;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.icon-orange {
|
|
24
|
+
background-color: #ff9800;
|
|
25
|
+
margin-top: 5px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.x-treelist-row-over, .x-treelist-item-selected .x-treelist-row {
|
|
29
|
+
background-color: #FFFFFFFF;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.x-treelist-row-over .x-treelist-item-text, .x-treelist-item-selected .x-treelist-item-text {
|
|
33
|
+
color: #112b39;
|
|
34
|
+
}
|
|
35
|
+
}
|