@reltio/components 1.4.842 → 1.4.846

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.
Files changed (74) hide show
  1. package/components/AttributeSelector/AttributeSelector.d.ts +14 -0
  2. package/components/{activityLog/ActivityFilterEditor → AttributeSelector}/AttributeSelector.js +10 -10
  3. package/components/AttributeSelector/styles.d.ts +4 -0
  4. package/components/AttributeSelector/styles.js +41 -0
  5. package/components/BasicView/styles.js +14 -9
  6. package/components/DateIntervalSelector/DateIntervalSelector.d.ts +8 -0
  7. package/components/{activityLog/ActivityFilterEditor/IntervalSelector.js → DateIntervalSelector/DateIntervalSelector.js} +8 -17
  8. package/components/DateIntervalSelector/styles.d.ts +1 -0
  9. package/components/DateIntervalSelector/styles.js +25 -0
  10. package/components/DateRangePicker/styles.d.ts +1 -1
  11. package/components/ImageGalleryDialog/styles.d.ts +1 -1
  12. package/components/ReltioGridLayout/ReltioGridLayout.d.ts +6 -1
  13. package/components/ReltioGridLayout/ReltioGridLayout.js +43 -5
  14. package/components/ReltioGridLayout/helpers.d.ts +3 -0
  15. package/components/ReltioGridLayout/helpers.js +14 -1
  16. package/components/UploadImageDialog/ImageByUrlField/styles.d.ts +1 -1
  17. package/components/UserSelector/UserSelector.d.ts +9 -0
  18. package/components/{activityLog/ActivityFilterEditor → UserSelector}/UserSelector.js +6 -6
  19. package/components/UserSelector/styles.d.ts +5 -0
  20. package/components/UserSelector/styles.js +39 -0
  21. package/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.js +4 -4
  22. package/components/activityLog/ActivityFilterEditor/DateRangeSelector.d.ts +3 -3
  23. package/components/activityLog/ActivityFilterEditor/DateRangeSelector.js +6 -6
  24. package/components/activityLog/ActivityFilterEditor/styles.d.ts +1 -1
  25. package/components/activityLog/ActivityFilterEditor/styles.js +3 -32
  26. package/components/activityLog/ActivityLogFilter/helpers.js +1 -1
  27. package/components/activityLog/types/ActivitiesFilter.d.ts +2 -7
  28. package/components/activityLog/types/index.d.ts +1 -3
  29. package/components/activityLog/types/index.js +1 -3
  30. package/components/activityLog/utils/filters.d.ts +2 -2
  31. package/components/activityLog/utils/filters.js +1 -1
  32. package/components/attributes/inline/SimpleAttributeEditor/styles.d.ts +1 -1
  33. package/components/{activityLog/ActivityFilterEditor/ActivityDateRangeEditor.d.ts → editors/CustomDateRangeEditor/CustomDateRangeEditor.d.ts} +3 -3
  34. package/components/{activityLog/ActivityFilterEditor/ActivityDateRangeEditor.js → editors/CustomDateRangeEditor/CustomDateRangeEditor.js} +6 -5
  35. package/components/editors/CustomDateRangeEditor/styles.d.ts +1 -0
  36. package/components/editors/CustomDateRangeEditor/styles.js +25 -0
  37. package/components/editors/DateRangeEditor/styles.d.ts +1 -1
  38. package/components/history/DateRangeSelector/DateRangeSelector.d.ts +9 -0
  39. package/components/history/DateRangeSelector/DateRangeSelector.js +91 -0
  40. package/components/history/DateRangeSelector/styles.d.ts +1 -0
  41. package/components/history/DateRangeSelector/styles.js +22 -0
  42. package/components/history/DateRangeSelector/utils.d.ts +3 -0
  43. package/components/history/DateRangeSelector/utils.js +19 -0
  44. package/components/history/HistoryActivitySelector/HistoryActivitySelector.d.ts +9 -0
  45. package/components/history/HistoryActivitySelector/HistoryActivitySelector.js +27 -0
  46. package/components/history/HistoryActivitySelector/styles.d.ts +4 -0
  47. package/components/history/HistoryActivitySelector/styles.js +42 -0
  48. package/components/history/HistoryActivitySelector/utils.d.ts +3 -0
  49. package/components/history/HistoryActivitySelector/utils.js +23 -0
  50. package/components/history/HistoryFilterButton/HistoryFilterButton.d.ts +10 -0
  51. package/components/history/HistoryFilterButton/HistoryFilterButton.js +87 -0
  52. package/components/history/HistoryFilterButton/styles.d.ts +1 -1
  53. package/components/history/HistoryFilterButton/styles.js +26 -0
  54. package/components/history/HistoryHeader/HistoryHeader.d.ts +6 -1
  55. package/components/history/HistoryHeader/HistoryHeader.js +3 -3
  56. package/components/history/index.d.ts +2 -1
  57. package/components/history/index.js +13 -2
  58. package/components/history/types/HistoryFilter.d.ts +12 -0
  59. package/components/history/types/HistoryFilter.js +9 -0
  60. package/components/history/types/index.d.ts +2 -0
  61. package/components/history/types/index.js +5 -0
  62. package/hooks/useCollaboration.js +1 -1
  63. package/package.json +3 -3
  64. package/types/index.d.ts +19 -0
  65. package/types/index.js +7 -0
  66. package/components/activityLog/ActivityFilterEditor/AttributeSelector.d.ts +0 -10
  67. package/components/activityLog/ActivityFilterEditor/IntervalSelector.d.ts +0 -8
  68. package/components/activityLog/ActivityFilterEditor/UserSelector.d.ts +0 -7
  69. package/components/activityLog/types/AttributeOption.d.ts +0 -8
  70. package/components/activityLog/types/AttributeOption.js +0 -2
  71. package/components/activityLog/types/DateRangeTypes.d.ts +0 -5
  72. package/components/activityLog/types/DateRangeTypes.js +0 -9
  73. package/components/history/HistoryFilterButton/HistoryFilterBitton.d.ts +0 -3
  74. package/components/history/HistoryFilterButton/HistoryFilterBitton.js +0 -14
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { AttributeOption } from '../../types';
3
+ import { TEntityType } from '@reltio/mdm-sdk';
4
+ declare type Props = {
5
+ entityType: TEntityType;
6
+ selectedAttributes: AttributeOption[];
7
+ className?: string;
8
+ onChange?: (attributes: AttributeOption[]) => void;
9
+ title?: string;
10
+ disableUnderline?: boolean;
11
+ menuPlacement?: string;
12
+ };
13
+ declare const AttributeSelector: ({ entityType, selectedAttributes, className, onChange, title, disableUnderline, menuPlacement }: Props) => JSX.Element;
14
+ export default AttributeSelector;
@@ -52,13 +52,13 @@ var react_redux_1 = require("react-redux");
52
52
  var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
53
53
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
54
54
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
55
- var MultiSelect_1 = __importDefault(require("../../ReactSelect/MultiSelect"));
56
- var MultiValue_1 = __importDefault(require("../../ReactSelect/commonComponents/MultiValue"));
57
- var DropdownIndicatorWithIconButton_1 = __importDefault(require("../../commonReactSelectComponents/DropdownIndicatorWithIconButton"));
58
- var AttributeListItem_1 = __importDefault(require("../../AttributeListItem/AttributeListItem"));
55
+ var MultiSelect_1 = __importDefault(require("../ReactSelect/MultiSelect"));
56
+ var MultiValue_1 = __importDefault(require("../ReactSelect/commonComponents/MultiValue"));
57
+ var DropdownIndicatorWithIconButton_1 = __importDefault(require("../commonReactSelectComponents/DropdownIndicatorWithIconButton"));
58
+ var AttributeListItem_1 = __importDefault(require("../AttributeListItem/AttributeListItem"));
59
59
  var styles_1 = require("./styles");
60
60
  var AttributeSelector = function (_a) {
61
- var selectedAttributes = _a.selectedAttributes, entityType = _a.entityType, onChange = _a.onChange;
61
+ var entityType = _a.entityType, selectedAttributes = _a.selectedAttributes, className = _a.className, onChange = _a.onChange, title = _a.title, disableUnderline = _a.disableUnderline, _b = _a.menuPlacement, menuPlacement = _b === void 0 ? 'bottom' : _b;
62
62
  var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
63
63
  var styles = styles_1.useStyles();
64
64
  var prepareItems = react_1.useCallback(function (data, level, prevLabel) {
@@ -79,7 +79,7 @@ var AttributeSelector = function (_a) {
79
79
  return acc.concat(subAttributes ? prepareItems(subAttributes, level + 1, chipLabel) : []);
80
80
  }, []);
81
81
  }, [metadata]);
82
- var options = react_1.useMemo(function () { return prepareItems(entityType === null || entityType === void 0 ? void 0 : entityType.attributes); }, [entityType, prepareItems]);
82
+ var options = react_1.useMemo(function () { return prepareItems((entityType === null || entityType === void 0 ? void 0 : entityType.attributes) || []); }, [entityType, prepareItems]);
83
83
  var CustomOption = function (_a) {
84
84
  var isFocused = _a.isFocused, isSelected = _a.isSelected, data = _a.data, label = _a.label, innerProps = _a.innerProps;
85
85
  return (react_1.default.createElement("div", __assign({}, innerProps),
@@ -89,15 +89,15 @@ var AttributeSelector = function (_a) {
89
89
  var data = _a.data, props = __rest(_a, ["data"]);
90
90
  return (react_1.default.createElement(MultiValue_1.default, __assign({}, props), data.chipLabel));
91
91
  };
92
- return (react_1.default.createElement("div", { className: styles.borderBottom },
93
- react_1.default.createElement(Typography_1.default, { className: classnames_1.default(styles.filterSubtitle, styles.labels), variant: 'subtitle1' }, ui_i18n_1.default.text('Attribute')),
92
+ return (react_1.default.createElement("div", { className: classnames_1.default(styles.root, className) },
93
+ react_1.default.createElement(Typography_1.default, { className: styles.title, variant: 'subtitle1' }, title || ui_i18n_1.default.text('Attribute')),
94
94
  react_1.default.createElement(MultiSelect_1.default, { value: selectedAttributes, options: options, TextFieldProps: {
95
- InputProps: { disableUnderline: true },
95
+ InputProps: { disableUnderline: disableUnderline },
96
96
  classes: { root: styles.dropDownInput }
97
97
  }, components: {
98
98
  DropdownIndicator: DropdownIndicatorWithIconButton_1.default,
99
99
  MultiValue: CustomMultiValue,
100
100
  Option: CustomOption
101
- }, onChange: ramda_1.pipe(ramda_1.defaultTo([]), onChange), styles: styles_1.customStyles, classes: styles, menuPlacement: "bottom" })));
101
+ }, onChange: ramda_1.pipe(ramda_1.defaultTo([]), onChange), styles: styles_1.customStyles, classes: styles, menuPlacement: menuPlacement })));
102
102
  };
103
103
  exports.default = AttributeSelector;
@@ -0,0 +1,4 @@
1
+ export declare const customStyles: {
2
+ input: (currentStyles: any) => any;
3
+ };
4
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"option" | "title" | "root" | "dropDownInput" | "noOptionsMessage">;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useStyles = exports.customStyles = void 0;
15
+ var styles_1 = require("@material-ui/core/styles");
16
+ exports.customStyles = {
17
+ input: function (currentStyles) { return (__assign(__assign({}, currentStyles), { fontSize: '14px' })); }
18
+ };
19
+ exports.useStyles = styles_1.makeStyles({
20
+ root: {
21
+ flex: 1
22
+ },
23
+ title: {
24
+ paddingBottom: '10px',
25
+ paddingLeft: '5px',
26
+ fontSize: '14px'
27
+ },
28
+ dropDownInput: {
29
+ width: '100%',
30
+ justifyContent: 'center',
31
+ backgroundColor: 'rgba(0, 0, 0, 0.03)',
32
+ borderTop: '4px'
33
+ },
34
+ option: {
35
+ fontSize: '14px',
36
+ height: '32px'
37
+ },
38
+ noOptionsMessage: {
39
+ fontSize: '14px'
40
+ }
41
+ });
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.useStyles = void 0;
4
15
  var styles_1 = require("@material-ui/core/styles");
5
- exports.useStyles = styles_1.makeStyles({
6
- 'basic-view__paper': {
7
- display: 'flex',
8
- flexDirection: 'column',
9
- boxShadow: '0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2)',
10
- borderRadius: '3px',
11
- backgroundColor: '#FFFFFF'
12
- }
13
- });
16
+ exports.useStyles = styles_1.makeStyles(function (theme) { return ({
17
+ 'basic-view__paper': __assign({ display: 'flex', flexDirection: 'column' }, theme.basicView)
18
+ }); });
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ interval: [number, string];
4
+ onChange: ([number, string]: [any, any]) => void;
5
+ onFocus?: () => void;
6
+ };
7
+ declare const DateIntervalSelector: ({ interval: [value, unit], onChange, onFocus }: Props) => JSX.Element;
8
+ export default DateIntervalSelector;
@@ -5,12 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
7
  var ramda_1 = require("ramda");
8
- var classnames_1 = __importDefault(require("classnames"));
9
8
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
10
9
  var capitalize_1 = __importDefault(require("@material-ui/core/utils/capitalize"));
11
10
  var TextField_1 = __importDefault(require("@material-ui/core/TextField"));
12
- var SimpleDropDownSelector_1 = __importDefault(require("../../SimpleDropDownSelector/SimpleDropDownSelector"));
13
- var utils_1 = require("../../../core/utils");
11
+ var SimpleDropDownSelector_1 = __importDefault(require("../SimpleDropDownSelector/SimpleDropDownSelector"));
12
+ var utils_1 = require("../../core/utils");
14
13
  var styles_1 = require("./styles");
15
14
  var periods = [
16
15
  ui_i18n_1.default.text('minutes'),
@@ -20,7 +19,7 @@ var periods = [
20
19
  ui_i18n_1.default.text('months'),
21
20
  ui_i18n_1.default.text('years')
22
21
  ];
23
- var IntervalSelector = function (_a) {
22
+ var DateIntervalSelector = function (_a) {
24
23
  var _b = _a.interval, value = _b[0], unit = _b[1], onChange = _a.onChange, onFocus = _a.onFocus;
25
24
  var styles = styles_1.useStyles();
26
25
  var getIntervalFromValue = function (newValue) { return [newValue, unit]; };
@@ -30,22 +29,14 @@ var IntervalSelector = function (_a) {
30
29
  };
31
30
  var onNumberChange = ramda_1.pipe(utils_1.getValue, parseInt, getIntervalFromValue, onChange);
32
31
  var onUnitChange = ramda_1.pipe(getIntervalFromUnit, onChange);
33
- return (react_1.default.createElement("div", { className: styles.intervalContainer },
34
- react_1.default.createElement(TextField_1.default, { type: "number", value: value || '', onChange: onNumberChange, inputProps: { min: 1, onFocus: onFocus }, InputProps: {
35
- classes: {
36
- root: classnames_1.default(styles.input, styles.labels)
37
- }
38
- }, className: classnames_1.default(styles.dateInput, styles.dateInputNumber) }),
39
- react_1.default.createElement(SimpleDropDownSelector_1.default, { label: '', placeholder: capitalize_1.default(unit), className: classnames_1.default(styles.dateInputPeriod), value: { value: unit, label: capitalize_1.default(unit) }, options: periods.map(function (value) { return ({
32
+ return (react_1.default.createElement("div", { className: styles.root },
33
+ react_1.default.createElement(TextField_1.default, { type: "number", value: value || '', onChange: onNumberChange, inputProps: { min: 1, onFocus: onFocus }, InputProps: { classes: { root: styles.input } }, className: styles.inputNumber }),
34
+ react_1.default.createElement(SimpleDropDownSelector_1.default, { label: '', placeholder: capitalize_1.default(unit), className: styles.inputUnit, value: { value: unit, label: capitalize_1.default(unit) }, options: periods.map(function (value) { return ({
40
35
  value: value,
41
36
  label: capitalize_1.default(value)
42
37
  }); }), onChange: onUnitChange, TextFieldProps: {
43
38
  inputProps: { onFocus: onFocus },
44
- InputProps: {
45
- classes: {
46
- root: classnames_1.default(styles.input, styles.labels)
47
- }
48
- }
39
+ InputProps: { classes: { root: styles.input } }
49
40
  } })));
50
41
  };
51
- exports.default = IntervalSelector;
42
+ exports.default = DateIntervalSelector;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"input" | "root" | "inputNumber" | "inputUnit">;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@material-ui/core/styles");
5
+ exports.useStyles = styles_1.makeStyles({
6
+ root: {
7
+ display: 'flex',
8
+ flex: 1
9
+ },
10
+ input: {
11
+ height: '100%',
12
+ paddingLeft: '12px',
13
+ paddingRight: '8px',
14
+ fontSize: '14px'
15
+ },
16
+ inputNumber: {
17
+ minWidth: '60px',
18
+ marginRight: 10,
19
+ height: '100%',
20
+ backgroundColor: 'rgba(0, 0, 0, 0.03)'
21
+ },
22
+ inputUnit: {
23
+ width: '100%'
24
+ }
25
+ });
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"title" | "button" | "header" | "container" | "dateInput" | "actionButtons" | "dateRangeContainer">;
1
+ export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"title" | "button" | "header" | "container" | "actionButtons" | "dateRangeContainer" | "dateInput">;
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"content" | "toolbar" | "paper" | "backdrop" | "closeIcon" | "appBar" | "closeButton" | "headerLeft" | "headerCenter" | "headerRight" | "modeSwitcher">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"content" | "toolbar" | "backdrop" | "paper" | "closeIcon" | "appBar" | "closeButton" | "headerLeft" | "headerCenter" | "headerRight" | "modeSwitcher">;
@@ -1,5 +1,5 @@
1
1
  declare var _default: React.MemoExoticComponent<{
2
- ({ views, layout, layoutOptions, onLayoutChanged, draggableHandle, LayoutItem, onRemove, onDrop, droppingItem, isDroppable }: {
2
+ ({ views, layout, layoutOptions, onLayoutChanged, draggableHandle, LayoutItem, onRemove, onDrop, droppingItem, isDroppable, classes }: {
3
3
  views: any;
4
4
  layout: any;
5
5
  layoutOptions: any;
@@ -10,6 +10,7 @@ declare var _default: React.MemoExoticComponent<{
10
10
  onDrop: any;
11
11
  droppingItem: any;
12
12
  isDroppable: any;
13
+ classes: any;
13
14
  }): JSX.Element;
14
15
  defaultProps: {
15
16
  layoutOptions: {
@@ -19,6 +20,7 @@ declare var _default: React.MemoExoticComponent<{
19
20
  };
20
21
  onConfigChanged: any;
21
22
  onLayoutChanged: any;
23
+ classes: {};
22
24
  };
23
25
  propTypes: {
24
26
  views: PropTypes.Requireable<any[]>;
@@ -32,6 +34,9 @@ declare var _default: React.MemoExoticComponent<{
32
34
  draggableHandle: PropTypes.Requireable<string>;
33
35
  isDroppable: PropTypes.Requireable<boolean>;
34
36
  droppingItem: PropTypes.Requireable<object>;
37
+ classes: PropTypes.Requireable<PropTypes.InferProps<{
38
+ item: PropTypes.Requireable<string>;
39
+ }>>;
35
40
  };
36
41
  }>;
37
42
  export default _default;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -32,14 +43,14 @@ var helpers_1 = require("./helpers");
32
43
  var styles_1 = require("./styles");
33
44
  var ReltioGridLayout = function (_a) {
34
45
  var _b;
35
- var views = _a.views, layout = _a.layout, layoutOptions = _a.layoutOptions, onLayoutChanged = _a.onLayoutChanged, draggableHandle = _a.draggableHandle, LayoutItem = _a.LayoutItem, onRemove = _a.onRemove, onDrop = _a.onDrop, droppingItem = _a.droppingItem, isDroppable = _a.isDroppable;
46
+ var views = _a.views, layout = _a.layout, layoutOptions = _a.layoutOptions, onLayoutChanged = _a.onLayoutChanged, draggableHandle = _a.draggableHandle, LayoutItem = _a.LayoutItem, onRemove = _a.onRemove, onDrop = _a.onDrop, droppingItem = _a.droppingItem, isDroppable = _a.isDroppable, classes = _a.classes;
36
47
  var ref = react_1.useRef();
37
48
  var styles = styles_1.useStyles();
38
49
  var _c = react_1.useState(null), fullscreenItemId = _c[0], setFullscreenItemId = _c[1];
39
50
  var _d = react_1.useState(0), width = _d[0], setWidth = _d[1];
40
51
  var cols = layoutOptions.cols, rowHeight = layoutOptions.rowHeight, margin = layoutOptions.margin;
41
52
  var processedLayout = react_1.useMemo(function () { return helpers_1.reltioLayoutToReactGridLayout(layout); }, [layout]);
42
- var onReltioLayoutChanged = ramda_1.pipe(helpers_1.reactGridLayoutToReltioLayout, onLayoutChanged);
53
+ var onReltioLayoutChanged = ramda_1.pipe(helpers_1.reactGridLayoutToReltioLayout, helpers_1.copyPropsFromPreviousLayout(['autosizing'], layout), onLayoutChanged);
43
54
  var handleDrop = function (layout, layoutItem, e) {
44
55
  if (onDrop) {
45
56
  onDrop(helpers_1.reactGridLayoutToReltioLayout(layout), helpers_1.reactGridLayoutItemToReltioLayoutItem(layoutItem), e);
@@ -47,11 +58,34 @@ var ReltioGridLayout = function (_a) {
47
58
  };
48
59
  var onToggleFullscreen = react_1.useCallback(function (id) { return setFullscreenItemId(function (prevId) { return (prevId ? null : id); }); }, []);
49
60
  var isFullscreenEnabled = fullscreenItemId !== null;
61
+ var onItemHeightResize = react_1.useCallback(function (height, layoutId) {
62
+ var isLayoutChanged = false;
63
+ var newLayout = layout.map(function (layoutItem) {
64
+ if (layoutItem.id === layoutId && height) {
65
+ var newHeight = helpers_1.calcHeight(height, layoutOptions);
66
+ if (layoutItem.height !== newHeight) {
67
+ isLayoutChanged = true;
68
+ return __assign(__assign({}, layoutItem), { minHeight: newHeight, maxHeight: newHeight, height: newHeight });
69
+ }
70
+ }
71
+ return layoutItem;
72
+ });
73
+ if (isLayoutChanged) {
74
+ onLayoutChanged(newLayout);
75
+ }
76
+ }, [layout, layoutOptions, onLayoutChanged]);
77
+ var getAutosizeComponent = function (layoutItemId) {
78
+ return (react_1.default.createElement(react_resize_detector_1.default, { handleHeight: true, onResize: function (width, height) {
79
+ onItemHeightResize(height, layoutItemId);
80
+ } }));
81
+ };
50
82
  return (react_1.default.createElement(react_1.default.Fragment, null,
51
83
  react_1.default.createElement(react_resize_detector_1.default, { refreshMode: "debounce", refreshRate: 50, handleWidth: true, onResize: function (width) { return setWidth(width); } }),
52
84
  react_1.default.createElement(react_grid_layout_1.default, { innerRef: ref, layout: processedLayout, cols: cols, draggableHandle: draggableHandle, autoSize: true, rowHeight: rowHeight, width: width, margin: margin, onLayoutChange: onReltioLayoutChanged, isResizable: !isFullscreenEnabled, isDraggable: !isFullscreenEnabled, className: classnames_1.default(styles.gridLayout, (_b = {}, _b[styles.gridFullscreen] = isFullscreenEnabled, _b)), onDrop: handleDrop, droppingItem: droppingItem, isDroppable: isDroppable }, processedLayout.map(function (layoutItem) {
53
85
  var isItemFullscreen = fullscreenItemId === layoutItem.i;
54
- return (react_1.default.createElement(LayoutItem, { key: layoutItem.i, layoutItemConfig: layoutItem, views: views, onToggleFullscreen: onToggleFullscreen, onRemove: onRemove, className: classnames_1.default({ fullscreen: isItemFullscreen }), isFullscreen: isItemFullscreen }));
86
+ var isAutosize = (helpers_1.getReltioLayoutItemById(layout, layoutItem.i) || {}).autosizing;
87
+ var autosizeComponent = isAutosize ? { AutosizeComponent: getAutosizeComponent(layoutItem.i) } : {};
88
+ return (react_1.default.createElement(LayoutItem, __assign({ key: layoutItem.i, layoutItemConfig: layoutItem, views: views, onToggleFullscreen: onToggleFullscreen, onRemove: onRemove, className: classnames_1.default({ fullscreen: isItemFullscreen }, classes.item), isFullscreen: isItemFullscreen }, autosizeComponent)));
55
89
  }))));
56
90
  };
57
91
  ReltioGridLayout.defaultProps = {
@@ -61,7 +95,8 @@ ReltioGridLayout.defaultProps = {
61
95
  margin: [15, 15]
62
96
  },
63
97
  onConfigChanged: ramda_1.identity,
64
- onLayoutChanged: ramda_1.identity
98
+ onLayoutChanged: ramda_1.identity,
99
+ classes: {}
65
100
  };
66
101
  ReltioGridLayout.propTypes = {
67
102
  views: prop_types_1.default.array,
@@ -74,6 +109,9 @@ ReltioGridLayout.propTypes = {
74
109
  LayoutItem: prop_types_1.default.elementType,
75
110
  draggableHandle: prop_types_1.default.string,
76
111
  isDroppable: prop_types_1.default.bool,
77
- droppingItem: prop_types_1.default.object
112
+ droppingItem: prop_types_1.default.object,
113
+ classes: prop_types_1.default.shape({
114
+ item: prop_types_1.default.string
115
+ })
78
116
  };
79
117
  exports.default = react_1.memo(ReltioGridLayout);
@@ -47,3 +47,6 @@ export function reactGridLayoutItemToReltioLayoutItem({ x, y, w, h, maxW, minW,
47
47
  };
48
48
  export function reltioLayoutToReactGridLayout(layout: any): any;
49
49
  export function reactGridLayoutToReltioLayout(layout: any): any;
50
+ export const getReltioLayoutItemById: any;
51
+ export const copyPropsFromPreviousLayout: any;
52
+ export function calcHeight(height: any, options: any): number;
@@ -11,7 +11,8 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.reactGridLayoutToReltioLayout = exports.reltioLayoutToReactGridLayout = exports.reactGridLayoutItemToReltioLayoutItem = exports.reltioLayoutItemToReactGridLayoutItem = exports.getReltioViewId = void 0;
14
+ exports.calcHeight = exports.copyPropsFromPreviousLayout = exports.getReltioLayoutItemById = exports.reactGridLayoutToReltioLayout = exports.reltioLayoutToReactGridLayout = exports.reactGridLayoutItemToReltioLayoutItem = exports.reltioLayoutItemToReactGridLayoutItem = exports.getReltioViewId = void 0;
15
+ var ramda_1 = require("ramda");
15
16
  var getReltioViewId = function (id) { return id.split(/\d+_/)[1]; };
16
17
  exports.getReltioViewId = getReltioViewId;
17
18
  var reltioLayoutItemToReactGridLayoutItem = function (_a) {
@@ -50,3 +51,15 @@ var reltioLayoutToReactGridLayout = function (layout) { return (layout || []).ma
50
51
  exports.reltioLayoutToReactGridLayout = reltioLayoutToReactGridLayout;
51
52
  var reactGridLayoutToReltioLayout = function (layout) { return (layout || []).map(exports.reactGridLayoutItemToReltioLayoutItem); };
52
53
  exports.reactGridLayoutToReltioLayout = reactGridLayoutToReltioLayout;
54
+ exports.getReltioLayoutItemById = ramda_1.curry(function (layout, id) { return (layout || []).find(ramda_1.propEq('id', id)); });
55
+ var updateExtraPropsInLayoutItem = ramda_1.curry(function (props, from, to) { return ramda_1.mergeAll([to, ramda_1.pick(props, from)]); });
56
+ exports.copyPropsFromPreviousLayout = ramda_1.curry(function (props, oldReltioLayout, reltioLayout) {
57
+ return (reltioLayout || []).map(function (layoutItem) {
58
+ return ramda_1.pipe(ramda_1.prop('id'), exports.getReltioLayoutItemById(oldReltioLayout), ramda_1.defaultTo({}), updateExtraPropsInLayoutItem(props, ramda_1.__, layoutItem))(layoutItem);
59
+ });
60
+ });
61
+ var calcHeight = function (height, options) {
62
+ var margin = options.margin, rowHeight = options.rowHeight;
63
+ return Math.ceil((height + margin[1]) / (rowHeight + margin[1]));
64
+ };
65
+ exports.calcHeight = calcHeight;
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"errorMessage" | "input" | "root" | "paper" | "inputRoot">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"errorMessage" | "input" | "root" | "inputRoot" | "paper">;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ selectedUsers: string[];
4
+ onChange: (activities: string[]) => void;
5
+ className?: string;
6
+ disableUnderline?: boolean;
7
+ };
8
+ declare const UserSelector: ({ selectedUsers, onChange, className, disableUnderline }: Props) => JSX.Element;
9
+ export default UserSelector;
@@ -28,13 +28,13 @@ var ui_i18n_1 = __importDefault(require("ui-i18n"));
28
28
  var ramda_1 = require("ramda");
29
29
  var classnames_1 = __importDefault(require("classnames"));
30
30
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
31
- var MultiSelect_1 = __importDefault(require("../../ReactSelect/MultiSelect"));
32
- var DropdownIndicatorWithIconButton_1 = __importDefault(require("../../commonReactSelectComponents/DropdownIndicatorWithIconButton"));
31
+ var MultiSelect_1 = __importDefault(require("../ReactSelect/MultiSelect"));
32
+ var DropdownIndicatorWithIconButton_1 = __importDefault(require("../commonReactSelectComponents/DropdownIndicatorWithIconButton"));
33
33
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
34
34
  var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
35
35
  var styles_1 = require("./styles");
36
36
  var UserSelector = function (_a) {
37
- var selectedUsers = _a.selectedUsers, onChange = _a.onChange;
37
+ var selectedUsers = _a.selectedUsers, onChange = _a.onChange, className = _a.className, disableUnderline = _a.disableUnderline;
38
38
  var styles = styles_1.useStyles();
39
39
  var valueToOption = function (value) { return ({ value: value, label: value }); };
40
40
  var prepareValues = function (values) { return values.map(valueToOption); };
@@ -50,10 +50,10 @@ var UserSelector = function (_a) {
50
50
  }
51
51
  return cachedRequest.current.then(ramda_1.pipe(ramda_1.prop('array'), ramda_1.pluck('username'), filterUsers(inputValue), prepareValues));
52
52
  };
53
- return (react_1.default.createElement("div", null,
54
- react_1.default.createElement(Typography_1.default, { className: classnames_1.default(styles.filterSubtitle, styles.labels), variant: 'subtitle1' }, ui_i18n_1.default.text('User')),
53
+ return (react_1.default.createElement("div", { className: classnames_1.default(styles.root, className) },
54
+ react_1.default.createElement(Typography_1.default, { className: styles.title, variant: 'subtitle1' }, ui_i18n_1.default.text('User')),
55
55
  react_1.default.createElement(MultiSelect_1.default, { value: prepareValues(selectedUsers), onChange: ramda_1.pipe(ramda_1.defaultTo([]), ramda_1.pluck('value'), onChange), defaultOptions: true, getOptions: getOptions, TextFieldProps: {
56
- InputProps: { disableUnderline: true },
56
+ InputProps: { disableUnderline: disableUnderline },
57
57
  className: styles.dropDownInput
58
58
  }, components: {
59
59
  DropdownIndicator: DropdownIndicatorWithIconButton_1.default
@@ -0,0 +1,5 @@
1
+ export declare const customStyles: {
2
+ input: (currentStyles: any) => any;
3
+ loadingMessage: (currentStyles: any) => any;
4
+ };
5
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"option" | "title" | "root" | "dropDownInput">;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useStyles = exports.customStyles = void 0;
15
+ var styles_1 = require("@material-ui/core/styles");
16
+ exports.customStyles = {
17
+ input: function (currentStyles) { return (__assign(__assign({}, currentStyles), { fontSize: '14px' })); },
18
+ loadingMessage: function (currentStyles) { return (__assign(__assign({}, currentStyles), { fontSize: '14px' })); }
19
+ };
20
+ exports.useStyles = styles_1.makeStyles({
21
+ root: {
22
+ flex: 1
23
+ },
24
+ title: {
25
+ paddingBottom: '10px',
26
+ paddingLeft: '5px',
27
+ fontSize: '14px'
28
+ },
29
+ dropDownInput: {
30
+ width: '100%',
31
+ justifyContent: 'center',
32
+ backgroundColor: 'rgba(0, 0, 0, 0.03)',
33
+ borderTop: '4px'
34
+ },
35
+ option: {
36
+ fontSize: '14px',
37
+ height: '32px'
38
+ }
39
+ });
@@ -42,9 +42,9 @@ var Button_1 = __importDefault(require("@material-ui/core/Button"));
42
42
  var types_1 = require("../types");
43
43
  var getSelectorActivityTypes_1 = require("./utils/getSelectorActivityTypes");
44
44
  var ActivitySelector_1 = __importDefault(require("./ActivitySelector"));
45
- var AttributeSelector_1 = __importDefault(require("./AttributeSelector"));
45
+ var AttributeSelector_1 = __importDefault(require("../../AttributeSelector/AttributeSelector"));
46
46
  var SourceSelector_1 = __importDefault(require("./SourceSelector"));
47
- var UserSelector_1 = __importDefault(require("./UserSelector"));
47
+ var UserSelector_1 = __importDefault(require("../../UserSelector/UserSelector"));
48
48
  var DateRangeSelector_1 = __importDefault(require("./DateRangeSelector"));
49
49
  var hooks_1 = require("../../../hooks");
50
50
  var ramda_1 = require("ramda");
@@ -69,10 +69,10 @@ var ActivityFilterEditor = function (_a) {
69
69
  var ActivityFilterRenderer = (react_1.default.createElement(react_1.default.Fragment, null,
70
70
  react_1.default.createElement(ActivitySelector_1.default, { activityTypes: getSelectorActivityTypes_1.getSelectorActivityTypes(metadata, entityType), selectedActivityTypes: activities, onChange: handlePropChange('activities') }),
71
71
  hasEntityChanged && entityType && (react_1.default.createElement(react_1.default.Fragment, null,
72
- react_1.default.createElement(AttributeSelector_1.default, { selectedAttributes: attributes, entityType: entityType, onChange: handlePropChange('attributes') }),
72
+ react_1.default.createElement(AttributeSelector_1.default, { selectedAttributes: attributes, entityType: entityType, onChange: handlePropChange('attributes'), className: styles.borderBottom, disableUnderline: true }),
73
73
  react_1.default.createElement(SourceSelector_1.default, { selectedSources: sources, onChange: handlePropChange('sources') }))),
74
74
  react_1.default.createElement(DateRangeSelector_1.default, { value: dateRange, onChange: handlePropChange('dateRange') }),
75
- react_1.default.createElement(UserSelector_1.default, { selectedUsers: users, onChange: handlePropChange('users') }),
75
+ react_1.default.createElement(UserSelector_1.default, { selectedUsers: users, onChange: handlePropChange('users'), disableUnderline: true }),
76
76
  react_1.default.createElement("div", { className: classnames_1.default(styles.borderBottom, styles.filterControls) },
77
77
  react_1.default.createElement(Button_1.default, { onClick: ramda_1.pipe(clearCurrentValue, onClear), className: styles.clearButton }, ui_i18n_1.default.text('Clear all')),
78
78
  react_1.default.createElement(Button_1.default, { onClick: onCancel }, ui_i18n_1.default.text('Cancel')),
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { ActivitiesFilterDateRange } from '../types';
2
+ import { DateRangeFilter } from '../../../types';
3
3
  declare type Props = {
4
- value: ActivitiesFilterDateRange;
5
- onChange: (range: ActivitiesFilterDateRange) => void;
4
+ value: DateRangeFilter;
5
+ onChange: (range: DateRangeFilter) => void;
6
6
  };
7
7
  declare const DateRangeSelector: ({ value, onChange }: Props) => JSX.Element;
8
8
  export default DateRangeSelector;
@@ -41,10 +41,10 @@ var FormControlLabel_1 = __importDefault(require("@material-ui/core/FormControlL
41
41
  var Radio_1 = __importDefault(require("@material-ui/core/Radio"));
42
42
  var RadioGroup_1 = __importDefault(require("@material-ui/core/RadioGroup"));
43
43
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
44
- var types_1 = require("../types");
45
- var IntervalSelector_1 = __importDefault(require("./IntervalSelector"));
44
+ var types_1 = require("../../../types");
45
+ var DateIntervalSelector_1 = __importDefault(require("../../DateIntervalSelector/DateIntervalSelector"));
46
46
  var utils_1 = require("../../../core/utils");
47
- var ActivityDateRangeEditor_1 = __importDefault(require("./ActivityDateRangeEditor"));
47
+ var CustomDateRangeEditor_1 = __importDefault(require("../../editors/CustomDateRangeEditor/CustomDateRangeEditor"));
48
48
  var hooks_1 = require("../../../hooks");
49
49
  var styles_1 = require("./styles");
50
50
  var emptyDates = [null, null];
@@ -108,13 +108,13 @@ var DateRangeSelector = function (_a) {
108
108
  react_1.default.createElement(RadioGroup_1.default, { value: (value === null || value === void 0 ? void 0 : value.type) || null, onChange: ramda_1.pipe(utils_1.getValue, changeType) },
109
109
  react_1.default.createElement("div", { className: styles.dateOptionWithin },
110
110
  react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.WITHIN, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('Within the last'), classes: { label: classnames_1.default(styles.dateOptionLabel, styles.labels) } }),
111
- react_1.default.createElement(IntervalSelector_1.default, { interval: withinInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.WITHIN); } })),
111
+ react_1.default.createElement(DateIntervalSelector_1.default, { interval: withinInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.WITHIN); } })),
112
112
  react_1.default.createElement("div", { className: styles.dateOptionAgo },
113
113
  react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.AGO, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('More than'), classes: { label: classnames_1.default(styles.dateOptionLabel, styles.labels) } }),
114
- react_1.default.createElement(IntervalSelector_1.default, { interval: agoInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.AGO); } }),
114
+ react_1.default.createElement(DateIntervalSelector_1.default, { interval: agoInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.AGO); } }),
115
115
  react_1.default.createElement(Typography_1.default, { className: classnames_1.default(styles.agoLabel, styles.labels), variant: 'subtitle1' }, ui_i18n_1.default.text('Ago'))),
116
116
  react_1.default.createElement("div", { className: styles.dateOption },
117
117
  react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.BETWEEN, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('Date range'), classes: { label: classnames_1.default(styles.dateOptionLabel, styles.labels) } }),
118
- react_1.default.createElement(ActivityDateRangeEditor_1.default, { values: datesInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.BETWEEN); } })))));
118
+ react_1.default.createElement(CustomDateRangeEditor_1.default, { values: datesInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.BETWEEN); } })))));
119
119
  };
120
120
  exports.default = DateRangeSelector;
@@ -1,4 +1,4 @@
1
1
  export declare const customStyles: {
2
2
  input: (currentStyles: any) => any;
3
3
  };
4
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"option" | "borderBottom" | "input" | "container" | "labels" | "filterSubtitle" | "agoLabel" | "dateOption" | "dateOptionAgo" | "dateOptionWithin" | "dateRangeRoot" | "dateInput" | "dateInputNumber" | "dateInputPeriod" | "dateOptionLabel" | "dropDownInput" | "activityPlaceholder" | "filterControls" | "clearButton" | "paper" | "intervalContainer">;
4
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"option" | "borderBottom" | "container" | "labels" | "filterSubtitle" | "agoLabel" | "dateOption" | "dateOptionAgo" | "dateOptionWithin" | "dateOptionLabel" | "dropDownInput" | "filterControls" | "clearButton">;