@steroidsjs/bootstrap 3.0.0-beta.110 → 3.0.0-beta.112

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.
@@ -11,18 +11,17 @@ var form_1 = require("@steroidsjs/core/ui/form");
11
11
  var Text_1 = __importDefault(require("@steroidsjs/core/ui/typography/Text/Text"));
12
12
  var react_1 = __importDefault(require("react"));
13
13
  var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
14
- var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
15
14
  function CalendarSystemModalView(props) {
16
15
  var bem = (0, useBem_1["default"])('CalendarSystemModalView');
17
16
  var eventInitialValues = react_1["default"].useMemo(function () { return props.eventInitialValues; }, [props.eventInitialValues]);
18
17
  var callOnEventSubmit = function (fields) {
19
- return eventInitialValues ? props.onEventSubmit(fields, eventInitialValues) : props.onEventSubmit(fields);
18
+ return eventInitialValues && !props.isCreate ? props.onEventSubmit(fields, eventInitialValues) : props.onEventSubmit(fields);
20
19
  };
21
- return (react_1["default"].createElement(Modal_1["default"], { title: eventInitialValues ? __('Редактирование события') : __('Новое событие'), onClose: props.onClose, className: bem.block(), shouldCloseOnEsc: true, shouldCloseOnOverlayClick: true },
20
+ return (react_1["default"].createElement(Modal_1["default"], { title: props.isCreate ? __('Новое событие') : __('Редактирование события'), onClose: props.onClose, className: bem.block(), shouldCloseOnEsc: true, shouldCloseOnOverlayClick: true },
22
21
  react_1["default"].createElement(form_1.Form, { className: bem.element('default-form'), onSubmit: function (fields) {
23
22
  callOnEventSubmit(fields);
24
23
  props.onClose();
25
- }, initialValues: eventInitialValues !== null && eventInitialValues !== void 0 ? eventInitialValues : null, submitLabel: (0, isEmpty_1["default"])(eventInitialValues) ? __('Создать') : __('Сохранить') },
24
+ }, initialValues: eventInitialValues !== null && eventInitialValues !== void 0 ? eventInitialValues : null, submitLabel: props.isCreate ? __('Создать') : __('Сохранить') },
26
25
  react_1["default"].createElement("div", null,
27
26
  react_1["default"].createElement(Text_1["default"], { content: __('Наименование'), className: bem.element('label') }),
28
27
  react_1["default"].createElement(form_1.InputField, { attribute: 'title', required: true, className: bem.element('name-field') }),
@@ -7,7 +7,7 @@ interface IMonthGridProps {
7
7
  getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
8
8
  weekDays: string[];
9
9
  openEditModal: (event: IEvent) => void;
10
- openCreateModal: () => void;
10
+ openCreateModal: (eventInitialDay?: IDay) => void;
11
11
  }
12
12
  declare function MonthGrid(props: IMonthGridProps): JSX.Element;
13
13
  declare const _default: React.MemoExoticComponent<typeof MonthGrid>;
@@ -5,7 +5,7 @@ interface IMonthDayProps {
5
5
  day: IDay;
6
6
  getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
7
7
  openEditModal: (event: IEvent) => void;
8
- openCreateModal: () => void;
8
+ openCreateModal: (eventInitialDay?: IDay) => void;
9
9
  }
10
10
  export default function MonthDay(props: IMonthDayProps): JSX.Element;
11
11
  export {};
@@ -21,6 +21,7 @@ var slice_1 = __importDefault(require("lodash-es/slice"));
21
21
  var get_1 = __importDefault(require("lodash-es/get"));
22
22
  var form_1 = require("@steroidsjs/core/ui/form");
23
23
  var useExpandClickAway_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/hooks/useExpandClickAway"));
24
+ var cloneDeep_1 = __importDefault(require("lodash-es/cloneDeep"));
24
25
  var getFormattedExpandLabel_1 = require("../../../../../utils/getFormattedExpandLabel");
25
26
  require("./MonthDay.scss");
26
27
  var SIXTH_ELEMENT_INDEX = 6;
@@ -51,13 +52,16 @@ function MonthDay(props) {
51
52
  var requiredEvent = events.filter(function (hourEvent) { return hourEvent.id === Number(eventId); })[0];
52
53
  props.openEditModal(requiredEvent);
53
54
  }, [events, props]);
55
+ var handleOnContextMenuCreateClick = react_1["default"].useCallback(function (e) {
56
+ e.preventDefault();
57
+ var day = (0, cloneDeep_1["default"])(props.day);
58
+ day.date.setHours(0, 0, 0, 0);
59
+ props.openCreateModal(day);
60
+ }, [props]);
54
61
  return (react_1["default"].createElement("div", { className: bem(bem.block({
55
62
  outOfRange: day.outOfRange,
56
63
  isToday: day.isToday
57
- })), ref: monthDayRef, onClick: handleEventClick, onContextMenu: function (e) {
58
- e.preventDefault();
59
- props.openCreateModal();
60
- } },
64
+ })), ref: monthDayRef, onClick: handleEventClick, onContextMenu: handleOnContextMenuCreateClick },
61
65
  react_1["default"].createElement("div", { className: bem.element('wrapper') },
62
66
  react_1["default"].createElement("span", { className: bem.element('number') }, day.dayNumber.toString()),
63
67
  react_1["default"].createElement("div", { className: bem.element('content', {
@@ -6,7 +6,7 @@ interface IWeekGridProps {
6
6
  allHours: string[];
7
7
  getEventsFromDate: (dateFromDay: Date, isMonth: boolean) => IEvent[];
8
8
  openEditModal: (event: IEvent) => void;
9
- openCreateModal: () => void;
9
+ openCreateModal: (eventInitialDay?: IDay) => void;
10
10
  }
11
11
  declare function WeekGrid(props: IWeekGridProps): JSX.Element;
12
12
  declare const _default: React.MemoExoticComponent<typeof WeekGrid>;
@@ -6,7 +6,7 @@ interface IWeekHourProps {
6
6
  getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
7
7
  hour: string;
8
8
  openEditModal: (event: IEvent) => void;
9
- openCreateModal: () => void;
9
+ openCreateModal: (eventInitialDay?: IDay) => void;
10
10
  }
11
11
  export default function WeekHour(props: IWeekHourProps): JSX.Element;
12
12
  export {};
@@ -22,6 +22,7 @@ var slice_1 = __importDefault(require("lodash-es/slice"));
22
22
  var get_1 = __importDefault(require("lodash-es/get"));
23
23
  var Tooltip_1 = __importDefault(require("@steroidsjs/core/ui/layout/Tooltip/Tooltip"));
24
24
  var useExpandClickAway_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/hooks/useExpandClickAway"));
25
+ var cloneDeep_1 = __importDefault(require("lodash-es/cloneDeep"));
25
26
  var getFormattedExpandLabel_1 = require("../../../../../utils/getFormattedExpandLabel");
26
27
  require("./WeekHour.scss");
27
28
  var FOURTH_ELEMENT_INDEX = 3;
@@ -59,16 +60,19 @@ function WeekHour(props) {
59
60
  var requiredEvent = events.filter(function (hourEvent) { return hourEvent.id === Number(eventId); })[0];
60
61
  props.openEditModal(requiredEvent);
61
62
  }, [events, props]);
63
+ var handleOnContextMenuCreateClick = react_1["default"].useCallback(function (e) {
64
+ e.preventDefault();
65
+ var day = (0, cloneDeep_1["default"])(props.dayOfWeek);
66
+ day.date.setHours(Number((0, calendar_1.convertDate)(props.hour, 'HH:mm', 'H')), 0, 0, 0);
67
+ props.openCreateModal(day);
68
+ }, [props]);
62
69
  return (react_1["default"].createElement("div", { className: bem.element('hour', {
63
70
  isToday: props.dayOfWeek.isToday,
64
71
  hasOneEvent: hasOneEvent,
65
72
  hasTwoEvents: hasTwoEvents,
66
73
  hasTreeEvents: hasTreeEvents,
67
74
  isExpanded: isExpanded
68
- }), ref: weekHourRef, onClick: handleEventClick, onContextMenu: function (e) {
69
- e.preventDefault();
70
- props.openCreateModal();
71
- } },
75
+ }), ref: weekHourRef, onClick: handleEventClick, onContextMenu: handleOnContextMenuCreateClick },
72
76
  events.map(renderEvent),
73
77
  hasMoreThanFourEvents && !isExpanded && (react_1["default"].createElement(form_1.Button, { link: true, className: bem.element('expand-button'), onClick: function () { return setIsExpanded(true); } }, formattedExpandLabel))));
74
78
  }
@@ -0,0 +1,2 @@
1
+ import { IDashboardItemViewProps } from '@steroidsjs/core/ui/content/Dashboard/Dashboard';
2
+ export default function DashboardItemView(props: IDashboardItemViewProps): JSX.Element;
@@ -0,0 +1,15 @@
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 hooks_1 = require("@steroidsjs/core/hooks");
8
+ var typography_1 = require("@steroidsjs/core/ui/typography");
9
+ function DashboardItemView(props) {
10
+ var bem = (0, hooks_1.useBem)('DashboardItemView');
11
+ return (react_1["default"].createElement("div", { className: bem.block() },
12
+ react_1["default"].createElement(typography_1.Title, { content: props.title, type: 'h3' }),
13
+ props.children));
14
+ }
15
+ exports["default"] = DashboardItemView;
@@ -0,0 +1,8 @@
1
+ @use "sass:map";
2
+ @use "../../scss/variables";
3
+
4
+ .DashboardItemView {
5
+ padding: 15px;
6
+ border-radius: 12px;
7
+ background-color: variables.$white;
8
+ }
@@ -45,7 +45,7 @@ function CreateOrEditTaskModalContentView(props) {
45
45
  }); }); }, []);
46
46
  return (react_1["default"].createElement(form_1.Form, { formId: props.formId, className: props.bem.element('form'), initialValues: props.task
47
47
  ? {
48
- columnId: props.columnId || '',
48
+ columnId: props.columnId || null,
49
49
  title: props.task.title || '',
50
50
  description: props.task.description || '',
51
51
  fullDescription: props.task.fullDescription || '',
@@ -53,7 +53,9 @@ function CreateOrEditTaskModalContentView(props) {
53
53
  priority: ((_b = props.task.priority) === null || _b === void 0 ? void 0 : _b.id) || null,
54
54
  assigner: ((_c = props.task.assigner) === null || _c === void 0 ? void 0 : _c.id) || null
55
55
  }
56
- : {}, onSubmit: function (data) {
56
+ : {
57
+ columnId: props.columnId || null
58
+ }, onSubmit: function (data) {
57
59
  var _a;
58
60
  props.onSubmit((_a = props.task) === null || _a === void 0 ? void 0 : _a.id, data, props.columnId);
59
61
  }, useRedux: true },
@@ -64,7 +66,7 @@ function CreateOrEditTaskModalContentView(props) {
64
66
  react_1["default"].createElement(form_1.InputField, { attribute: "title", size: "md", showClear: true, required: true, outline: true }),
65
67
  react_1["default"].createElement("div", { className: props.bem.element('sub-right') },
66
68
  react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Переместить в') }),
67
- react_1["default"].createElement(form_1.DropDownField, { attribute: 'columnId', selectedIds: [props.columnId], items: columns, size: "md", outline: true })))),
69
+ react_1["default"].createElement(form_1.DropDownField, { attribute: 'columnId', items: columns, size: "md", required: true, outline: true })))),
68
70
  react_1["default"].createElement("div", { className: props.bem.element('row') },
69
71
  react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Описание') }),
70
72
  react_1["default"].createElement("div", { className: props.bem.element('right', 'column') },
package/index.d.ts CHANGED
@@ -23,6 +23,9 @@ declare const _default: {
23
23
  'content.CalendarView': {
24
24
  lazy: () => any;
25
25
  };
26
+ 'content.DashboardItemView': {
27
+ lazy: () => any;
28
+ };
26
29
  'content.DetailView': {
27
30
  lazy: () => any;
28
31
  };
package/index.js CHANGED
@@ -26,6 +26,9 @@ exports["default"] = {
26
26
  'content.CalendarView': {
27
27
  lazy: function () { return require('./content/Calendar/CalendarView')["default"]; }
28
28
  },
29
+ 'content.DashboardItemView': {
30
+ lazy: function () { return require('./content/Dashboard/DashboardItemView')["default"]; }
31
+ },
29
32
  'content.DetailView': {
30
33
  lazy: function () { return require('./content/Detail/DetailView')["default"]; }
31
34
  },
package/index.scss CHANGED
@@ -17,6 +17,7 @@
17
17
  @include meta.load-css('content/CalendarSystem/CalendarSystemView');
18
18
  @include meta.load-css('content/CalendarSystem/CalendarSystemModal/CalendarSystemModalView');
19
19
  @include meta.load-css('content/Card/CardView');
20
+ @include meta.load-css('content/Dashboard/DashboardItemView');
20
21
  @include meta.load-css('content/Detail/DetailView');
21
22
  @include meta.load-css('content/DropDown/DropDownView');
22
23
  @include meta.load-css('content/Menu/MenuItemView');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.110",
3
+ "version": "3.0.0-beta.112",
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.94",
40
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.97",
41
41
  "@steroidsjs/eslint-config": "^2.1.4",
42
42
  "@types/enzyme": "^3.10.8",
43
43
  "@types/googlemaps": "^3.43.3",