@steroidsjs/bootstrap 3.0.0-beta.114 → 3.0.0-beta.116
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/content/Chat/ChatView.js +19 -9
- package/content/Chat/ChatView.scss +7 -1
- package/content/Chat/views/ChatInput/ChatInputView.d.ts +1 -0
- package/content/Chat/views/ChatInput/ChatInputView.js +1 -1
- package/content/Kanban/views/KanbanModal/KanbanModalView.scss +11 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.js +1 -1
- package/package.json +2 -2
package/content/Chat/ChatView.js
CHANGED
|
@@ -27,26 +27,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
exports.__esModule = true;
|
|
29
29
|
var react_1 = __importStar(require("react"));
|
|
30
|
-
var react_use_1 = require("react-use");
|
|
31
30
|
var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
|
|
32
31
|
var ChatInput_1 = __importDefault(require("./views/ChatInput"));
|
|
33
32
|
var BubblesDateGroup_1 = __importDefault(require("./views/BubblesDateGroup"));
|
|
34
33
|
function ChatView(props) {
|
|
35
34
|
var bem = (0, useBem_1["default"])('ChatView');
|
|
36
|
-
var
|
|
37
|
-
(0,
|
|
38
|
-
|
|
35
|
+
var wrapperRef = (0, react_1.useRef)(null);
|
|
36
|
+
var contentRef = (0, react_1.useRef)(null);
|
|
37
|
+
var prevContentHeightRef = (0, react_1.useRef)(null);
|
|
38
|
+
(0, react_1.useEffect)(function () {
|
|
39
|
+
var wrapperHeight = wrapperRef.current.clientHeight;
|
|
40
|
+
var contentHeight = contentRef.current.clientHeight;
|
|
41
|
+
var wrapperScrollTop = wrapperRef.current.scrollTop;
|
|
42
|
+
if (!prevContentHeightRef.current || wrapperScrollTop === prevContentHeightRef.current - wrapperHeight) {
|
|
43
|
+
wrapperRef.current.scrollTo({
|
|
44
|
+
top: contentHeight - wrapperHeight,
|
|
45
|
+
left: 0,
|
|
46
|
+
behavior: prevContentHeightRef.current ? 'smooth' : 'auto'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
prevContentHeightRef.current = contentHeight;
|
|
39
50
|
}, [props.groupedMessagesByDates]);
|
|
40
51
|
var renderChatScreen = (0, react_1.useCallback)(function () { return (react_1["default"].createElement("div", { className: bem.element('screen') },
|
|
41
|
-
react_1["default"].createElement("div", { className: bem.element('
|
|
42
|
-
Object.entries(props.groupedMessagesByDates)
|
|
52
|
+
react_1["default"].createElement("div", { className: bem.element('wrapper'), ref: wrapperRef },
|
|
53
|
+
react_1["default"].createElement("div", { className: bem.element('content'), ref: contentRef }, Object.entries(props.groupedMessagesByDates)
|
|
43
54
|
.map(function (_a) {
|
|
44
55
|
var date = _a[0], groupedMessages = _a[1];
|
|
45
56
|
return (react_1["default"].createElement(BubblesDateGroup_1["default"], { key: date, date: date, groupedMessages: groupedMessages, currentUser: props.currentUser }));
|
|
46
|
-
}),
|
|
47
|
-
react_1["default"].createElement("div", { ref: endOfMessagesRef })))); }, [bem, props.groupedMessagesByDates, props.currentUser]);
|
|
57
|
+
}))))); }, [bem, props.groupedMessagesByDates, props.currentUser]);
|
|
48
58
|
return (react_1["default"].createElement("div", { className: bem.block() },
|
|
49
59
|
renderChatScreen(),
|
|
50
|
-
react_1["default"].createElement(ChatInput_1["default"], { chatId: props.chatId })));
|
|
60
|
+
react_1["default"].createElement(ChatInput_1["default"], { chatId: props.chatId, onSendMessage: props.onSendMessage })));
|
|
51
61
|
}
|
|
52
62
|
exports["default"] = ChatView;
|
|
@@ -26,9 +26,10 @@ $sidebar-scroll-track-color: var(--sidebar-scroll-track-color);
|
|
|
26
26
|
justify-content: flex-end;
|
|
27
27
|
align-items: center;
|
|
28
28
|
margin-bottom: 10px;
|
|
29
|
+
position: relative;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
&
|
|
32
|
+
&__wrapper {
|
|
32
33
|
position: relative;
|
|
33
34
|
width: 100%;
|
|
34
35
|
height: 100%;
|
|
@@ -50,4 +51,9 @@ $sidebar-scroll-track-color: var(--sidebar-scroll-track-color);
|
|
|
50
51
|
margin-top: 15px;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
|
|
55
|
+
&__content {
|
|
56
|
+
position: relative;
|
|
57
|
+
transition: all 6s;
|
|
58
|
+
}
|
|
53
59
|
}
|
|
@@ -35,7 +35,7 @@ function ChatInputView(props) {
|
|
|
35
35
|
var renderInputActions = (0, react_1.useCallback)(function () { return (react_1["default"].createElement("div", { className: bem.element('actions') },
|
|
36
36
|
react_1["default"].createElement(form_1.Button, { className: bem.element('action'), icon: "send", type: "submit" }))); }, [bem]);
|
|
37
37
|
return (react_1["default"].createElement("div", { className: bem.block() },
|
|
38
|
-
react_1["default"].createElement(form_1.Form, { formId: props.chatId, className: bem.element('form'), useRedux: true },
|
|
38
|
+
react_1["default"].createElement(form_1.Form, { formId: props.chatId, className: bem.element('form'), onSubmit: props.onSendMessage, useRedux: true },
|
|
39
39
|
react_1["default"].createElement(form_1.InputField, { className: bem.element('input'), attribute: "text", size: "lg", required: true, placeholder: __('Введите сообщение'), addonAfter: renderInputActions() }))));
|
|
40
40
|
}
|
|
41
41
|
exports["default"] = ChatInputView;
|
|
@@ -12,6 +12,7 @@ html[data-theme="dark"] {
|
|
|
12
12
|
|
|
13
13
|
$badge-background-color: var(--badge-background-color);
|
|
14
14
|
$badge-text-color: var(--badge-text-color);
|
|
15
|
+
$html-field-text-color: #312c3a;
|
|
15
16
|
|
|
16
17
|
.KanbanModalView {
|
|
17
18
|
min-width: 536px;
|
|
@@ -46,6 +47,10 @@ $badge-text-color: var(--badge-text-color);
|
|
|
46
47
|
flex-flow: column nowrap;
|
|
47
48
|
gap: 16px;
|
|
48
49
|
}
|
|
50
|
+
|
|
51
|
+
&_html-field {
|
|
52
|
+
width: 1040px;
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
&__assigner {
|
|
@@ -180,6 +185,12 @@ $badge-text-color: var(--badge-text-color);
|
|
|
180
185
|
.RadioListFieldView_horizontal {
|
|
181
186
|
gap: 24px;
|
|
182
187
|
}
|
|
188
|
+
|
|
189
|
+
.ck-content {
|
|
190
|
+
max-height: 332px;
|
|
191
|
+
overflow: scroll;
|
|
192
|
+
color: $html-field-text-color;
|
|
193
|
+
}
|
|
183
194
|
}
|
|
184
195
|
|
|
185
196
|
.ModalView {
|
|
@@ -73,7 +73,7 @@ function CreateOrEditTaskModalContentView(props) {
|
|
|
73
73
|
react_1["default"].createElement(form_1.InputField, { attribute: "description", size: "md", showClear: true }))),
|
|
74
74
|
react_1["default"].createElement("div", { className: props.bem.element('row') },
|
|
75
75
|
react_1["default"].createElement("div", { className: props.bem.element('label') }),
|
|
76
|
-
react_1["default"].createElement("div", { className: props.bem.element('right', '
|
|
76
|
+
react_1["default"].createElement("div", { className: props.bem.element('right', 'html-field') },
|
|
77
77
|
react_1["default"].createElement(form_1.HtmlField, { attribute: "fullDescription", size: "md" }))),
|
|
78
78
|
!!((_d = props.tags) === null || _d === void 0 ? void 0 : _d.length) && (react_1["default"].createElement("div", { className: props.bem.element('row', 'tags-field') },
|
|
79
79
|
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Добавить теги') }),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steroidsjs/bootstrap",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.116",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Vladimir Kozhin <hello@kozhindev.com>",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"react-use": "^17.4.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.
|
|
40
|
+
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.100",
|
|
41
41
|
"@steroidsjs/eslint-config": "^2.1.4",
|
|
42
42
|
"@types/enzyme": "^3.10.8",
|
|
43
43
|
"@types/googlemaps": "^3.43.3",
|