ru.coon 3.0.55 → 3.0.56
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/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/TabPanel.js +2 -1
- package/src/app/Application.js +57 -1
- package/src/app/login/LoginForm.js +8 -0
- package/src/app/login/LoginForm.scss +1 -1
- package/src/app/login/LoginFormController.js +1 -1
- package/src/common/panel/SmartForm.js +5 -0
- package/src/overrides/panel/TabPanel.scss +4 -17
- package/src/uielement/component/UiCustomController.js +1 -19
- package/src/uielement/component/UiCustomPanel.js +15 -0
- package/src/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# Version 3.0.56, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/6d42b7aef8ee61964f826099feaaf68cd7299303)
|
|
2
|
+
* ## Features
|
|
3
|
+
* <span style='color:green'>feat: add forceShowHeader</span> ([7ce368], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/7ce368898a1809f08aaa8331af2bdef4f40366da))
|
|
4
|
+
|
|
5
|
+
* HT-14299: изменение вида несохраненных изменений в вертикальных табах ([590315], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/59031554ed302eabdc194e916e44c3a8a3c77371))
|
|
6
|
+
* HT-14580: повторный вход при завершении сессии ([66c811], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/66c81121345e02ec436a9ec3308db087030a25ac))
|
|
7
|
+
* update: CHANGELOG.md ([0cd2cb], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/0cd2cb99bbdcdf6d8cf83c29c744dd0f02daa497))
|
|
8
|
+
|
|
1
9
|
# Version 3.0.55, [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/3aa9d1a7bd56ffe2e12a7470620065930b6c9002)
|
|
2
10
|
* ## Fixes
|
|
3
11
|
* <span style='color:red'>fix HT-14573: DFVCharacteristicField completeEdit on select</span> ([683c19], [link](http://gitlab-dbr.sigma-it.local/dbr/ru.coon/-/commit/683c19de5c78219346d6529d1f223afe16b480c5))
|
package/package.json
CHANGED
package/src/TabPanel.js
CHANGED
|
@@ -71,9 +71,10 @@ Ext.define('Coon.TabPanel', {
|
|
|
71
71
|
}
|
|
72
72
|
if (isDirty) {
|
|
73
73
|
component.tab.addCls(this.tabDirtyCls);
|
|
74
|
+
component.tab.setTooltip('Несохраненные изменения');
|
|
74
75
|
} else {
|
|
75
76
|
component.tab.removeCls(this.tabDirtyCls);
|
|
77
|
+
component.tab.setTooltip('');
|
|
76
78
|
}
|
|
77
79
|
},
|
|
78
|
-
|
|
79
80
|
});
|
package/src/app/Application.js
CHANGED
|
@@ -71,7 +71,11 @@ Ext.define('Coon.app.Application', {
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
|
|
74
|
-
onLoginSuccessful() {
|
|
74
|
+
onLoginSuccessful(loginReason) {
|
|
75
|
+
if (loginReason === 'reAuth') {
|
|
76
|
+
this.reAuthorize('destroy');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
75
79
|
this.createFxAnim(this.getApplicationMainView(), false, async function() {
|
|
76
80
|
this.getApplicationMainView().destroy();
|
|
77
81
|
this.setApplicationMainView(Ext.create({
|
|
@@ -86,6 +90,58 @@ Ext.define('Coon.app.Application', {
|
|
|
86
90
|
this.getApplicationMainView().show();
|
|
87
91
|
},
|
|
88
92
|
|
|
93
|
+
reAuthorize(action) {
|
|
94
|
+
if (action === 'show') {
|
|
95
|
+
this.reAuthWindow = this.getReAuthWindow();
|
|
96
|
+
this.reAuthWindow.show();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (action === 'destroy' && this.reAuthWindow) {
|
|
100
|
+
this.reAuthWindow.destroy();
|
|
101
|
+
this.reAuthWindow = undefined;
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
getReAuthWindow() {
|
|
107
|
+
const panel = {
|
|
108
|
+
xtype: 'panel',
|
|
109
|
+
layout: {
|
|
110
|
+
type: 'vbox',
|
|
111
|
+
align: 'stretch',
|
|
112
|
+
},
|
|
113
|
+
padding: 10,
|
|
114
|
+
items: [
|
|
115
|
+
{
|
|
116
|
+
html: 'Для продолжения работы войдите в систему.',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
height: 220,
|
|
120
|
+
layout: {
|
|
121
|
+
type: 'vbox',
|
|
122
|
+
align: 'stretch',
|
|
123
|
+
pack: 'end',
|
|
124
|
+
},
|
|
125
|
+
items: [
|
|
126
|
+
{
|
|
127
|
+
xtype: 'LoginForm',
|
|
128
|
+
loginReason: 'reAuth',
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
return Ext.widget('WindowWrap', {
|
|
136
|
+
title: 'Сообщение системы',
|
|
137
|
+
width: 400,
|
|
138
|
+
height: 300,
|
|
139
|
+
closable: false,
|
|
140
|
+
maximizable: false,
|
|
141
|
+
items: panel,
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
|
|
89
145
|
afterLoad: async function() {
|
|
90
146
|
this.appRouter.onBeforeRouteEnterFailedFn = this.processNotAuthorizedAction;
|
|
91
147
|
Ext.on('auth:loginSuccessful', this.onLoginSuccessful, this);
|
|
@@ -14,12 +14,20 @@ Ext.define('Coon.app.login.LoginForm', {
|
|
|
14
14
|
type: 'vbox',
|
|
15
15
|
align: 'stretch',
|
|
16
16
|
},
|
|
17
|
+
|
|
18
|
+
config: {
|
|
19
|
+
loginReason: 'auth',
|
|
20
|
+
},
|
|
21
|
+
|
|
17
22
|
plugins: [
|
|
18
23
|
{
|
|
19
24
|
ptype: 'EnterConfirmFormPlugin',
|
|
20
25
|
confirmHandler(panel) {
|
|
21
26
|
panel.fireEvent('submit');
|
|
22
27
|
},
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
ptype: 'FormFieldFocusPlugin',
|
|
23
31
|
}
|
|
24
32
|
],
|
|
25
33
|
defaults: {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
$background-color-pressed: $base-color,
|
|
18
18
|
$background-color-focus-over: transparentize($base-color, 20%),
|
|
19
19
|
$background-color-focus-pressed: $base-color,
|
|
20
|
-
$background-color-disabled:
|
|
20
|
+
$background-color-disabled: #6b9bb8,
|
|
21
21
|
$font-weight: normal,
|
|
22
22
|
$color: white
|
|
23
23
|
);
|
|
@@ -115,7 +115,7 @@ Ext.define('Coon.app.login.LoginFormController', {
|
|
|
115
115
|
localStorage.setItem('CSRFToken', token);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
Ext.fireEvent('auth:loginSuccessful');
|
|
118
|
+
Ext.fireEvent('auth:loginSuccessful', this.getView().getLoginReason());
|
|
119
119
|
}, this);
|
|
120
120
|
tokenCommand.execute();
|
|
121
121
|
},
|
|
@@ -8,6 +8,11 @@ Ext.define('Coon.common.panel.SmartForm', {
|
|
|
8
8
|
},
|
|
9
9
|
|
|
10
10
|
initComponent: function() {
|
|
11
|
+
if (!this.plugins) {
|
|
12
|
+
this.plugins = [];
|
|
13
|
+
}
|
|
14
|
+
this.plugins.push({ptype: 'FormFieldFocusPlugin'});
|
|
15
|
+
|
|
11
16
|
this.callParent(arguments);
|
|
12
17
|
|
|
13
18
|
this.groupsFieldValidationPlugin = this.findPlugin('ReportGroupsFieldValidationPlugin');
|
|
@@ -46,25 +46,12 @@
|
|
|
46
46
|
.x-tab-bar-body-default {
|
|
47
47
|
padding: 0;
|
|
48
48
|
}
|
|
49
|
-
}
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
position: relative;
|
|
53
|
-
.x-tab-inner {
|
|
50
|
+
.tab-dirty {
|
|
54
51
|
position: relative;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
content: '';
|
|
59
|
-
display: block;
|
|
60
|
-
width: 5px;
|
|
61
|
-
height: 5px;
|
|
62
|
-
background: $base-color-light;
|
|
63
|
-
border-radius: 50%;
|
|
64
|
-
position: absolute;
|
|
65
|
-
left: -10px;
|
|
66
|
-
top: calc(1em / 2);
|
|
67
|
-
transform: translateY(-50%);
|
|
52
|
+
.x-tab-inner {
|
|
53
|
+
font-weight: 600;
|
|
54
|
+
font-style: italic;
|
|
68
55
|
}
|
|
69
56
|
}
|
|
70
57
|
}
|
|
@@ -173,7 +173,7 @@ Ext.define('Coon.uielement.component.UiCustomController', {
|
|
|
173
173
|
this.getViewModel().bind(`{${context}}`, function(contextValue) {
|
|
174
174
|
setupTitle(
|
|
175
175
|
this.makeComponentTitle(staticText, contextValue),
|
|
176
|
-
{silent:
|
|
176
|
+
{silent: false}
|
|
177
177
|
);
|
|
178
178
|
}, this);
|
|
179
179
|
} else {
|
|
@@ -190,22 +190,4 @@ Ext.define('Coon.uielement.component.UiCustomController', {
|
|
|
190
190
|
setupTitle(title);
|
|
191
191
|
}
|
|
192
192
|
},
|
|
193
|
-
|
|
194
|
-
setupTitle(title, options = {}) {
|
|
195
|
-
if (!typeof title === 'string') {
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
title = title || Coon.format.withHint('<span style="color:red">---</span>', 'заголовок не задан');
|
|
199
|
-
this.getView().titleText = title;
|
|
200
|
-
if (!options.silent) {
|
|
201
|
-
this.getView().fireEvent('titlechange', this.getView(), title);
|
|
202
|
-
}
|
|
203
|
-
if (
|
|
204
|
-
this.getView().tab &&
|
|
205
|
-
typeof this.getView().tab.setTooltip === 'function'
|
|
206
|
-
) {
|
|
207
|
-
this.getView().tab.setTooltip(title);
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
|
|
211
193
|
});
|
|
@@ -69,6 +69,21 @@ Ext.define('Coon.uielement.component.UiCustomPanel', {
|
|
|
69
69
|
this.viewModel.setData(data);
|
|
70
70
|
}
|
|
71
71
|
this.callParent();
|
|
72
|
+
if (this.componentTitle?.forceShowHeader) {
|
|
73
|
+
this.on('titlechange', this.forceShowHeader, this);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
forceShowHeader(_, title) {
|
|
78
|
+
if (typeof title !== 'string' || !title) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (this.header && typeof this.header.show === 'function') {
|
|
82
|
+
this.header.show();
|
|
83
|
+
} else {
|
|
84
|
+
this.header = {title};
|
|
85
|
+
this.updateHeader(true);
|
|
86
|
+
}
|
|
72
87
|
},
|
|
73
88
|
|
|
74
89
|
convertRowData(rowData) {
|
package/src/version.js
CHANGED