@reltio/components 1.4.2202 → 1.4.2203
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/features/activity-log/RecordUpdates/RecordUpdates.d.ts +1 -0
- package/cjs/features/activity-log/RecordUpdates/RecordUpdates.js +2 -3
- package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.d.ts +1 -1
- package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +13 -9
- package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.module.css.js +9 -0
- package/cjs/features/activity-log/types.d.ts +5 -0
- package/cjs/features/activity-log/types.js +7 -1
- package/features/activity-log/RecordUpdates/RecordUpdates.d.ts +1 -0
- package/features/activity-log/RecordUpdates/RecordUpdates.js +2 -3
- package/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.d.ts +1 -1
- package/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +14 -10
- package/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.module.css.js +9 -0
- package/features/activity-log/types.d.ts +5 -0
- package/features/activity-log/types.js +6 -0
- package/package.json +2 -2
- package/cjs/features/activity-log/RecordUpdates/components/DeltaField/styles.d.ts +0 -1
- package/cjs/features/activity-log/RecordUpdates/components/DeltaField/styles.js +0 -36
- package/features/activity-log/RecordUpdates/components/DeltaField/styles.d.ts +0 -1
- package/features/activity-log/RecordUpdates/components/DeltaField/styles.js +0 -33
|
@@ -18,10 +18,9 @@ var RecordUpdates = function (_a) {
|
|
|
18
18
|
itemsId: recordId,
|
|
19
19
|
items: updates
|
|
20
20
|
}), onExpand = _b.onExpand, collapsedItemsCount = _b.collapsedItemsCount, itemsToShow = _b.itemsToShow;
|
|
21
|
+
var DeltaFieldComponent = isSegment ? SegmentDeltaField_1.SegmentDeltaField : DeltaField_1.DeltaField;
|
|
21
22
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
22
|
-
itemsToShow.map(function (update, index) {
|
|
23
|
-
return isSegment ? react_1.default.createElement(SegmentDeltaField_1.SegmentDeltaField, { key: index, delta: update }) : react_1.default.createElement(DeltaField_1.DeltaField, { key: index, delta: update });
|
|
24
|
-
}),
|
|
23
|
+
itemsToShow.map(function (update, index) { return (react_1.default.createElement(DeltaFieldComponent, { key: index, delta: update })); }),
|
|
25
24
|
collapsedItemsCount ? (react_1.default.createElement(MoreItemsLink_1.MoreItemsLink, { itemsCount: collapsedItemsCount, itemsLabel: collapsedItemsCount === 1 ? ui_i18n_1.default.text('update') : ui_i18n_1.default.text('updates'), onClick: onExpand, className: styles.moreLabel })) : null));
|
|
26
25
|
};
|
|
27
26
|
exports.RecordUpdates = RecordUpdates;
|
|
@@ -7,33 +7,37 @@ exports.DeltaField = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
10
|
+
var EntityUriLink_1 = require("../../../../../EntityUriLink");
|
|
10
11
|
var Chip_1 = __importDefault(require("@mui/material/Chip"));
|
|
11
12
|
var ArrowForward_1 = __importDefault(require("@mui/icons-material/ArrowForward"));
|
|
12
13
|
var types_1 = require("../../../types");
|
|
13
14
|
var activities_1 = require("../../../utils/activities");
|
|
14
15
|
var MdmModuleContext_1 = require("../../../../../contexts/MdmModuleContext");
|
|
15
16
|
var Field_1 = require("../../../Field");
|
|
16
|
-
var
|
|
17
|
+
var DeltaField_module_css_1 = __importDefault(require("./DeltaField.module.css"));
|
|
17
18
|
var DeltaField = function (_a) {
|
|
18
19
|
var _b, _c;
|
|
19
20
|
var delta = _a.delta;
|
|
20
|
-
var styles = (0, styles_1.useStyles)();
|
|
21
21
|
var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
|
|
22
22
|
var attributesPresentation = (0, MdmModuleContext_1.useMdmAttributesPresentation)();
|
|
23
|
-
var
|
|
23
|
+
var isMemberDelta = delta.type in types_1.MemberDeltaTypes;
|
|
24
|
+
var attributeType = !isMemberDelta ? (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, delta.attributeType) : undefined;
|
|
25
|
+
var memberType = isMemberDelta ? (0, mdm_sdk_1.findMemberTypeByUri)(metadata, delta.attributeType) : undefined;
|
|
26
|
+
var fieldType = isMemberDelta ? memberType : attributeType;
|
|
27
|
+
var fieldName = (fieldType === null || fieldType === void 0 ? void 0 : fieldType.label) || (fieldType === null || fieldType === void 0 ? void 0 : fieldType.name);
|
|
24
28
|
var newValue = (_b = delta.newValue) === null || _b === void 0 ? void 0 : _b.value;
|
|
25
29
|
var oldValue = (_c = delta.oldValue) === null || _c === void 0 ? void 0 : _c.value;
|
|
26
30
|
var value = oldValue || newValue;
|
|
27
|
-
var deltaLabel = types_1.DeltaTypes[delta.type];
|
|
28
|
-
var converter = function (
|
|
29
|
-
return (0, activities_1.stringifyDeltaValue)(
|
|
31
|
+
var deltaLabel = (isMemberDelta ? types_1.MemberDeltaTypes : types_1.DeltaTypes)[delta.type];
|
|
32
|
+
var converter = function (deltaValue) {
|
|
33
|
+
return isMemberDelta ? (react_1.default.createElement(EntityUriLink_1.EntityUriLink, { value: 'entities/' + deltaValue, className: DeltaField_module_css_1.default.entityLink }, deltaValue)) : ((0, activities_1.stringifyDeltaValue)(deltaValue, delta.attributeType, metadata, attributesPresentation));
|
|
30
34
|
};
|
|
31
|
-
return (react_1.default.createElement(Field_1.Field, { fieldName:
|
|
35
|
+
return (react_1.default.createElement(Field_1.Field, { fieldName: fieldName, "data-reltio-id": "delta-field" },
|
|
32
36
|
react_1.default.createElement("span", null,
|
|
33
37
|
value && converter(value),
|
|
34
38
|
newValue && oldValue && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
35
|
-
react_1.default.createElement(ArrowForward_1.default, { className:
|
|
39
|
+
react_1.default.createElement(ArrowForward_1.default, { className: DeltaField_module_css_1.default.arrow }),
|
|
36
40
|
converter(newValue)))),
|
|
37
|
-
deltaLabel && (react_1.default.createElement(Chip_1.default, { variant: "outlined", label: deltaLabel, className: (0, classnames_1.default)(
|
|
41
|
+
deltaLabel && (react_1.default.createElement(Chip_1.default, { variant: "outlined", label: deltaLabel, className: (0, classnames_1.default)(DeltaField_module_css_1.default.chip, DeltaField_module_css_1.default[deltaLabel]) }))));
|
|
38
42
|
};
|
|
39
43
|
exports.DeltaField = DeltaField;
|
package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.module.css.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"arrow":"DeltaField-arrow--5hkJ-","chip":"DeltaField-chip--OIM5S","edited":"DeltaField-edited--P1M7q","added":"DeltaField-added--HNmW4","deleted":"DeltaField-deleted--oKqex","entityLink":"DeltaField-entityLink--lGSiY"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.DeltaField-arrow--5hkJ-{color:var(--mui-palette-text-primary);font-size:12px;margin:0 8px}.DeltaField-chip--OIM5S{flex-shrink:0;font-size:10px;font-weight:500;height:20px;line-height:16px;margin-left:9px;text-transform:capitalize;width:53px}.DeltaField-chip--OIM5S.DeltaField-edited--P1M7q{border-color:#6973c2;color:#6973c2}.DeltaField-chip--OIM5S.DeltaField-added--HNmW4{border-color:#75c378;color:#75c378}.DeltaField-chip--OIM5S.DeltaField-deleted--oKqex{border-color:#f97061;color:#f97061}.DeltaField-chip--OIM5S span{padding:0}.DeltaField-entityLink--lGSiY{color:var(--mui-palette-primary-main);text-decoration:none}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
module.exports = styles;
|
|
@@ -61,6 +61,11 @@ export declare enum DeltaTypes {
|
|
|
61
61
|
ATTRIBUTE_ADDED = "added",
|
|
62
62
|
ATTRIBUTE_REMOVED = "deleted"
|
|
63
63
|
}
|
|
64
|
+
export declare enum MemberDeltaTypes {
|
|
65
|
+
MEMBER_CHANGED = "edited",
|
|
66
|
+
MEMBER_ADDED = "added",
|
|
67
|
+
MEMBER_REMOVED = "deleted"
|
|
68
|
+
}
|
|
64
69
|
export type ActivityDelta = {
|
|
65
70
|
type: string;
|
|
66
71
|
attributeType: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeltaTypes = exports.ActivityTypes = void 0;
|
|
3
|
+
exports.MemberDeltaTypes = exports.DeltaTypes = exports.ActivityTypes = void 0;
|
|
4
4
|
var ActivityTypes;
|
|
5
5
|
(function (ActivityTypes) {
|
|
6
6
|
ActivityTypes["MODEL_UPDATED"] = "MODEL_UPDATED";
|
|
@@ -45,3 +45,9 @@ var DeltaTypes;
|
|
|
45
45
|
DeltaTypes["ATTRIBUTE_ADDED"] = "added";
|
|
46
46
|
DeltaTypes["ATTRIBUTE_REMOVED"] = "deleted";
|
|
47
47
|
})(DeltaTypes || (exports.DeltaTypes = DeltaTypes = {}));
|
|
48
|
+
var MemberDeltaTypes;
|
|
49
|
+
(function (MemberDeltaTypes) {
|
|
50
|
+
MemberDeltaTypes["MEMBER_CHANGED"] = "edited";
|
|
51
|
+
MemberDeltaTypes["MEMBER_ADDED"] = "added";
|
|
52
|
+
MemberDeltaTypes["MEMBER_REMOVED"] = "deleted";
|
|
53
|
+
})(MemberDeltaTypes || (exports.MemberDeltaTypes = MemberDeltaTypes = {}));
|
|
@@ -12,9 +12,8 @@ export var RecordUpdates = function (_a) {
|
|
|
12
12
|
itemsId: recordId,
|
|
13
13
|
items: updates
|
|
14
14
|
}), onExpand = _b.onExpand, collapsedItemsCount = _b.collapsedItemsCount, itemsToShow = _b.itemsToShow;
|
|
15
|
+
var DeltaFieldComponent = isSegment ? SegmentDeltaField : DeltaField;
|
|
15
16
|
return (React.createElement(React.Fragment, null,
|
|
16
|
-
itemsToShow.map(function (update, index) {
|
|
17
|
-
return isSegment ? React.createElement(SegmentDeltaField, { key: index, delta: update }) : React.createElement(DeltaField, { key: index, delta: update });
|
|
18
|
-
}),
|
|
17
|
+
itemsToShow.map(function (update, index) { return (React.createElement(DeltaFieldComponent, { key: index, delta: update })); }),
|
|
19
18
|
collapsedItemsCount ? (React.createElement(MoreItemsLink, { itemsCount: collapsedItemsCount, itemsLabel: collapsedItemsCount === 1 ? i18n.text('update') : i18n.text('updates'), onClick: onExpand, className: styles.moreLabel })) : null));
|
|
20
19
|
};
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
|
-
import { findAttributeTypeByUri } from '@reltio/mdm-sdk';
|
|
3
|
+
import { findAttributeTypeByUri, findMemberTypeByUri } from '@reltio/mdm-sdk';
|
|
4
|
+
import { EntityUriLink } from '../../../../../EntityUriLink';
|
|
4
5
|
import Chip from '@mui/material/Chip';
|
|
5
6
|
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
|
|
6
|
-
import { DeltaTypes } from '../../../types';
|
|
7
|
+
import { DeltaTypes, MemberDeltaTypes } from '../../../types';
|
|
7
8
|
import { stringifyDeltaValue } from '../../../utils/activities';
|
|
8
9
|
import { useMdmMetadata, useMdmAttributesPresentation } from '../../../../../contexts/MdmModuleContext';
|
|
9
10
|
import { Field } from '../../../Field';
|
|
10
|
-
import
|
|
11
|
+
import styles from './DeltaField.module.css';
|
|
11
12
|
export var DeltaField = function (_a) {
|
|
12
13
|
var _b, _c;
|
|
13
14
|
var delta = _a.delta;
|
|
14
|
-
var styles = useStyles();
|
|
15
15
|
var metadata = useMdmMetadata();
|
|
16
16
|
var attributesPresentation = useMdmAttributesPresentation();
|
|
17
|
-
var
|
|
17
|
+
var isMemberDelta = delta.type in MemberDeltaTypes;
|
|
18
|
+
var attributeType = !isMemberDelta ? findAttributeTypeByUri(metadata, delta.attributeType) : undefined;
|
|
19
|
+
var memberType = isMemberDelta ? findMemberTypeByUri(metadata, delta.attributeType) : undefined;
|
|
20
|
+
var fieldType = isMemberDelta ? memberType : attributeType;
|
|
21
|
+
var fieldName = (fieldType === null || fieldType === void 0 ? void 0 : fieldType.label) || (fieldType === null || fieldType === void 0 ? void 0 : fieldType.name);
|
|
18
22
|
var newValue = (_b = delta.newValue) === null || _b === void 0 ? void 0 : _b.value;
|
|
19
23
|
var oldValue = (_c = delta.oldValue) === null || _c === void 0 ? void 0 : _c.value;
|
|
20
24
|
var value = oldValue || newValue;
|
|
21
|
-
var deltaLabel = DeltaTypes[delta.type];
|
|
22
|
-
var converter = function (
|
|
23
|
-
return
|
|
25
|
+
var deltaLabel = (isMemberDelta ? MemberDeltaTypes : DeltaTypes)[delta.type];
|
|
26
|
+
var converter = function (deltaValue) {
|
|
27
|
+
return isMemberDelta ? (React.createElement(EntityUriLink, { value: 'entities/' + deltaValue, className: styles.entityLink }, deltaValue)) : (stringifyDeltaValue(deltaValue, delta.attributeType, metadata, attributesPresentation));
|
|
24
28
|
};
|
|
25
|
-
return (React.createElement(Field, { fieldName:
|
|
29
|
+
return (React.createElement(Field, { fieldName: fieldName, "data-reltio-id": "delta-field" },
|
|
26
30
|
React.createElement("span", null,
|
|
27
31
|
value && converter(value),
|
|
28
32
|
newValue && oldValue && (React.createElement(React.Fragment, null,
|
|
29
33
|
React.createElement(ArrowForwardIcon, { className: styles.arrow }),
|
|
30
34
|
converter(newValue)))),
|
|
31
|
-
deltaLabel && (React.createElement(Chip, { variant: "outlined", label: deltaLabel, className: classnames(styles.chip, deltaLabel) }))));
|
|
35
|
+
deltaLabel && (React.createElement(Chip, { variant: "outlined", label: deltaLabel, className: classnames(styles.chip, styles[deltaLabel]) }))));
|
|
32
36
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const styles = {"arrow":"DeltaField-arrow--5hkJ-","chip":"DeltaField-chip--OIM5S","edited":"DeltaField-edited--P1M7q","added":"DeltaField-added--HNmW4","deleted":"DeltaField-deleted--oKqex","entityLink":"DeltaField-entityLink--lGSiY"};
|
|
2
|
+
if (typeof document !== 'undefined') {
|
|
3
|
+
const head = document.head || document.getElementsByTagName('head')[0]
|
|
4
|
+
const style = document.createElement('style');
|
|
5
|
+
style.type = 'text/css'
|
|
6
|
+
style.innerHTML = `.DeltaField-arrow--5hkJ-{color:var(--mui-palette-text-primary);font-size:12px;margin:0 8px}.DeltaField-chip--OIM5S{flex-shrink:0;font-size:10px;font-weight:500;height:20px;line-height:16px;margin-left:9px;text-transform:capitalize;width:53px}.DeltaField-chip--OIM5S.DeltaField-edited--P1M7q{border-color:#6973c2;color:#6973c2}.DeltaField-chip--OIM5S.DeltaField-added--HNmW4{border-color:#75c378;color:#75c378}.DeltaField-chip--OIM5S.DeltaField-deleted--oKqex{border-color:#f97061;color:#f97061}.DeltaField-chip--OIM5S span{padding:0}.DeltaField-entityLink--lGSiY{color:var(--mui-palette-primary-main);text-decoration:none}`;
|
|
7
|
+
head.appendChild(style);
|
|
8
|
+
}
|
|
9
|
+
export default styles;
|
|
@@ -61,6 +61,11 @@ export declare enum DeltaTypes {
|
|
|
61
61
|
ATTRIBUTE_ADDED = "added",
|
|
62
62
|
ATTRIBUTE_REMOVED = "deleted"
|
|
63
63
|
}
|
|
64
|
+
export declare enum MemberDeltaTypes {
|
|
65
|
+
MEMBER_CHANGED = "edited",
|
|
66
|
+
MEMBER_ADDED = "added",
|
|
67
|
+
MEMBER_REMOVED = "deleted"
|
|
68
|
+
}
|
|
64
69
|
export type ActivityDelta = {
|
|
65
70
|
type: string;
|
|
66
71
|
attributeType: string;
|
|
@@ -42,3 +42,9 @@ export var DeltaTypes;
|
|
|
42
42
|
DeltaTypes["ATTRIBUTE_ADDED"] = "added";
|
|
43
43
|
DeltaTypes["ATTRIBUTE_REMOVED"] = "deleted";
|
|
44
44
|
})(DeltaTypes || (DeltaTypes = {}));
|
|
45
|
+
export var MemberDeltaTypes;
|
|
46
|
+
(function (MemberDeltaTypes) {
|
|
47
|
+
MemberDeltaTypes["MEMBER_CHANGED"] = "edited";
|
|
48
|
+
MemberDeltaTypes["MEMBER_ADDED"] = "added";
|
|
49
|
+
MemberDeltaTypes["MEMBER_REMOVED"] = "deleted";
|
|
50
|
+
})(MemberDeltaTypes || (MemberDeltaTypes = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2203",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
12
12
|
"@googlemaps/markerclusterer": "^2.5.3",
|
|
13
13
|
"@react-sigma/core": "3.4.0",
|
|
14
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
14
|
+
"@reltio/mdm-sdk": "^1.4.2006",
|
|
15
15
|
"@vis.gl/react-google-maps": "^1.3.0",
|
|
16
16
|
"d3-cloud": "^1.2.5",
|
|
17
17
|
"d3-geo": "^2.0.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"arrow" | "chip">;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useStyles = void 0;
|
|
4
|
-
var styles_1 = require("@mui/styles");
|
|
5
|
-
exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
6
|
-
arrow: {
|
|
7
|
-
margin: '0 8px',
|
|
8
|
-
fontSize: 12,
|
|
9
|
-
color: theme.palette.text.primary
|
|
10
|
-
},
|
|
11
|
-
chip: {
|
|
12
|
-
height: 20,
|
|
13
|
-
width: 53,
|
|
14
|
-
fontSize: 10,
|
|
15
|
-
fontWeight: 500,
|
|
16
|
-
lineHeight: '16px',
|
|
17
|
-
marginLeft: 9,
|
|
18
|
-
flexShrink: 0,
|
|
19
|
-
textTransform: 'capitalize',
|
|
20
|
-
'& span': {
|
|
21
|
-
padding: 0
|
|
22
|
-
},
|
|
23
|
-
'&.edited': {
|
|
24
|
-
color: '#6973C2',
|
|
25
|
-
borderColor: '#6973C2'
|
|
26
|
-
},
|
|
27
|
-
'&.added': {
|
|
28
|
-
color: '#75C378',
|
|
29
|
-
borderColor: '#75C378'
|
|
30
|
-
},
|
|
31
|
-
'&.deleted': {
|
|
32
|
-
color: '#F97061',
|
|
33
|
-
borderColor: '#F97061'
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}); });
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"arrow" | "chip">;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { makeStyles } from '@mui/styles';
|
|
2
|
-
export var useStyles = makeStyles(function (theme) { return ({
|
|
3
|
-
arrow: {
|
|
4
|
-
margin: '0 8px',
|
|
5
|
-
fontSize: 12,
|
|
6
|
-
color: theme.palette.text.primary
|
|
7
|
-
},
|
|
8
|
-
chip: {
|
|
9
|
-
height: 20,
|
|
10
|
-
width: 53,
|
|
11
|
-
fontSize: 10,
|
|
12
|
-
fontWeight: 500,
|
|
13
|
-
lineHeight: '16px',
|
|
14
|
-
marginLeft: 9,
|
|
15
|
-
flexShrink: 0,
|
|
16
|
-
textTransform: 'capitalize',
|
|
17
|
-
'& span': {
|
|
18
|
-
padding: 0
|
|
19
|
-
},
|
|
20
|
-
'&.edited': {
|
|
21
|
-
color: '#6973C2',
|
|
22
|
-
borderColor: '#6973C2'
|
|
23
|
-
},
|
|
24
|
-
'&.added': {
|
|
25
|
-
color: '#75C378',
|
|
26
|
-
borderColor: '#75C378'
|
|
27
|
-
},
|
|
28
|
-
'&.deleted': {
|
|
29
|
-
color: '#F97061',
|
|
30
|
-
borderColor: '#F97061'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}); });
|