@reltio/components 1.4.1411 → 1.4.1412
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/cjs/components/activityLog/ActivityFilterButton/ActivityFilterButton.d.ts +10 -0
- package/cjs/components/activityLog/ActivityFilterButton/ActivityFilterButton.js +63 -0
- package/cjs/components/activityLog/ActivityFilterButton/styles.d.ts +1 -0
- package/cjs/components/activityLog/ActivityFilterButton/styles.js +13 -0
- package/cjs/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.d.ts +2 -1
- package/cjs/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.js +5 -4
- package/cjs/components/activityLog/ActivityFilterEditor/styles.js +4 -4
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilter.js +17 -37
- package/cjs/components/activityLog/ActivityLogFilter/styles.d.ts +1 -1
- package/cjs/components/activityLog/ActivityLogFilter/styles.js +2 -9
- package/esm/components/activityLog/ActivityFilterButton/ActivityFilterButton.d.ts +10 -0
- package/esm/components/activityLog/ActivityFilterButton/ActivityFilterButton.js +35 -0
- package/esm/components/activityLog/ActivityFilterButton/styles.d.ts +1 -0
- package/esm/components/activityLog/ActivityFilterButton/styles.js +10 -0
- package/esm/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.d.ts +2 -1
- package/esm/components/activityLog/ActivityFilterEditor/ActivityFilterEditor.js +5 -4
- package/esm/components/activityLog/ActivityFilterEditor/styles.js +4 -4
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilter.js +17 -14
- package/esm/components/activityLog/ActivityLogFilter/styles.d.ts +1 -1
- package/esm/components/activityLog/ActivityLogFilter/styles.js +3 -10
- package/package.json +3 -3
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.d.ts +0 -10
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.js +0 -27
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.d.ts +0 -10
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.js +0 -22
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TEntityType } from '@reltio/mdm-sdk';
|
|
3
|
+
import { ActivitiesFilter } from '../types';
|
|
4
|
+
declare type Props = {
|
|
5
|
+
filter: ActivitiesFilter;
|
|
6
|
+
entityType: TEntityType;
|
|
7
|
+
onChange: (value: ActivitiesFilter) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const ActivityFilterButton: ({ filter, entityType, onChange }: Props) => JSX.Element;
|
|
10
|
+
export default ActivityFilterButton;
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var react_1 = __importStar(require("react"));
|
|
41
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
42
|
+
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
43
|
+
var ramda_1 = require("ramda");
|
|
44
|
+
var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
|
|
45
|
+
var ActivityFilterEditor_1 = __importDefault(require("../ActivityFilterEditor/ActivityFilterEditor"));
|
|
46
|
+
var SmallIconButton_1 = require("../../SmallIconButton");
|
|
47
|
+
var styles_1 = require("./styles");
|
|
48
|
+
var ActivityFilterButton = function (_a) {
|
|
49
|
+
var filter = _a.filter, entityType = _a.entityType, onChange = _a.onChange;
|
|
50
|
+
var styles = (0, styles_1.useStyles)();
|
|
51
|
+
var buttonRef = (0, react_1.useRef)();
|
|
52
|
+
var initialValue = (0, react_1.useRef)(filter);
|
|
53
|
+
var _b = (0, react_1.useState)(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
|
|
54
|
+
var isApplied = !(0, ramda_1.equals)(filter, initialValue.current);
|
|
55
|
+
var handleChange = function (value) {
|
|
56
|
+
onChange(value);
|
|
57
|
+
setIsEditorOpen(false);
|
|
58
|
+
};
|
|
59
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
60
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { ref: buttonRef, icon: FilterList_1.default, size: "L", onClick: function () { return setIsEditorOpen(true); }, tooltipTitle: ui_i18n_1.default.text('Filter'), className: (0, classnames_1.default)(styles.icon, { activeIcon: isApplied }) }),
|
|
61
|
+
react_1.default.createElement(ActivityFilterEditor_1.default, { value: filter, open: isEditorOpen, entityType: entityType, anchorEl: buttonRef.current, onApply: handleChange, onCancel: function () { return setIsEditorOpen(false); }, onClear: function () { return onChange(__assign({}, initialValue.current)); } })));
|
|
62
|
+
};
|
|
63
|
+
exports.default = ActivityFilterButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon">;
|
|
@@ -0,0 +1,13 @@
|
|
|
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 = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
6
|
+
icon: {
|
|
7
|
+
margin: '4px',
|
|
8
|
+
'&.activeIcon': {
|
|
9
|
+
backgroundColor: (0, styles_1.fade)(theme.palette.primary.main, 0.12),
|
|
10
|
+
color: '#0072CE'
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}); });
|
|
@@ -5,9 +5,10 @@ declare type Props = {
|
|
|
5
5
|
value: ActivitiesFilter;
|
|
6
6
|
open: boolean;
|
|
7
7
|
entityType?: TEntityType;
|
|
8
|
+
anchorEl?: HTMLElement;
|
|
8
9
|
onApply: (value: ActivitiesFilter) => void;
|
|
9
10
|
onCancel: () => void;
|
|
10
11
|
onClear: () => void;
|
|
11
12
|
};
|
|
12
|
-
declare const ActivityFilterEditor: ({ value, open, entityType, onApply, onCancel, onClear }: Props) => JSX.Element;
|
|
13
|
+
declare const ActivityFilterEditor: ({ value, open, entityType, anchorEl, onApply, onCancel, onClear }: Props) => JSX.Element;
|
|
13
14
|
export default ActivityFilterEditor;
|
|
@@ -32,6 +32,7 @@ var react_redux_1 = require("react-redux");
|
|
|
32
32
|
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
33
33
|
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
34
34
|
var Button_1 = __importDefault(require("@material-ui/core/Button"));
|
|
35
|
+
var Popover_1 = __importDefault(require("@material-ui/core/Popover"));
|
|
35
36
|
var Divider_1 = __importDefault(require("@material-ui/core/Divider"));
|
|
36
37
|
var types_1 = require("../types");
|
|
37
38
|
var getSelectorActivityTypes_1 = require("./utils/getSelectorActivityTypes");
|
|
@@ -42,7 +43,7 @@ var EntityChangedSelectors_1 = __importDefault(require("./EntityChangedSelectors
|
|
|
42
43
|
var hooks_1 = require("../../../hooks");
|
|
43
44
|
var styles_1 = require("./styles");
|
|
44
45
|
var ActivityFilterEditor = function (_a) {
|
|
45
|
-
var value = _a.value, open = _a.open, entityType = _a.entityType, onApply = _a.onApply, onCancel = _a.onCancel, onClear = _a.onClear;
|
|
46
|
+
var value = _a.value, open = _a.open, entityType = _a.entityType, anchorEl = _a.anchorEl, onApply = _a.onApply, onCancel = _a.onCancel, onClear = _a.onClear;
|
|
46
47
|
var styles = (0, styles_1.useStyles)();
|
|
47
48
|
var metadata = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getMetadata);
|
|
48
49
|
var _b = (0, react_1.useState)(value), currentFilter = _b[0], setCurrentFilter = _b[1];
|
|
@@ -52,10 +53,10 @@ var ActivityFilterEditor = function (_a) {
|
|
|
52
53
|
});
|
|
53
54
|
(0, hooks_1.useDidUpdateEffect)(function () {
|
|
54
55
|
setCurrentFilter(value);
|
|
55
|
-
}, [value]);
|
|
56
|
+
}, [open, value]);
|
|
56
57
|
var _c = currentFilter || {}, _d = _c.activities, activities = _d === void 0 ? [] : _d, _e = _c.dateRange, dateRange = _e === void 0 ? null : _e, _f = _c.users, users = _f === void 0 ? [] : _f;
|
|
57
58
|
var isEntityChangedActivity = activities.length === 1 && activities.includes(types_1.ActivityTypes.ENTITY_CHANGED);
|
|
58
|
-
return
|
|
59
|
+
return (react_1.default.createElement(Popover_1.default, { open: open, anchorEl: anchorEl, onClose: onCancel, classes: { paper: styles.container }, anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, transformOrigin: { vertical: 'top', horizontal: 'right' } },
|
|
59
60
|
react_1.default.createElement(ActivitySelector_1.default, { activityTypes: (0, getSelectorActivityTypes_1.getSelectorActivityTypes)(metadata, entityType), selectedActivityTypes: activities, onChange: handlePropChange('activities') }),
|
|
60
61
|
isEntityChangedActivity && (react_1.default.createElement(EntityChangedSelectors_1.default, { filter: currentFilter, entityType: entityType, onPropChange: handlePropChange })),
|
|
61
62
|
react_1.default.createElement(Divider_1.default, { light: true, className: styles.divider }),
|
|
@@ -65,6 +66,6 @@ var ActivityFilterEditor = function (_a) {
|
|
|
65
66
|
react_1.default.createElement("div", { className: styles.filterControls },
|
|
66
67
|
react_1.default.createElement(Button_1.default, { onClick: (0, ramda_1.pipe)(clearCurrentFilter, onClear), className: styles.clearButton }, ui_i18n_1.default.text('Clear all')),
|
|
67
68
|
react_1.default.createElement(Button_1.default, { onClick: onCancel }, ui_i18n_1.default.text('Cancel')),
|
|
68
|
-
react_1.default.createElement(Button_1.default, { color: "primary", onClick: function () { return onApply(currentFilter); } }, ui_i18n_1.default.text('Apply')))))
|
|
69
|
+
react_1.default.createElement(Button_1.default, { color: "primary", onClick: function () { return onApply(currentFilter); } }, ui_i18n_1.default.text('Apply')))));
|
|
69
70
|
};
|
|
70
71
|
exports.default = ActivityFilterEditor;
|
|
@@ -18,8 +18,9 @@ exports.customStyles = {
|
|
|
18
18
|
};
|
|
19
19
|
exports.useStyles = (0, styles_1.makeStyles)({
|
|
20
20
|
container: {
|
|
21
|
-
padding:
|
|
22
|
-
|
|
21
|
+
padding: 16,
|
|
22
|
+
width: 500,
|
|
23
|
+
boxSizing: 'border-box'
|
|
23
24
|
},
|
|
24
25
|
labels: {
|
|
25
26
|
fontSize: '14px'
|
|
@@ -57,8 +58,7 @@ exports.useStyles = (0, styles_1.makeStyles)({
|
|
|
57
58
|
},
|
|
58
59
|
filterControls: {
|
|
59
60
|
display: 'flex',
|
|
60
|
-
paddingTop: '30px'
|
|
61
|
-
marginBottom: 8
|
|
61
|
+
paddingTop: '30px'
|
|
62
62
|
},
|
|
63
63
|
clearButton: {
|
|
64
64
|
marginRight: 'auto'
|
|
@@ -10,51 +10,31 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
15
|
};
|
|
39
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
var react_1 =
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
41
19
|
var react_redux_1 = require("react-redux");
|
|
42
|
-
var ActivityLogFilterHeader_1 = __importDefault(require("./ActivityLogFilterHeader"));
|
|
43
|
-
var ActivityFilterEditor_1 = __importDefault(require("../ActivityFilterEditor/ActivityFilterEditor"));
|
|
44
|
-
var ActivityExportButton_1 = __importDefault(require("../ActivityExportButton/ActivityExportButton"));
|
|
45
|
-
var ramda_1 = require("ramda");
|
|
46
20
|
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
21
|
+
var Tooltip_1 = __importDefault(require("@material-ui/core/Tooltip"));
|
|
22
|
+
var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
|
|
23
|
+
var ActivityExportButton_1 = __importDefault(require("../ActivityExportButton/ActivityExportButton"));
|
|
24
|
+
var ActivityFilterButton_1 = __importDefault(require("../ActivityFilterButton/ActivityFilterButton"));
|
|
25
|
+
var helpers_1 = require("./helpers");
|
|
26
|
+
var styles_1 = require("./styles");
|
|
47
27
|
var ActivityLogFilter = function (_a) {
|
|
48
28
|
var value = _a.value, entityType = _a.entityType, entityUri = _a.entityUri, onChange = _a.onChange, exportTypes = _a.exportTypes;
|
|
49
|
-
var
|
|
50
|
-
var
|
|
29
|
+
var styles = (0, styles_1.useStyles)();
|
|
30
|
+
var filterLabel = (0, helpers_1.getFilterLabel)(value);
|
|
51
31
|
var canExport = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getCanUserMakeActivitiesExport);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
32
|
+
return (react_1.default.createElement("div", { className: styles.header },
|
|
33
|
+
react_1.default.createElement(Typography_1.default, { variant: "body2", className: styles.label }, ui_i18n_1.default.text('Filter:')),
|
|
34
|
+
react_1.default.createElement(Tooltip_1.default, { title: filterLabel },
|
|
35
|
+
react_1.default.createElement(Typography_1.default, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
36
|
+
react_1.default.createElement("div", { className: styles.buttonsWrapper },
|
|
37
|
+
canExport && react_1.default.createElement(ActivityExportButton_1.default, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes }),
|
|
38
|
+
react_1.default.createElement(ActivityFilterButton_1.default, { filter: value, entityType: entityType, onChange: onChange }))));
|
|
59
39
|
};
|
|
60
40
|
exports.default = ActivityLogFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"header" | "label" | "buttonsWrapper">;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useStyles = void 0;
|
|
4
4
|
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
-
exports.useStyles = (0, styles_1.makeStyles)(
|
|
5
|
+
exports.useStyles = (0, styles_1.makeStyles)({
|
|
6
6
|
header: {
|
|
7
7
|
width: 'auto',
|
|
8
8
|
display: 'flex',
|
|
@@ -12,15 +12,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
12
12
|
paddingLeft: '7px',
|
|
13
13
|
fontSize: '14px'
|
|
14
14
|
},
|
|
15
|
-
icon: {
|
|
16
|
-
margin: '4px',
|
|
17
|
-
'&.activeIcon': {
|
|
18
|
-
backgroundColor: (0, styles_1.fade)(theme.palette.primary.main, 0.12),
|
|
19
|
-
color: '#0072CE'
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
15
|
buttonsWrapper: {
|
|
23
16
|
marginLeft: 'auto',
|
|
24
17
|
display: 'flex'
|
|
25
18
|
}
|
|
26
|
-
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TEntityType } from '@reltio/mdm-sdk';
|
|
3
|
+
import { ActivitiesFilter } from '../types';
|
|
4
|
+
declare type Props = {
|
|
5
|
+
filter: ActivitiesFilter;
|
|
6
|
+
entityType: TEntityType;
|
|
7
|
+
onChange: (value: ActivitiesFilter) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const ActivityFilterButton: ({ filter, entityType, onChange }: Props) => JSX.Element;
|
|
10
|
+
export default ActivityFilterButton;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import React, { useState, useRef } from 'react';
|
|
13
|
+
import classnames from 'classnames';
|
|
14
|
+
import i18n from 'ui-i18n';
|
|
15
|
+
import { equals } from 'ramda';
|
|
16
|
+
import FilterListIcon from '@material-ui/icons/FilterList';
|
|
17
|
+
import ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';
|
|
18
|
+
import { SmallIconButtonWithTooltip } from '../../SmallIconButton';
|
|
19
|
+
import { useStyles } from './styles';
|
|
20
|
+
var ActivityFilterButton = function (_a) {
|
|
21
|
+
var filter = _a.filter, entityType = _a.entityType, onChange = _a.onChange;
|
|
22
|
+
var styles = useStyles();
|
|
23
|
+
var buttonRef = useRef();
|
|
24
|
+
var initialValue = useRef(filter);
|
|
25
|
+
var _b = useState(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
|
|
26
|
+
var isApplied = !equals(filter, initialValue.current);
|
|
27
|
+
var handleChange = function (value) {
|
|
28
|
+
onChange(value);
|
|
29
|
+
setIsEditorOpen(false);
|
|
30
|
+
};
|
|
31
|
+
return (React.createElement(React.Fragment, null,
|
|
32
|
+
React.createElement(SmallIconButtonWithTooltip, { ref: buttonRef, icon: FilterListIcon, size: "L", onClick: function () { return setIsEditorOpen(true); }, tooltipTitle: i18n.text('Filter'), className: classnames(styles.icon, { activeIcon: isApplied }) }),
|
|
33
|
+
React.createElement(ActivityFilterEditor, { value: filter, open: isEditorOpen, entityType: entityType, anchorEl: buttonRef.current, onApply: handleChange, onCancel: function () { return setIsEditorOpen(false); }, onClear: function () { return onChange(__assign({}, initialValue.current)); } })));
|
|
34
|
+
};
|
|
35
|
+
export default ActivityFilterButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon">;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { fade, makeStyles } from '@material-ui/core/styles';
|
|
2
|
+
export var useStyles = makeStyles(function (theme) { return ({
|
|
3
|
+
icon: {
|
|
4
|
+
margin: '4px',
|
|
5
|
+
'&.activeIcon': {
|
|
6
|
+
backgroundColor: fade(theme.palette.primary.main, 0.12),
|
|
7
|
+
color: '#0072CE'
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}); });
|
|
@@ -5,9 +5,10 @@ declare type Props = {
|
|
|
5
5
|
value: ActivitiesFilter;
|
|
6
6
|
open: boolean;
|
|
7
7
|
entityType?: TEntityType;
|
|
8
|
+
anchorEl?: HTMLElement;
|
|
8
9
|
onApply: (value: ActivitiesFilter) => void;
|
|
9
10
|
onCancel: () => void;
|
|
10
11
|
onClear: () => void;
|
|
11
12
|
};
|
|
12
|
-
declare const ActivityFilterEditor: ({ value, open, entityType, onApply, onCancel, onClear }: Props) => JSX.Element;
|
|
13
|
+
declare const ActivityFilterEditor: ({ value, open, entityType, anchorEl, onApply, onCancel, onClear }: Props) => JSX.Element;
|
|
13
14
|
export default ActivityFilterEditor;
|
|
@@ -4,6 +4,7 @@ import { useSelector } from 'react-redux';
|
|
|
4
4
|
import mdmModule from '@reltio/mdm-module';
|
|
5
5
|
import i18n from 'ui-i18n';
|
|
6
6
|
import Button from '@material-ui/core/Button';
|
|
7
|
+
import Popover from '@material-ui/core/Popover';
|
|
7
8
|
import Divider from '@material-ui/core/Divider';
|
|
8
9
|
import { ActivityTypes } from '../types';
|
|
9
10
|
import { getSelectorActivityTypes } from './utils/getSelectorActivityTypes';
|
|
@@ -14,7 +15,7 @@ import EntityChangedSelectors from './EntityChangedSelectors';
|
|
|
14
15
|
import { useDidUpdateEffect } from '../../../hooks';
|
|
15
16
|
import { useStyles } from './styles';
|
|
16
17
|
var ActivityFilterEditor = function (_a) {
|
|
17
|
-
var value = _a.value, open = _a.open, entityType = _a.entityType, onApply = _a.onApply, onCancel = _a.onCancel, onClear = _a.onClear;
|
|
18
|
+
var value = _a.value, open = _a.open, entityType = _a.entityType, anchorEl = _a.anchorEl, onApply = _a.onApply, onCancel = _a.onCancel, onClear = _a.onClear;
|
|
18
19
|
var styles = useStyles();
|
|
19
20
|
var metadata = useSelector(mdmModule.selectors.getMetadata);
|
|
20
21
|
var _b = useState(value), currentFilter = _b[0], setCurrentFilter = _b[1];
|
|
@@ -24,10 +25,10 @@ var ActivityFilterEditor = function (_a) {
|
|
|
24
25
|
});
|
|
25
26
|
useDidUpdateEffect(function () {
|
|
26
27
|
setCurrentFilter(value);
|
|
27
|
-
}, [value]);
|
|
28
|
+
}, [open, value]);
|
|
28
29
|
var _c = currentFilter || {}, _d = _c.activities, activities = _d === void 0 ? [] : _d, _e = _c.dateRange, dateRange = _e === void 0 ? null : _e, _f = _c.users, users = _f === void 0 ? [] : _f;
|
|
29
30
|
var isEntityChangedActivity = activities.length === 1 && activities.includes(ActivityTypes.ENTITY_CHANGED);
|
|
30
|
-
return
|
|
31
|
+
return (React.createElement(Popover, { open: open, anchorEl: anchorEl, onClose: onCancel, classes: { paper: styles.container }, anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, transformOrigin: { vertical: 'top', horizontal: 'right' } },
|
|
31
32
|
React.createElement(ActivitySelector, { activityTypes: getSelectorActivityTypes(metadata, entityType), selectedActivityTypes: activities, onChange: handlePropChange('activities') }),
|
|
32
33
|
isEntityChangedActivity && (React.createElement(EntityChangedSelectors, { filter: currentFilter, entityType: entityType, onPropChange: handlePropChange })),
|
|
33
34
|
React.createElement(Divider, { light: true, className: styles.divider }),
|
|
@@ -37,6 +38,6 @@ var ActivityFilterEditor = function (_a) {
|
|
|
37
38
|
React.createElement("div", { className: styles.filterControls },
|
|
38
39
|
React.createElement(Button, { onClick: pipe(clearCurrentFilter, onClear), className: styles.clearButton }, i18n.text('Clear all')),
|
|
39
40
|
React.createElement(Button, { onClick: onCancel }, i18n.text('Cancel')),
|
|
40
|
-
React.createElement(Button, { color: "primary", onClick: function () { return onApply(currentFilter); } }, i18n.text('Apply')))))
|
|
41
|
+
React.createElement(Button, { color: "primary", onClick: function () { return onApply(currentFilter); } }, i18n.text('Apply')))));
|
|
41
42
|
};
|
|
42
43
|
export default ActivityFilterEditor;
|
|
@@ -15,8 +15,9 @@ export var customStyles = {
|
|
|
15
15
|
};
|
|
16
16
|
export var useStyles = makeStyles({
|
|
17
17
|
container: {
|
|
18
|
-
padding:
|
|
19
|
-
|
|
18
|
+
padding: 16,
|
|
19
|
+
width: 500,
|
|
20
|
+
boxSizing: 'border-box'
|
|
20
21
|
},
|
|
21
22
|
labels: {
|
|
22
23
|
fontSize: '14px'
|
|
@@ -54,8 +55,7 @@ export var useStyles = makeStyles({
|
|
|
54
55
|
},
|
|
55
56
|
filterControls: {
|
|
56
57
|
display: 'flex',
|
|
57
|
-
paddingTop: '30px'
|
|
58
|
-
marginBottom: 8
|
|
58
|
+
paddingTop: '30px'
|
|
59
59
|
},
|
|
60
60
|
clearButton: {
|
|
61
61
|
marginRight: 'auto'
|
|
@@ -9,24 +9,27 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import React
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import i18n from 'ui-i18n';
|
|
13
14
|
import { useSelector } from 'react-redux';
|
|
14
|
-
import ActivityLogFilterHeader from './ActivityLogFilterHeader';
|
|
15
|
-
import ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';
|
|
16
|
-
import ActivityExportButton from '../ActivityExportButton/ActivityExportButton';
|
|
17
|
-
import { equals } from 'ramda';
|
|
18
15
|
import mdmModule from '@reltio/mdm-module';
|
|
16
|
+
import Tooltip from '@material-ui/core/Tooltip';
|
|
17
|
+
import Typography from '@material-ui/core/Typography';
|
|
18
|
+
import ActivityExportButton from '../ActivityExportButton/ActivityExportButton';
|
|
19
|
+
import ActivityFilterButton from '../ActivityFilterButton/ActivityFilterButton';
|
|
20
|
+
import { getFilterLabel } from './helpers';
|
|
21
|
+
import { useStyles } from './styles';
|
|
19
22
|
var ActivityLogFilter = function (_a) {
|
|
20
23
|
var value = _a.value, entityType = _a.entityType, entityUri = _a.entityUri, onChange = _a.onChange, exportTypes = _a.exportTypes;
|
|
21
|
-
var
|
|
22
|
-
var
|
|
24
|
+
var styles = useStyles();
|
|
25
|
+
var filterLabel = getFilterLabel(value);
|
|
23
26
|
var canExport = useSelector(mdmModule.selectors.getCanUserMakeActivitiesExport);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
return (React.createElement("div", { className: styles.header },
|
|
28
|
+
React.createElement(Typography, { variant: "body2", className: styles.label }, i18n.text('Filter:')),
|
|
29
|
+
React.createElement(Tooltip, { title: filterLabel },
|
|
30
|
+
React.createElement(Typography, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
31
|
+
React.createElement("div", { className: styles.buttonsWrapper },
|
|
32
|
+
canExport && React.createElement(ActivityExportButton, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes }),
|
|
33
|
+
React.createElement(ActivityFilterButton, { filter: value, entityType: entityType, onChange: onChange }))));
|
|
31
34
|
};
|
|
32
35
|
export default ActivityLogFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"header" | "label" | "buttonsWrapper">;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export var useStyles = makeStyles(
|
|
1
|
+
import { makeStyles } from '@material-ui/core/styles';
|
|
2
|
+
export var useStyles = makeStyles({
|
|
3
3
|
header: {
|
|
4
4
|
width: 'auto',
|
|
5
5
|
display: 'flex',
|
|
@@ -9,15 +9,8 @@ export var useStyles = makeStyles(function (theme) { return ({
|
|
|
9
9
|
paddingLeft: '7px',
|
|
10
10
|
fontSize: '14px'
|
|
11
11
|
},
|
|
12
|
-
icon: {
|
|
13
|
-
margin: '4px',
|
|
14
|
-
'&.activeIcon': {
|
|
15
|
-
backgroundColor: fade(theme.palette.primary.main, 0.12),
|
|
16
|
-
color: '#0072CE'
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
12
|
buttonsWrapper: {
|
|
20
13
|
marginLeft: 'auto',
|
|
21
14
|
display: 'flex'
|
|
22
15
|
}
|
|
23
|
-
});
|
|
16
|
+
});
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1412",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@date-io/moment": "^1.3.5",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
|
-
"@reltio/mdm-module": "^1.4.
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-module": "^1.4.1412",
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1412",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ActivitiesFilter } from '../types';
|
|
3
|
-
declare type Props = {
|
|
4
|
-
onToggle: () => void;
|
|
5
|
-
filters: ActivitiesFilter;
|
|
6
|
-
children?: React.ReactNode;
|
|
7
|
-
isApplied?: boolean;
|
|
8
|
-
};
|
|
9
|
-
declare const ActivityLogFilterHeader: ({ children, onToggle, filters, isApplied }: Props) => JSX.Element;
|
|
10
|
-
export default ActivityLogFilterHeader;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var react_1 = __importDefault(require("react"));
|
|
7
|
-
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
8
|
-
var Tooltip_1 = __importDefault(require("@material-ui/core/Tooltip"));
|
|
9
|
-
var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
|
|
10
|
-
var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
|
|
11
|
-
var helpers_1 = require("./helpers");
|
|
12
|
-
var SmallIconButton_1 = require("../../SmallIconButton");
|
|
13
|
-
var classnames_1 = __importDefault(require("classnames"));
|
|
14
|
-
var styles_1 = require("./styles");
|
|
15
|
-
var ActivityLogFilterHeader = function (_a) {
|
|
16
|
-
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters, _b = _a.isApplied, isApplied = _b === void 0 ? false : _b;
|
|
17
|
-
var styles = (0, styles_1.useStyles)();
|
|
18
|
-
var filterLabel = (0, helpers_1.getFilterLabel)(filters);
|
|
19
|
-
return (react_1.default.createElement("div", { className: styles.header },
|
|
20
|
-
react_1.default.createElement(Typography_1.default, { variant: "body2", className: styles.label }, ui_i18n_1.default.text('Filter:')),
|
|
21
|
-
react_1.default.createElement(Tooltip_1.default, { title: filterLabel },
|
|
22
|
-
react_1.default.createElement(Typography_1.default, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
23
|
-
react_1.default.createElement("div", { className: styles.buttonsWrapper },
|
|
24
|
-
children,
|
|
25
|
-
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { icon: FilterList_1.default, size: "L", onClick: onToggle, tooltipTitle: ui_i18n_1.default.text('Filter'), className: (0, classnames_1.default)(styles.icon, { activeIcon: isApplied }) }))));
|
|
26
|
-
};
|
|
27
|
-
exports.default = ActivityLogFilterHeader;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ActivitiesFilter } from '../types';
|
|
3
|
-
declare type Props = {
|
|
4
|
-
onToggle: () => void;
|
|
5
|
-
filters: ActivitiesFilter;
|
|
6
|
-
children?: React.ReactNode;
|
|
7
|
-
isApplied?: boolean;
|
|
8
|
-
};
|
|
9
|
-
declare const ActivityLogFilterHeader: ({ children, onToggle, filters, isApplied }: Props) => JSX.Element;
|
|
10
|
-
export default ActivityLogFilterHeader;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import i18n from 'ui-i18n';
|
|
3
|
-
import Tooltip from '@material-ui/core/Tooltip';
|
|
4
|
-
import Typography from '@material-ui/core/Typography';
|
|
5
|
-
import FilterListIcon from '@material-ui/icons/FilterList';
|
|
6
|
-
import { getFilterLabel } from './helpers';
|
|
7
|
-
import { SmallIconButtonWithTooltip } from '../../SmallIconButton';
|
|
8
|
-
import classnames from 'classnames';
|
|
9
|
-
import { useStyles } from './styles';
|
|
10
|
-
var ActivityLogFilterHeader = function (_a) {
|
|
11
|
-
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters, _b = _a.isApplied, isApplied = _b === void 0 ? false : _b;
|
|
12
|
-
var styles = useStyles();
|
|
13
|
-
var filterLabel = getFilterLabel(filters);
|
|
14
|
-
return (React.createElement("div", { className: styles.header },
|
|
15
|
-
React.createElement(Typography, { variant: "body2", className: styles.label }, i18n.text('Filter:')),
|
|
16
|
-
React.createElement(Tooltip, { title: filterLabel },
|
|
17
|
-
React.createElement(Typography, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
18
|
-
React.createElement("div", { className: styles.buttonsWrapper },
|
|
19
|
-
children,
|
|
20
|
-
React.createElement(SmallIconButtonWithTooltip, { icon: FilterListIcon, size: "L", onClick: onToggle, tooltipTitle: i18n.text('Filter'), className: classnames(styles.icon, { activeIcon: isApplied }) }))));
|
|
21
|
-
};
|
|
22
|
-
export default ActivityLogFilterHeader;
|