@steroidsjs/bootstrap 3.0.0-beta.99 → 3.0.1
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/Calendar/CalendarView.js +6 -3
- package/content/Calendar/CalendarView.scss +7 -2
- package/content/Calendar/CaptionElement.js +6 -3
- package/content/CalendarSystem/AsideCalendars/AsideCalendars.d.ts +12 -0
- package/content/CalendarSystem/AsideCalendars/AsideCalendars.js +43 -0
- package/content/CalendarSystem/AsideCalendars/AsideCalendars.scss +107 -0
- package/content/CalendarSystem/AsideCalendars/index.d.ts +2 -0
- package/content/CalendarSystem/AsideCalendars/index.js +7 -0
- package/content/CalendarSystem/AsideHeader/AsideHeader.d.ts +9 -0
- package/content/CalendarSystem/AsideHeader/AsideHeader.js +40 -0
- package/content/CalendarSystem/AsideHeader/AsideHeader.scss +41 -0
- package/content/CalendarSystem/AsideHeader/index.d.ts +2 -0
- package/content/CalendarSystem/AsideHeader/index.js +7 -0
- package/content/CalendarSystem/CalendarSystemEventGroupModalView.d.ts +2 -0
- package/content/CalendarSystem/CalendarSystemEventGroupModalView.js +25 -0
- package/content/CalendarSystem/CalendarSystemEventGroupModalView.scss +53 -0
- package/content/CalendarSystem/CalendarSystemModalView.d.ts +2 -0
- package/content/CalendarSystem/CalendarSystemModalView.js +54 -0
- package/content/CalendarSystem/CalendarSystemModalView.scss +84 -0
- package/content/CalendarSystem/CalendarSystemView.d.ts +2 -0
- package/content/CalendarSystem/CalendarSystemView.js +44 -0
- package/content/CalendarSystem/CalendarSystemView.scss +50 -0
- package/content/CalendarSystem/ContentHeader/ContentHeader.d.ts +10 -0
- package/content/CalendarSystem/ContentHeader/ContentHeader.js +26 -0
- package/content/CalendarSystem/ContentHeader/ContentHeader.scss +57 -0
- package/content/CalendarSystem/ContentHeader/index.d.ts +2 -0
- package/content/CalendarSystem/ContentHeader/index.js +7 -0
- package/content/CalendarSystem/MonthGrid/MonthGrid.d.ts +14 -0
- package/content/CalendarSystem/MonthGrid/MonthGrid.js +39 -0
- package/content/CalendarSystem/MonthGrid/MonthGrid.scss +41 -0
- package/content/CalendarSystem/MonthGrid/index.d.ts +2 -0
- package/content/CalendarSystem/MonthGrid/index.js +7 -0
- package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.d.ts +11 -0
- package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.js +73 -0
- package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.scss +126 -0
- package/content/CalendarSystem/MonthGrid/views/MonthDay/index.d.ts +2 -0
- package/content/CalendarSystem/MonthGrid/views/MonthDay/index.js +7 -0
- package/content/CalendarSystem/WeekGrid/WeekGrid.d.ts +14 -0
- package/content/CalendarSystem/WeekGrid/WeekGrid.js +25 -0
- package/content/CalendarSystem/WeekGrid/WeekGrid.scss +154 -0
- package/content/CalendarSystem/WeekGrid/index.d.ts +2 -0
- package/content/CalendarSystem/WeekGrid/index.js +7 -0
- package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.d.ts +12 -0
- package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.js +79 -0
- package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.scss +108 -0
- package/content/CalendarSystem/WeekGrid/views/WeekHour/index.d.ts +2 -0
- package/content/CalendarSystem/WeekGrid/views/WeekHour/index.js +7 -0
- package/content/Chart/ChartView.js +12 -2
- package/content/Chart/ChartView.scss +35 -4
- package/content/Chat/ChatView.d.ts +2 -0
- package/content/Chat/ChatView.js +62 -0
- package/content/Chat/ChatView.scss +59 -0
- package/content/Chat/index.d.ts +2 -0
- package/content/Chat/index.js +7 -0
- package/content/Chat/views/BubbleMessage/BubbleMessageView.d.ts +17 -0
- package/content/Chat/views/BubbleMessage/BubbleMessageView.js +72 -0
- package/content/Chat/views/BubbleMessage/BubbleMessageView.scss +195 -0
- package/content/Chat/views/BubbleMessage/index.d.ts +2 -0
- package/content/Chat/views/BubbleMessage/index.js +7 -0
- package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.d.ts +12 -0
- package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.js +48 -0
- package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.scss +78 -0
- package/content/Chat/views/BubblesDateGroup/index.d.ts +2 -0
- package/content/Chat/views/BubblesDateGroup/index.js +7 -0
- package/content/Chat/views/ChatFileItem/ChatFileItemView.d.ts +9 -0
- package/content/Chat/views/ChatFileItem/ChatFileItemView.js +50 -0
- package/content/Chat/views/ChatFileItem/ChatFileItemView.scss +184 -0
- package/content/Chat/views/ChatFileItem/index.d.ts +2 -0
- package/content/Chat/views/ChatFileItem/index.js +7 -0
- package/content/Chat/views/ChatInput/ChatInputView.d.ts +3 -0
- package/content/Chat/views/ChatInput/ChatInputView.js +64 -0
- package/content/Chat/views/ChatInput/ChatInputView.scss +82 -0
- package/content/Chat/views/ChatInput/index.d.ts +2 -0
- package/content/Chat/views/ChatInput/index.js +7 -0
- package/content/Dashboard/DashboardItemView.d.ts +2 -0
- package/content/Dashboard/DashboardItemView.js +18 -0
- package/content/Dashboard/DashboardItemView.scss +47 -0
- package/content/DropDown/DropDownView.js +12 -12
- package/content/DropDown/DropDownView.scss +34 -175
- package/content/Icon/IconView.js +18 -2
- package/content/Kanban/KanbanView.d.ts +2 -0
- package/content/Kanban/KanbanView.js +29 -0
- package/content/Kanban/KanbanView.scss +12 -0
- package/content/Kanban/views/KanbanColumn/KanbanColumnView.d.ts +2 -0
- package/content/Kanban/views/KanbanColumn/KanbanColumnView.js +36 -0
- package/content/Kanban/views/KanbanColumn/KanbanColumnView.scss +75 -0
- package/content/Kanban/views/KanbanColumn/index.d.ts +2 -0
- package/content/Kanban/views/KanbanColumn/index.js +7 -0
- package/content/Kanban/views/KanbanModal/KanbanModalView.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/KanbanModalView.js +57 -0
- package/content/Kanban/views/KanbanModal/KanbanModalView.scss +210 -0
- package/content/Kanban/views/KanbanModal/index.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/index.js +7 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.js +95 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.js +7 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.d.ts +6 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.js +11 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.js +7 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.d.ts +8 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.js +49 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.scss +30 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.js +7 -0
- package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.js +53 -0
- package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.d.ts +2 -0
- package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.js +7 -0
- package/content/Kanban/views/KanbanTask/KanbanTaskView.d.ts +5 -0
- package/content/Kanban/views/KanbanTask/KanbanTaskView.js +66 -0
- package/content/Kanban/views/KanbanTask/KanbanTaskView.scss +110 -0
- package/content/Kanban/views/KanbanTask/index.d.ts +2 -0
- package/content/Kanban/views/KanbanTask/index.js +7 -0
- package/content/Kanban/views/TaskTags/TaskTags.d.ts +9 -0
- package/content/Kanban/views/TaskTags/TaskTags.js +14 -0
- package/content/Kanban/views/TaskTags/TaskTags.scss +7 -0
- package/content/Kanban/views/TaskTags/index.d.ts +2 -0
- package/content/Kanban/views/TaskTags/index.js +7 -0
- package/content/Menu/MenuItemView.js +4 -1
- package/form/CheckboxField/CheckboxFieldView.js +5 -2
- package/form/CheckboxField/CheckboxFieldView.scss +27 -0
- package/form/CheckboxListField/CheckboxListFieldView.js +2 -1
- package/form/CheckboxTreeField/CheckboxTreeFieldView.d.ts +2 -0
- package/form/CheckboxTreeField/CheckboxTreeFieldView.js +30 -0
- package/form/CheckboxTreeField/CheckboxTreeFieldView.scss +5 -0
- package/form/CheckboxTreeField/index.d.ts +2 -0
- package/form/CheckboxTreeField/index.js +7 -0
- package/form/DateField/DateFieldView.js +1 -1
- package/form/DateRangeField/DateRangeFieldView.js +2 -2
- package/form/DateTimeField/DateTimeFieldView.js +1 -1
- package/form/DateTimeRangeField/DateTimeRangeFieldView.js +2 -2
- package/form/DropDownField/DropDownFieldView.js +4 -3
- package/form/DropDownField/DropDownFieldView.scss +12 -2
- package/form/DropDownFieldItem/DropDownFieldItemView.js +1 -1
- package/form/Form/FormView.js +1 -0
- package/form/InputField/InputFieldView.js +2 -2
- package/form/PasswordField/PasswordFieldView.js +1 -1
- package/form/WizardForm/WizardFormView.d.ts +2 -0
- package/form/WizardForm/WizardFormView.js +33 -0
- package/form/WizardForm/WizardFormView.scss +30 -0
- package/icons/index.js +3 -0
- package/icons/svgs/add_16x16.svg +4 -0
- package/icons/svgs/done-all.svg +4 -0
- package/icons/svgs/send.svg +3 -0
- package/icons/svgs/view.svg +1 -0
- package/icons/svgs/warning_16x16.svg +2 -0
- package/index.d.ts +36 -0
- package/index.js +36 -0
- package/index.scss +15 -0
- package/layout/ProgressBar/CircleProgressBarView.js +4 -1
- package/layout/ProgressBar/LineProgressBarView.js +4 -1
- package/layout/Skeleton/SkeletonView.js +4 -1
- package/layout/Tooltip/TooltipView.js +3 -3
- package/layout/Tooltip/TooltipView.scss +10 -77
- package/list/FlexGrid/FlexGridView.scss +6 -13
- package/list/Grid/GridView.scss +8 -10
- package/list/Grid/views/TreeColumnView/TreeColumnView.d.ts +2 -0
- package/list/Grid/views/TreeColumnView/TreeColumnView.js +27 -0
- package/list/Grid/views/TreeColumnView/TreeColumnView.scss +6 -0
- package/list/Steps/StepItemView.js +21 -10
- package/list/Steps/StepItemView.scss +113 -83
- package/list/Steps/StepsView.js +4 -24
- package/list/Steps/StepsView.scss +6 -15
- package/nav/Controls/ControlsView.scss +3 -3
- package/nav/Tree/TreeView.js +3 -9
- package/nav/Tree/TreeView.scss +10 -47
- package/nav/TreeItem/TreeItemView.d.ts +2 -0
- package/nav/TreeItem/TreeItemView.js +70 -0
- package/nav/TreeItem/TreeItemView.scss +67 -0
- package/package.json +3 -3
- package/scss/bootstrap-classes/flex.scss +42 -0
- package/scss/bootstrap-classes/index.scss +4 -0
- package/scss/bootstrap-classes/layout.scss +72 -0
- package/scss/bootstrap-classes/spacing.scss +181 -0
- package/scss/bootstrap-classes/typography.scss +25 -0
- package/scss/mixins/button.scss +24 -8
- package/scss/mixins/index.scss +1 -0
- package/scss/mixins/scroll.scss +6 -0
- package/scss/mixins/tooltip.scss +113 -0
- package/scss/variables/common/colors.scss +5 -2
- package/scss/variables/common/flex.scss +5 -0
- package/scss/variables/common/typography.scss +13 -0
- package/scss/variables/index.scss +1 -0
- package/utils/getFormattedExpandLabel.d.ts +1 -0
- package/utils/getFormattedExpandLabel.js +5 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
@use "../../../../scss/variables";
|
|
2
|
+
@use "../../../../scss/mixins";
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
--kanban-background-color: #fff;
|
|
6
|
+
--add-task-icon-color: #323232;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
html[data-theme="dark"] {
|
|
10
|
+
--kanban-background-color: #333646;
|
|
11
|
+
--add-task-icon-color: #fff;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
$sidebar-scroll-thumb-color: var(--sidebar-scroll-thumb-color);
|
|
15
|
+
$sidebar-scroll-track-color: var(--sidebar-scroll-track-color);
|
|
16
|
+
$add-task-icon-color: var(--add-task-icon-color);
|
|
17
|
+
|
|
18
|
+
.KanbanColumnView {
|
|
19
|
+
white-space: normal;
|
|
20
|
+
min-width: 375px;
|
|
21
|
+
width: 375px;
|
|
22
|
+
margin-right: 8px;
|
|
23
|
+
padding: 16px 8px 16px 16px;
|
|
24
|
+
border: 1px solid variables.$element-border-color;
|
|
25
|
+
border-radius: 20px;
|
|
26
|
+
color: variables.$text-color;
|
|
27
|
+
background-color: variables.$element-background-color;
|
|
28
|
+
|
|
29
|
+
&__header {
|
|
30
|
+
display: flex;
|
|
31
|
+
font-size: 18px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__title {
|
|
35
|
+
margin-bottom: 16px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__tasks-count {
|
|
39
|
+
overflow-y: auto;
|
|
40
|
+
overflow-x: hidden;
|
|
41
|
+
margin-left: 8px;
|
|
42
|
+
color: variables.$element-placeholder-color;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&__content {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
min-height: 10px;
|
|
49
|
+
overflow: scroll;
|
|
50
|
+
overflow-x: hidden;
|
|
51
|
+
|
|
52
|
+
@include mixins.scrollWrapper(#{900px}, 8px, $sidebar-scroll-thumb-color, $sidebar-scroll-track-color);
|
|
53
|
+
|
|
54
|
+
&::-webkit-scrollbar {
|
|
55
|
+
width: 4px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&::-webkit-scrollbar-track {
|
|
59
|
+
margin-bottom: 8px;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&__button {
|
|
64
|
+
padding-right: 8px;
|
|
65
|
+
|
|
66
|
+
.ButtonView {
|
|
67
|
+
margin-top: 1em;
|
|
68
|
+
background-color: variables.$light-gray;
|
|
69
|
+
|
|
70
|
+
svg path {
|
|
71
|
+
stroke: $add-task-icon-color;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var KanbanColumnView_1 = __importDefault(require("./KanbanColumnView"));
|
|
7
|
+
exports["default"] = KanbanColumnView_1["default"];
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
exports.__esModule = true;
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var Modal_1 = __importDefault(require("@steroidsjs/core/ui/modal/Modal/Modal"));
|
|
31
|
+
var enums_1 = require("@steroidsjs/core/ui/content/Kanban/enums");
|
|
32
|
+
var hooks_1 = require("@steroidsjs/core/hooks");
|
|
33
|
+
var CreateOrEditTaskModalContent_1 = __importDefault(require("./views/CreateOrEditTaskModalContent"));
|
|
34
|
+
var TaskDetailsModalContent_1 = __importDefault(require("./views/TaskDetailsModalContent"));
|
|
35
|
+
function KanbanModalView(props) {
|
|
36
|
+
var bem = (0, hooks_1.useBem)('KanbanModalView');
|
|
37
|
+
var renderModalContent = (0, react_1.useCallback)(function (modalType) {
|
|
38
|
+
switch (modalType) {
|
|
39
|
+
case enums_1.KanbanModalTypeEnum.CREATE:
|
|
40
|
+
return (react_1["default"].createElement(CreateOrEditTaskModalContent_1["default"], { bem: bem, formId: props.formId, columns: props.columns, columnId: props.columnId, tags: props.tags, assigners: props.assigners, submitButtonLabel: __('Создать'), onSubmit: props.onSubmit }));
|
|
41
|
+
case enums_1.KanbanModalTypeEnum.DETAILS:
|
|
42
|
+
return (react_1["default"].createElement(TaskDetailsModalContent_1["default"], { bem: bem, task: props.task }));
|
|
43
|
+
case enums_1.KanbanModalTypeEnum.EDIT:
|
|
44
|
+
return (react_1["default"].createElement(CreateOrEditTaskModalContent_1["default"], { bem: bem, formId: props.formId, task: props.task, columns: props.columns, columnId: props.columnId, tags: props.tags, assigners: props.assigners, submitButtonLabel: __('Сохранить'), onSubmit: props.onSubmit }));
|
|
45
|
+
default:
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}, [bem, props.assigners, props.columnId, props.columns, props.formId, props.onSubmit, props.tags, props.task]);
|
|
49
|
+
var renderModalButton = (0, react_1.useCallback)(function (modalType) { return modalType !== enums_1.KanbanModalTypeEnum.CREATE
|
|
50
|
+
? [{
|
|
51
|
+
icon: enums_1.KanbanModalTypeEnum.getModalIconByType(modalType),
|
|
52
|
+
onClick: props.onToggleModalType
|
|
53
|
+
}]
|
|
54
|
+
: null; }, [props.modalType]);
|
|
55
|
+
return (react_1["default"].createElement(Modal_1["default"], { className: bem.block(), title: props.title, onClose: props.onClose, size: "lg", buttons: renderModalButton(props.modalType) }, renderModalContent(props.modalType)));
|
|
56
|
+
}
|
|
57
|
+
exports["default"] = KanbanModalView;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
@use "../../../../scss/variables";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--badge-background-color: #f8f8f8;
|
|
5
|
+
--badge-text-color: variables.$static-text-color;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
html[data-theme="dark"] {
|
|
9
|
+
--badge-background-color: #4b4e5e;
|
|
10
|
+
--badge-text-color: variables.$white;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
$badge-background-color: var(--badge-background-color);
|
|
14
|
+
$badge-text-color: var(--badge-text-color);
|
|
15
|
+
$html-field-text-color: #312c3a;
|
|
16
|
+
|
|
17
|
+
.KanbanModalView {
|
|
18
|
+
min-width: 536px;
|
|
19
|
+
|
|
20
|
+
&__row {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: 16px;
|
|
24
|
+
|
|
25
|
+
&_radio {
|
|
26
|
+
height: 46px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&_tags {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-flow: row wrap;
|
|
32
|
+
gap: 4px;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__label {
|
|
37
|
+
flex: 1;
|
|
38
|
+
margin: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&__right {
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-flow: row nowrap;
|
|
44
|
+
gap: 24px;
|
|
45
|
+
|
|
46
|
+
&_column {
|
|
47
|
+
flex-flow: column nowrap;
|
|
48
|
+
gap: 16px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&_html-field {
|
|
52
|
+
width: 1040px;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&__assigner {
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
gap: 8px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&__content {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-flow: column nowrap;
|
|
65
|
+
gap: 24px;
|
|
66
|
+
max-width: 488px;
|
|
67
|
+
width: 100%;
|
|
68
|
+
padding-top: 16px;
|
|
69
|
+
word-break: break-all;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&__data {
|
|
73
|
+
flex: 4;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&__form-content {
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-flow: column nowrap;
|
|
79
|
+
gap: 16px;
|
|
80
|
+
padding-top: 24px;
|
|
81
|
+
font-size: 14px;
|
|
82
|
+
|
|
83
|
+
.FieldLayoutView {
|
|
84
|
+
flex: 2;
|
|
85
|
+
margin: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&__right {
|
|
90
|
+
flex: 5;
|
|
91
|
+
|
|
92
|
+
.RadioFieldView {
|
|
93
|
+
display: flex;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&__sub-right {
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-flow: row nowrap;
|
|
100
|
+
align-items: center;
|
|
101
|
+
gap: 8px;
|
|
102
|
+
|
|
103
|
+
.FieldLayoutView {
|
|
104
|
+
min-width: 140px;
|
|
105
|
+
flex: 1;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&__button {
|
|
110
|
+
margin-top: 24px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.DropDownItemView {
|
|
114
|
+
&__icon {
|
|
115
|
+
display: flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: center;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
&__img {
|
|
121
|
+
img {
|
|
122
|
+
object-fit: cover;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.ModalView {
|
|
128
|
+
&__header {
|
|
129
|
+
align-items: flex-start;
|
|
130
|
+
padding-bottom: 0 !important;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&__title {
|
|
134
|
+
max-width: 440px;
|
|
135
|
+
font-size: 18px;
|
|
136
|
+
line-height: 24px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&__content {
|
|
140
|
+
padding-top: 0 !important;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&__footer {
|
|
144
|
+
padding-top: 0 !important;
|
|
145
|
+
justify-content: flex-end;
|
|
146
|
+
|
|
147
|
+
.ButtonView {
|
|
148
|
+
width: 46px;
|
|
149
|
+
height: 46px;
|
|
150
|
+
|
|
151
|
+
background-color: variables.$secondary;
|
|
152
|
+
|
|
153
|
+
&__label {
|
|
154
|
+
width: 24px;
|
|
155
|
+
height: 24px;
|
|
156
|
+
flex-shrink: 0;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
svg {
|
|
161
|
+
width: 24px;
|
|
162
|
+
height: 24px;
|
|
163
|
+
path {
|
|
164
|
+
stroke: #fff;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.BadgeView {
|
|
171
|
+
&_light-gray {
|
|
172
|
+
background-color: $badge-background-color;
|
|
173
|
+
color: $badge-text-color;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.TextView {
|
|
178
|
+
margin: 0;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.DropDownFieldView__icon-close {
|
|
182
|
+
z-index: 0;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.RadioListFieldView_horizontal {
|
|
186
|
+
gap: 24px;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.ck-content {
|
|
190
|
+
max-height: 332px;
|
|
191
|
+
overflow: scroll;
|
|
192
|
+
color: $html-field-text-color;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.ModalView {
|
|
197
|
+
overflow-y: auto;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.KanbanModalView:has(.TaskTags) .KanbanModalView {
|
|
201
|
+
&__row_tags-field {
|
|
202
|
+
align-items: flex-start;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.KanbanModalView:has(.ModalView__footer) .ModalView {
|
|
207
|
+
&__content {
|
|
208
|
+
padding-bottom: 0 !important;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var KanbanModalView_1 = __importDefault(require("./KanbanModalView"));
|
|
7
|
+
exports["default"] = KanbanModalView_1["default"];
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
exports.__esModule = true;
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var KanbanPrioritiesEnum_1 = __importDefault(require("@steroidsjs/core/ui/content/Kanban/enums/KanbanPrioritiesEnum"));
|
|
31
|
+
var form_1 = require("@steroidsjs/core/ui/form");
|
|
32
|
+
var content_1 = require("@steroidsjs/core/ui/content");
|
|
33
|
+
var TagsSelector_1 = __importDefault(require("./views/TagsSelector"));
|
|
34
|
+
var Label_1 = __importDefault(require("./views/Label"));
|
|
35
|
+
function CreateOrEditTaskModalContentView(props) {
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
37
|
+
var columns = (0, react_1.useMemo)(function () { return (props.columns.map(function (column) { return ({
|
|
38
|
+
id: column.id,
|
|
39
|
+
label: column.title
|
|
40
|
+
}); })); }, [props.columns]);
|
|
41
|
+
var prioritiesFields = (0, react_1.useMemo)(function () { return KanbanPrioritiesEnum_1["default"].getPrioritiesArray()
|
|
42
|
+
.map(function (priority) { return ({
|
|
43
|
+
id: priority.id,
|
|
44
|
+
label: react_1["default"].createElement(content_1.Badge, { size: "md", roundingStyle: "squarer", message: KanbanPrioritiesEnum_1["default"].getLabel(priority.type), type: KanbanPrioritiesEnum_1["default"].getColorByType(priority.type) })
|
|
45
|
+
}); }); }, []);
|
|
46
|
+
return (react_1["default"].createElement(form_1.Form, { formId: props.formId, className: props.bem.element('form'), initialValues: props.task
|
|
47
|
+
? {
|
|
48
|
+
columnId: props.columnId || null,
|
|
49
|
+
title: props.task.title || '',
|
|
50
|
+
description: props.task.description || '',
|
|
51
|
+
fullDescription: props.task.fullDescription || '',
|
|
52
|
+
tags: ((_a = props.task.tags) === null || _a === void 0 ? void 0 : _a.map(function (tag) { return tag.id; })) || [],
|
|
53
|
+
priority: ((_b = props.task.priority) === null || _b === void 0 ? void 0 : _b.id) || null,
|
|
54
|
+
assigner: ((_c = props.task.assigner) === null || _c === void 0 ? void 0 : _c.id) || null
|
|
55
|
+
}
|
|
56
|
+
: {
|
|
57
|
+
columnId: props.columnId || null
|
|
58
|
+
}, onSubmit: function (data) {
|
|
59
|
+
var _a;
|
|
60
|
+
props.onSubmit((_a = props.task) === null || _a === void 0 ? void 0 : _a.id, data, props.columnId);
|
|
61
|
+
}, useRedux: true },
|
|
62
|
+
react_1["default"].createElement("div", { className: props.bem.element('form-content') },
|
|
63
|
+
react_1["default"].createElement("div", { className: props.bem.element('row') },
|
|
64
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Заголовок') }),
|
|
65
|
+
react_1["default"].createElement("div", { className: props.bem.element('right') },
|
|
66
|
+
react_1["default"].createElement(form_1.InputField, { attribute: "title", size: "md", showClear: true, required: true, outline: true }),
|
|
67
|
+
react_1["default"].createElement("div", { className: props.bem.element('sub-right') },
|
|
68
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Переместить в') }),
|
|
69
|
+
react_1["default"].createElement(form_1.DropDownField, { attribute: 'columnId', items: columns, size: "md", required: true, outline: true })))),
|
|
70
|
+
react_1["default"].createElement("div", { className: props.bem.element('row') },
|
|
71
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Описание') }),
|
|
72
|
+
react_1["default"].createElement("div", { className: props.bem.element('right', 'column') },
|
|
73
|
+
react_1["default"].createElement(form_1.InputField, { attribute: "description", size: "md", showClear: true }))),
|
|
74
|
+
react_1["default"].createElement("div", { className: props.bem.element('row') },
|
|
75
|
+
react_1["default"].createElement("div", { className: props.bem.element('label') }),
|
|
76
|
+
react_1["default"].createElement("div", { className: props.bem.element('right', 'html-field') },
|
|
77
|
+
react_1["default"].createElement(form_1.HtmlField, { attribute: "fullDescription", size: "md" }))),
|
|
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
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Добавить теги') }),
|
|
80
|
+
react_1["default"].createElement("div", { className: props.bem.element('right', 'column') },
|
|
81
|
+
react_1["default"].createElement(TagsSelector_1["default"], { tags: props.tags, formId: props.formId })))),
|
|
82
|
+
react_1["default"].createElement("div", { className: props.bem.element('row') },
|
|
83
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Исполнители') }),
|
|
84
|
+
react_1["default"].createElement("div", { className: props.bem.element('right') },
|
|
85
|
+
react_1["default"].createElement(form_1.DropDownField, { attribute: 'assigner', selectedIds: ((_f = (_e = props.task) === null || _e === void 0 ? void 0 : _e.assigner) === null || _f === void 0 ? void 0 : _f.id) && [props.task.assigner.id], items: props.assigners, showReset: true, outline: true }))),
|
|
86
|
+
react_1["default"].createElement("div", { className: props.bem.element('row', 'radio') },
|
|
87
|
+
react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Приоритет') }),
|
|
88
|
+
react_1["default"].createElement("div", { className: props.bem.element('right') },
|
|
89
|
+
react_1["default"].createElement(form_1.RadioListField, { attribute: 'priority', items: prioritiesFields, selectedIds: [
|
|
90
|
+
(_j = (_h = (_g = props.task) === null || _g === void 0 ? void 0 : _g.priority) === null || _h === void 0 ? void 0 : _h.id) !== null && _j !== void 0 ? _j : KanbanPrioritiesEnum_1["default"].getDefaultSelectedPriorityId(),
|
|
91
|
+
], multiple: false, orientation: 'horizontal' }))),
|
|
92
|
+
react_1["default"].createElement("div", { className: props.bem.element('button') },
|
|
93
|
+
react_1["default"].createElement(form_1.Button, { type: "submit", label: props.submitButtonLabel, size: "md" })))));
|
|
94
|
+
}
|
|
95
|
+
exports["default"] = CreateOrEditTaskModalContentView;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var CreateOrEditTaskModalContentView_1 = __importDefault(require("./CreateOrEditTaskModalContentView"));
|
|
7
|
+
exports["default"] = CreateOrEditTaskModalContentView_1["default"];
|
package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var typography_1 = require("@steroidsjs/core/ui/typography");
|
|
8
|
+
function Label(props) {
|
|
9
|
+
return (react_1["default"].createElement(typography_1.Text, { className: props.className, type: 'body2', content: props.content, color: "light-dark" }));
|
|
10
|
+
}
|
|
11
|
+
exports["default"] = Label;
|
package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var Label_1 = __importDefault(require("./Label"));
|
|
7
|
+
exports["default"] = Label_1["default"];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ITaskTag } from '@steroidsjs/core/ui/content/Kanban/Kanban';
|
|
2
|
+
import './TagsSelector.scss';
|
|
3
|
+
interface ITagsSelectorProps {
|
|
4
|
+
tags?: ITaskTag[];
|
|
5
|
+
formId?: string;
|
|
6
|
+
}
|
|
7
|
+
export default function TagsSelector(props: ITagsSelectorProps): JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
exports.__esModule = true;
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var hooks_1 = require("@steroidsjs/core/hooks");
|
|
31
|
+
var form_1 = require("@steroidsjs/core/reducers/form");
|
|
32
|
+
var form_2 = require("@steroidsjs/core/ui/form");
|
|
33
|
+
var TaskTags_1 = __importDefault(require("../../../../../TaskTags"));
|
|
34
|
+
require("./TagsSelector.scss");
|
|
35
|
+
function TagsSelector(props) {
|
|
36
|
+
var bem = (0, hooks_1.useBem)('TagsSelector');
|
|
37
|
+
var selectedTags = (0, hooks_1.useSelector)(function (state) { return (0, form_1.getFormValues)(state, props.formId); }).tags;
|
|
38
|
+
var taskTags = (0, react_1.useMemo)(function () { return (props.tags.filter(function (tag) { return selectedTags === null || selectedTags === void 0 ? void 0 : selectedTags.includes(tag.id); })); }, [props.tags, selectedTags]);
|
|
39
|
+
var tagsList = (0, react_1.useMemo)(function () { return (props.tags.map(function (tag) { return ({
|
|
40
|
+
id: tag.id,
|
|
41
|
+
label: tag.message,
|
|
42
|
+
contentType: 'icon',
|
|
43
|
+
contentSrc: react_1["default"].createElement("div", { className: bem.element('tag-color', tag.type) })
|
|
44
|
+
}); })); }, [bem, props.tags]);
|
|
45
|
+
return (react_1["default"].createElement("div", { className: bem.block() },
|
|
46
|
+
!!(selectedTags === null || selectedTags === void 0 ? void 0 : selectedTags.length) && (react_1["default"].createElement(TaskTags_1["default"], { tags: taskTags })),
|
|
47
|
+
react_1["default"].createElement(form_2.DropDownField, { attribute: "tags", placeholder: __('Выберите теги'), multiple: true, items: tagsList, selectedIds: selectedTags, autoComplete: true, outline: true })));
|
|
48
|
+
}
|
|
49
|
+
exports["default"] = TagsSelector;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@use "../../../../../../../../scss/variables";
|
|
2
|
+
|
|
3
|
+
.TagsSelector {
|
|
4
|
+
$root: &;
|
|
5
|
+
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: 16px;
|
|
9
|
+
|
|
10
|
+
$tag-types: (
|
|
11
|
+
"primary": variables.$primary,
|
|
12
|
+
"secondary": variables.$secondary,
|
|
13
|
+
"success": variables.$success,
|
|
14
|
+
"danger": variables.$danger,
|
|
15
|
+
"warning": variables.$warning,
|
|
16
|
+
"info": variables.$info,
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
@each $type, $color in $tag-types {
|
|
20
|
+
&__tag-color_#{$type} {
|
|
21
|
+
background-color: $color;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__tag-color {
|
|
26
|
+
width: 12px;
|
|
27
|
+
height: 12px;
|
|
28
|
+
border-radius: 4px;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
var TagsSelector_1 = __importDefault(require("./TagsSelector"));
|
|
7
|
+
exports["default"] = TagsSelector_1["default"];
|