@wix/entity-advanced-permissions 1.790.0 → 1.792.0
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/dist/cjs/__tests__/browser.e2e.js +1 -0
- package/dist/cjs/__tests__/browser.e2e.js.map +1 -1
- package/dist/cjs/__tests__/counter.spec.js +0 -2
- package/dist/cjs/__tests__/counter.spec.js.map +1 -1
- package/dist/cjs/components/DashboardIcons/AdminsIcon.js +0 -8
- package/dist/cjs/components/DashboardIcons/AdminsIcon.js.map +1 -1
- package/dist/cjs/components/DashboardIcons/BadgeIcon.js +0 -8
- package/dist/cjs/components/DashboardIcons/BadgeIcon.js.map +1 -1
- package/dist/cjs/components/DashboardIcons/PPIcon.js +0 -8
- package/dist/cjs/components/DashboardIcons/PPIcon.js.map +1 -1
- package/dist/cjs/components/DashboardIcons/RoleIcon.js +0 -8
- package/dist/cjs/components/DashboardIcons/RoleIcon.js.map +1 -1
- package/dist/cjs/components/DashboardIcons/SiteVisitorsIcon.js +0 -8
- package/dist/cjs/components/DashboardIcons/SiteVisitorsIcon.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.js +5 -21
- package/dist/cjs/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.spec.js +46 -54
- package/dist/cjs/components/EmptyState/EmptyState.spec.js.map +1 -1
- package/dist/cjs/components/EntityAdvancedPermissions.js +488 -546
- package/dist/cjs/components/EntityAdvancedPermissions.js.map +1 -1
- package/dist/cjs/components/EntityAdvancedPermissionsState.js +19 -25
- package/dist/cjs/components/EntityAdvancedPermissionsState.js.map +1 -1
- package/dist/cjs/components/EntityAdvancedPermissionsTypes.js +0 -9
- package/dist/cjs/components/EntityAdvancedPermissionsTypes.js.map +1 -1
- package/dist/cjs/components/NotifyBox/NotifyBox.js +12 -32
- package/dist/cjs/components/NotifyBox/NotifyBox.js.map +1 -1
- package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.js +16 -55
- package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.js.map +1 -1
- package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.js +124 -140
- package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.js.map +1 -1
- package/dist/cjs/components/PermissionsList/Avatar.js +3 -12
- package/dist/cjs/components/PermissionsList/Avatar.js.map +1 -1
- package/dist/cjs/components/PermissionsList/AvatarRole.js +6 -18
- package/dist/cjs/components/PermissionsList/AvatarRole.js.map +1 -1
- package/dist/cjs/components/PermissionsList/PermissionsList.js +23 -49
- package/dist/cjs/components/PermissionsList/PermissionsList.js.map +1 -1
- package/dist/cjs/components/PermissionsList/PermissionsList.spec.js +119 -135
- package/dist/cjs/components/PermissionsList/PermissionsList.spec.js.map +1 -1
- package/dist/cjs/components/PermissionsList/ViewRow.js +6 -22
- package/dist/cjs/components/PermissionsList/ViewRow.js.map +1 -1
- package/dist/cjs/components/SearchEntity/CustomStyles.js +20 -13
- package/dist/cjs/components/SearchEntity/CustomStyles.js.map +1 -1
- package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js +11 -34
- package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js.map +1 -1
- package/dist/cjs/components/SearchEntity/SearchEntity.js +20 -42
- package/dist/cjs/components/SearchEntity/SearchEntity.js.map +1 -1
- package/dist/cjs/components/SearchEntity/SearchEntity.spec.js +15 -20
- package/dist/cjs/components/SearchEntity/SearchEntity.spec.js.map +1 -1
- package/dist/cjs/components/SearchEntity/SearchReplacmentsComponents.js +3 -33
- package/dist/cjs/components/SearchEntity/SearchReplacmentsComponents.js.map +1 -1
- package/dist/cjs/components/SearchEntity/constants.js.map +1 -1
- package/dist/cjs/example/BasicExample.js +0 -9
- package/dist/cjs/example/BasicExample.js.map +1 -1
- package/dist/cjs/example/CounterCmp.js +0 -2
- package/dist/cjs/example/CounterCmp.js.map +1 -1
- package/dist/cjs/example/counter.js +0 -7
- package/dist/cjs/example/counter.js.map +1 -1
- package/dist/cjs/index.js +0 -25
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/EntityAdvancedPermissions.js +11 -4
- package/dist/esm/components/EntityAdvancedPermissions.js.map +1 -1
- package/dist/statics/entity-advanced-permissions.umd.js +877 -1218
- package/dist/statics/entity-advanced-permissions.umd.js.map +1 -1
- package/dist/statics/entity-advanced-permissions.umd.min.js +7 -17
- package/dist/statics/entity-advanced-permissions.umd.min.js.map +1 -1
- package/dist/statics/manifest.json +2 -2
- package/dist/statics/manifest.min.json +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/components/EmptyState/EmptyState.d.ts +1 -0
- package/dist/types/components/EntityAdvancedPermissions.d.ts +1 -0
- package/dist/types/components/NotifyBox/NotifyBox.d.ts +1 -0
- package/dist/types/components/PermissionsDropdown/PermissionsDropdown.d.ts +1 -0
- package/dist/types/components/PermissionsList/AvatarRole.d.ts +1 -0
- package/dist/types/components/PermissionsList/PermissionsList.d.ts +1 -0
- package/dist/types/components/PermissionsList/ViewRow.d.ts +1 -0
- package/dist/types/components/SearchEntity/SearchEntity.d.ts +1 -0
- package/dist/types/components/SearchEntity/SearchReplacmentsComponents.d.ts +1 -0
- package/package.json +5 -2
|
@@ -1,47 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
exports.__esModule = true;
|
|
6
5
|
exports.default = void 0;
|
|
7
|
-
|
|
8
6
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
7
|
var _wixUiTpa = require("wix-ui-tpa");
|
|
11
|
-
|
|
12
8
|
var _PermissionsDropdownSt = require("./PermissionsDropdown.st.css");
|
|
13
|
-
|
|
14
9
|
var _DropdownCheckedEmpty = _interopRequireDefault(require("../../assets/icons/DropdownCheckedEmpty.svg"));
|
|
15
|
-
|
|
16
10
|
var _DropdownChecked = _interopRequireDefault(require("../../assets/icons/DropdownChecked.svg"));
|
|
17
|
-
|
|
18
11
|
var _he = _interopRequireDefault(require("he"));
|
|
19
|
-
|
|
20
12
|
var _wixStyleReact = require("wix-style-react");
|
|
21
|
-
|
|
22
13
|
var _ChevronDown = _interopRequireDefault(require("wix-ui-icons-common/ChevronDown"));
|
|
23
|
-
|
|
24
14
|
var _Visible = _interopRequireDefault(require("wix-ui-icons-common/Visible"));
|
|
25
|
-
|
|
26
15
|
var _DownloadImport = _interopRequireDefault(require("wix-ui-icons-common/DownloadImport"));
|
|
27
|
-
|
|
28
16
|
var _Settings = _interopRequireDefault(require("wix-ui-icons-common/Settings"));
|
|
29
|
-
|
|
30
17
|
var _Delete = _interopRequireDefault(require("wix-ui-icons-common/Delete"));
|
|
31
|
-
|
|
32
18
|
var _jsxFileName = "/home/builduser/work/4775e43efb305866/packages/entity-advanced-permissions/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.tsx";
|
|
33
|
-
|
|
34
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
-
|
|
36
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
|
|
38
21
|
const permissionLevels = {
|
|
39
22
|
VIEW: 'VIEW',
|
|
40
23
|
CONTRIBUTE: 'CONTRIBUTE',
|
|
41
24
|
MANAGE: 'MANAGE',
|
|
42
25
|
NONE: 'NONE'
|
|
43
26
|
};
|
|
44
|
-
|
|
45
27
|
const getOverlay = () => {
|
|
46
28
|
const div = document.createElement('div');
|
|
47
29
|
div.style.position = 'fixed';
|
|
@@ -51,32 +33,26 @@ const getOverlay = () => {
|
|
|
51
33
|
div.style.top = '0';
|
|
52
34
|
return div;
|
|
53
35
|
};
|
|
54
|
-
|
|
55
36
|
function PermissionsDropdown(props) {
|
|
56
37
|
const _useContext = (0, _react.useContext)(_wixUiTpa.TPAComponentsContext),
|
|
57
|
-
|
|
58
|
-
|
|
38
|
+
mobile = _useContext.mobile;
|
|
59
39
|
const overlay = (0, _react.useRef)(getOverlay());
|
|
60
40
|
const options = props.options,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
41
|
+
className = props.className,
|
|
42
|
+
_props$ariaLabelledBy = props.ariaLabelledBy,
|
|
43
|
+
ariaLabelledBy = _props$ariaLabelledBy === void 0 ? '' : _props$ariaLabelledBy,
|
|
44
|
+
_props$isDashboard = props.isDashboard,
|
|
45
|
+
isDashboard = _props$isDashboard === void 0 ? false : _props$isDashboard,
|
|
46
|
+
_props$isStep = props.isStep2,
|
|
47
|
+
isStep2 = _props$isStep === void 0 ? false : _props$isStep,
|
|
48
|
+
_props$shouldChangeCo = props.shouldChangeColor,
|
|
49
|
+
shouldChangeColor = _props$shouldChangeCo === void 0 ? false : _props$shouldChangeCo;
|
|
71
50
|
const _useState = (0, _react.useState)(props.value),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
51
|
+
selected = _useState[0],
|
|
52
|
+
setSelected = _useState[1]; // selected permission menu title
|
|
76
53
|
const _useState2 = (0, _react.useState)((0, _PermissionsDropdownSt.st)(_PermissionsDropdownSt.classes.whiteColor)),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
54
|
+
step1MenuClassName = _useState2[0],
|
|
55
|
+
setStep1MenuClassName = _useState2[1];
|
|
80
56
|
const getIcon = id => {
|
|
81
57
|
return id === selected ? /*#__PURE__*/_react.default.createElement(_DropdownChecked.default, {
|
|
82
58
|
__self: this,
|
|
@@ -94,27 +70,21 @@ function PermissionsDropdown(props) {
|
|
|
94
70
|
}
|
|
95
71
|
});
|
|
96
72
|
};
|
|
97
|
-
|
|
98
73
|
const dropDownChange = e => {
|
|
99
74
|
if (!isDashboard) {
|
|
100
75
|
var _e$id;
|
|
101
|
-
|
|
102
76
|
if (!mobile) {
|
|
103
77
|
lockScrolling(false);
|
|
104
78
|
}
|
|
105
|
-
|
|
106
79
|
setSelected((_e$id = e.id) == null ? void 0 : _e$id.toString());
|
|
107
80
|
}
|
|
108
|
-
|
|
109
81
|
if (!isStep2) {
|
|
110
82
|
setStep1MenuClassName((0, _PermissionsDropdownSt.st)(_PermissionsDropdownSt.classes.whiteColor));
|
|
111
83
|
}
|
|
112
|
-
|
|
113
84
|
if (props.onChange) {
|
|
114
85
|
props.onChange(`${e.id}`);
|
|
115
86
|
}
|
|
116
87
|
};
|
|
117
|
-
|
|
118
88
|
const getPermissionIcon = permissionId => {
|
|
119
89
|
switch (permissionId) {
|
|
120
90
|
case permissionLevels.VIEW:
|
|
@@ -126,7 +96,6 @@ function PermissionsDropdown(props) {
|
|
|
126
96
|
columnNumber: 16
|
|
127
97
|
}
|
|
128
98
|
});
|
|
129
|
-
|
|
130
99
|
case permissionLevels.CONTRIBUTE:
|
|
131
100
|
return /*#__PURE__*/_react.default.createElement(_DownloadImport.default, {
|
|
132
101
|
__self: this,
|
|
@@ -136,7 +105,6 @@ function PermissionsDropdown(props) {
|
|
|
136
105
|
columnNumber: 16
|
|
137
106
|
}
|
|
138
107
|
});
|
|
139
|
-
|
|
140
108
|
case permissionLevels.MANAGE:
|
|
141
109
|
return /*#__PURE__*/_react.default.createElement(_Settings.default, {
|
|
142
110
|
__self: this,
|
|
@@ -146,7 +114,6 @@ function PermissionsDropdown(props) {
|
|
|
146
114
|
columnNumber: 16
|
|
147
115
|
}
|
|
148
116
|
});
|
|
149
|
-
|
|
150
117
|
case permissionLevels.NONE:
|
|
151
118
|
return /*#__PURE__*/_react.default.createElement(_Delete.default, {
|
|
152
119
|
__self: this,
|
|
@@ -156,31 +123,27 @@ function PermissionsDropdown(props) {
|
|
|
156
123
|
columnNumber: 16
|
|
157
124
|
}
|
|
158
125
|
});
|
|
159
|
-
|
|
160
126
|
default:
|
|
161
127
|
return '';
|
|
162
128
|
}
|
|
163
129
|
};
|
|
164
|
-
|
|
165
130
|
const newOptions = options.map(k => {
|
|
166
|
-
return {
|
|
131
|
+
return {
|
|
132
|
+
...k,
|
|
167
133
|
value: _he.default.decode(k.value || ''),
|
|
168
134
|
subtitle: _he.default.decode(k.subtitle || ''),
|
|
169
135
|
icon: getIcon(`${k.id}`),
|
|
170
136
|
key: k.id
|
|
171
137
|
};
|
|
172
138
|
});
|
|
173
|
-
|
|
174
139
|
const lockScrolling = expanded => {
|
|
175
140
|
const docBody = document.body;
|
|
176
|
-
|
|
177
141
|
if (expanded) {
|
|
178
142
|
docBody.appendChild(overlay.current);
|
|
179
143
|
} else if (docBody.contains(overlay.current)) {
|
|
180
144
|
docBody.removeChild(overlay.current);
|
|
181
145
|
}
|
|
182
146
|
};
|
|
183
|
-
|
|
184
147
|
if (isDashboard) {
|
|
185
148
|
const updatedOptions = options.map(permission => {
|
|
186
149
|
return permission.divider ? {
|
|
@@ -283,7 +246,6 @@ function PermissionsDropdown(props) {
|
|
|
283
246
|
}
|
|
284
247
|
}, selectedOption.id !== 'NONE' && selectedOption.label || (selectedPermission == null ? void 0 : selectedPermission.label)));
|
|
285
248
|
}
|
|
286
|
-
|
|
287
249
|
return /*#__PURE__*/_react.default.createElement(_wixUiTpa.FloatingDropdown, {
|
|
288
250
|
"aria-labelledby": ariaLabelledBy,
|
|
289
251
|
options: newOptions,
|
|
@@ -306,7 +268,6 @@ function PermissionsDropdown(props) {
|
|
|
306
268
|
}
|
|
307
269
|
});
|
|
308
270
|
}
|
|
309
|
-
|
|
310
271
|
var _default = PermissionsDropdown;
|
|
311
272
|
exports.default = _default;
|
|
312
273
|
//# sourceMappingURL=PermissionsDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["permissionLevels","VIEW","CONTRIBUTE","MANAGE","NONE","getOverlay","div","document","createElement","style","position","left","bottom","right","top","PermissionsDropdown","props","useContext","TPAComponentsContext","mobile","overlay","useRef","options","className","ariaLabelledBy","isDashboard","isStep2","shouldChangeColor","useState","value","selected","setSelected","st","classes","whiteColor","step1MenuClassName","setStep1MenuClassName","getIcon","id","dropDownChange","e","lockScrolling","toString","onChange","getPermissionIcon","permissionId","newOptions","map","k","he","decode","subtitle","icon","key","expanded","docBody","body","appendChild","current","contains","removeChild","updatedOptions","permission","divider","label","listItemSelectBuilder","prefix","title","wsrMenuTextPaddings","isLastChild","wsrOption","selectedPermission","find","buttonClassName","placement","appendTo","toggle","selectedOption","disabled","permissionsDropdown","isDisabled"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.tsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport { FloatingDropdown } from 'wix-ui-tpa';\nimport { st, classes } from './PermissionsDropdown.st.css';\nimport EmptyLogo from '../../assets/icons/DropdownCheckedEmpty.svg';\nimport CheckedIcon from '../../assets/icons/DropdownChecked.svg';\nimport he from 'he';\nimport { TPAComponentsContext } from 'wix-ui-tpa';\nimport {\n Dropdown,\n DropdownBase,\n listItemSelectBuilder,\n TextButton,\n Text,\n Box,\n} from 'wix-style-react';\nimport ChevronDown from 'wix-ui-icons-common/ChevronDown';\nimport Visible from 'wix-ui-icons-common/Visible';\nimport DownloadImport from 'wix-ui-icons-common/DownloadImport';\nimport Settings from 'wix-ui-icons-common/Settings';\nimport Delete from 'wix-ui-icons-common/Delete';\n\nexport interface PermissionsOptionsProps {\n id?: string;\n value?: string;\n subtitle?: string;\n divider?: boolean;\n isSelectable?: boolean;\n}\n\nexport interface PermissionsDropdownProps {\n disabled: boolean;\n options: PermissionsOptionsProps[];\n value?: string;\n onChange?(id: string): void; // function to update parent component which permission(id) was selected\n className?: string;\n ariaLabelledBy?: string;\n isDashboard?: boolean;\n isStep2?: boolean;\n shouldChangeColor?: boolean;\n}\n\nconst permissionLevels = {\n VIEW: 'VIEW',\n CONTRIBUTE: 'CONTRIBUTE',\n MANAGE: 'MANAGE',\n NONE: 'NONE',\n};\n\nconst getOverlay = (): Node => {\n const div = document.createElement('div');\n div.style.position = 'fixed';\n div.style.left = '0';\n div.style.bottom = '0';\n div.style.right = '0';\n div.style.top = '0';\n\n return div;\n};\n\nfunction PermissionsDropdown(props: PermissionsDropdownProps) {\n const { mobile } = useContext(TPAComponentsContext);\n const overlay = useRef<Node>(getOverlay());\n const {\n options,\n className,\n ariaLabelledBy = '',\n isDashboard = false,\n isStep2 = false,\n shouldChangeColor=false,\n } = props;\n const [selected, setSelected] = useState(props.value); // selected permission menu title\n const [step1MenuClassName, setStep1MenuClassName] = useState(st(classes.whiteColor));\n const getIcon = (id: string) => {\n return id === selected ? <CheckedIcon /> : <EmptyLogo />;\n };\n const dropDownChange = (\n e: PermissionsOptionsProps | any,\n ) => {\n if (!isDashboard) {\n if (!mobile) {\n lockScrolling(false);\n }\n setSelected(e.id?.toString());\n }\n if(!isStep2){\n setStep1MenuClassName(st(classes.whiteColor));\n }\n if (props.onChange) {\n props.onChange(`${e.id}`);\n }\n };\n\n const getPermissionIcon = (permissionId: string) => {\n switch (permissionId) {\n case permissionLevels.VIEW:\n return <Visible />;\n case permissionLevels.CONTRIBUTE:\n return <DownloadImport />;\n case permissionLevels.MANAGE:\n return <Settings />;\n case permissionLevels.NONE:\n return <Delete />;\n default:\n return '';\n }\n };\n\n const newOptions = options.map((k) => {\n return {\n ...k,\n value: he.decode(k.value || ''),\n subtitle: he.decode(k.subtitle || ''),\n icon: getIcon(`${k.id}`),\n key: k.id,\n };\n });\n\n const lockScrolling = (expanded: any) => {\n const docBody = document.body;\n if (expanded) {\n docBody.appendChild(overlay.current);\n } else if (docBody.contains(overlay.current)) {\n docBody.removeChild(overlay.current);\n }\n };\n\n if (isDashboard) {\n const updatedOptions = options.map((permission: any) => {\n return permission.divider ?\n {value: '-', label:'', id:''}\n :\n listItemSelectBuilder({\n id: permission.id,\n prefix: <Box paddingLeft={1}>{getPermissionIcon(permission.id )}</Box>,\n title: <Text size={'medium'} className={st(classes.wsrMenuTextPaddings, { isLastChild: permission.id === permissionLevels.NONE })} > {permission.value} </Text>,\n subtitle: <Text className={st(classes.wsrMenuTextPaddings)} size={'small'} textAlign={'start'}>{permission.subtitle} </Text>,\n label: permission.value,\n className: st(classes.wsrOption),\n });\n });\n\n const selectedPermission = updatedOptions.find(\n (permission: any) => permission.id === props.value,\n );\n const buttonClassName = shouldChangeColor ?step1MenuClassName : '';\n return ( isStep2 ?\n <Dropdown\n placeholder={selectedPermission?.label || ''}\n dropdownWidth=\"320px\"\n options={updatedOptions}\n popoverProps={{\n placement: 'bottom-end',\n appendTo:'parent',\n }}\n className={className}\n onSelect={dropDownChange}\n />\n :\n <DropdownBase\n options={updatedOptions}\n maxWidth={'320px'}\n minWidth={'320px'}\n className={className}\n maxHeight={'348px'}\n appendTo={buttonClassName ? `.${buttonClassName}` : 'scrollParent'}\n onSelect={dropDownChange}\n placement={'bottom-end'}\n overflow={'visible'}\n flip={false}\n >\n {({ toggle, selectedOption = {} }) => (\n <TextButton skin=\"dark\" className={buttonClassName} onClick={toggle} suffixIcon={<ChevronDown />}>\n {(selectedOption.id !== 'NONE' && selectedOption.label) ||\n selectedPermission?.label}\n </TextButton>\n )}\n </DropdownBase>\n );\n }\n\n return (\n <FloatingDropdown\n aria-labelledby={ariaLabelledBy}\n options={newOptions}\n disabled={props.disabled}\n value={selected}\n label={''}\n onChange={dropDownChange}\n className={st(\n classes.permissionsDropdown,\n {\n isDisabled: props.disabled,\n mobile,\n },\n className,\n )}\n appendTo=\"window\"\n onExpandedChange={lockScrolling}\n placement=\"bottom-start\"\n />\n );\n}\n\nexport default PermissionsDropdown;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["permissionLevels","VIEW","CONTRIBUTE","MANAGE","NONE","getOverlay","div","document","createElement","style","position","left","bottom","right","top","PermissionsDropdown","props","useContext","TPAComponentsContext","mobile","overlay","useRef","options","className","ariaLabelledBy","isDashboard","isStep2","shouldChangeColor","useState","value","selected","setSelected","st","classes","whiteColor","step1MenuClassName","setStep1MenuClassName","getIcon","id","dropDownChange","e","lockScrolling","toString","onChange","getPermissionIcon","permissionId","newOptions","map","k","he","decode","subtitle","icon","key","expanded","docBody","body","appendChild","current","contains","removeChild","updatedOptions","permission","divider","label","listItemSelectBuilder","prefix","title","wsrMenuTextPaddings","isLastChild","wsrOption","selectedPermission","find","buttonClassName","placement","appendTo","toggle","selectedOption","disabled","permissionsDropdown","isDisabled"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.tsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport { FloatingDropdown } from 'wix-ui-tpa';\nimport { st, classes } from './PermissionsDropdown.st.css';\nimport EmptyLogo from '../../assets/icons/DropdownCheckedEmpty.svg';\nimport CheckedIcon from '../../assets/icons/DropdownChecked.svg';\nimport he from 'he';\nimport { TPAComponentsContext } from 'wix-ui-tpa';\nimport {\n Dropdown,\n DropdownBase,\n listItemSelectBuilder,\n TextButton,\n Text,\n Box,\n} from 'wix-style-react';\nimport ChevronDown from 'wix-ui-icons-common/ChevronDown';\nimport Visible from 'wix-ui-icons-common/Visible';\nimport DownloadImport from 'wix-ui-icons-common/DownloadImport';\nimport Settings from 'wix-ui-icons-common/Settings';\nimport Delete from 'wix-ui-icons-common/Delete';\n\nexport interface PermissionsOptionsProps {\n id?: string;\n value?: string;\n subtitle?: string;\n divider?: boolean;\n isSelectable?: boolean;\n}\n\nexport interface PermissionsDropdownProps {\n disabled: boolean;\n options: PermissionsOptionsProps[];\n value?: string;\n onChange?(id: string): void; // function to update parent component which permission(id) was selected\n className?: string;\n ariaLabelledBy?: string;\n isDashboard?: boolean;\n isStep2?: boolean;\n shouldChangeColor?: boolean;\n}\n\nconst permissionLevels = {\n VIEW: 'VIEW',\n CONTRIBUTE: 'CONTRIBUTE',\n MANAGE: 'MANAGE',\n NONE: 'NONE',\n};\n\nconst getOverlay = (): Node => {\n const div = document.createElement('div');\n div.style.position = 'fixed';\n div.style.left = '0';\n div.style.bottom = '0';\n div.style.right = '0';\n div.style.top = '0';\n\n return div;\n};\n\nfunction PermissionsDropdown(props: PermissionsDropdownProps) {\n const { mobile } = useContext(TPAComponentsContext);\n const overlay = useRef<Node>(getOverlay());\n const {\n options,\n className,\n ariaLabelledBy = '',\n isDashboard = false,\n isStep2 = false,\n shouldChangeColor=false,\n } = props;\n const [selected, setSelected] = useState(props.value); // selected permission menu title\n const [step1MenuClassName, setStep1MenuClassName] = useState(st(classes.whiteColor));\n const getIcon = (id: string) => {\n return id === selected ? <CheckedIcon /> : <EmptyLogo />;\n };\n const dropDownChange = (\n e: PermissionsOptionsProps | any,\n ) => {\n if (!isDashboard) {\n if (!mobile) {\n lockScrolling(false);\n }\n setSelected(e.id?.toString());\n }\n if(!isStep2){\n setStep1MenuClassName(st(classes.whiteColor));\n }\n if (props.onChange) {\n props.onChange(`${e.id}`);\n }\n };\n\n const getPermissionIcon = (permissionId: string) => {\n switch (permissionId) {\n case permissionLevels.VIEW:\n return <Visible />;\n case permissionLevels.CONTRIBUTE:\n return <DownloadImport />;\n case permissionLevels.MANAGE:\n return <Settings />;\n case permissionLevels.NONE:\n return <Delete />;\n default:\n return '';\n }\n };\n\n const newOptions = options.map((k) => {\n return {\n ...k,\n value: he.decode(k.value || ''),\n subtitle: he.decode(k.subtitle || ''),\n icon: getIcon(`${k.id}`),\n key: k.id,\n };\n });\n\n const lockScrolling = (expanded: any) => {\n const docBody = document.body;\n if (expanded) {\n docBody.appendChild(overlay.current);\n } else if (docBody.contains(overlay.current)) {\n docBody.removeChild(overlay.current);\n }\n };\n\n if (isDashboard) {\n const updatedOptions = options.map((permission: any) => {\n return permission.divider ?\n {value: '-', label:'', id:''}\n :\n listItemSelectBuilder({\n id: permission.id,\n prefix: <Box paddingLeft={1}>{getPermissionIcon(permission.id )}</Box>,\n title: <Text size={'medium'} className={st(classes.wsrMenuTextPaddings, { isLastChild: permission.id === permissionLevels.NONE })} > {permission.value} </Text>,\n subtitle: <Text className={st(classes.wsrMenuTextPaddings)} size={'small'} textAlign={'start'}>{permission.subtitle} </Text>,\n label: permission.value,\n className: st(classes.wsrOption),\n });\n });\n\n const selectedPermission = updatedOptions.find(\n (permission: any) => permission.id === props.value,\n );\n const buttonClassName = shouldChangeColor ?step1MenuClassName : '';\n return ( isStep2 ?\n <Dropdown\n placeholder={selectedPermission?.label || ''}\n dropdownWidth=\"320px\"\n options={updatedOptions}\n popoverProps={{\n placement: 'bottom-end',\n appendTo:'parent',\n }}\n className={className}\n onSelect={dropDownChange}\n />\n :\n <DropdownBase\n options={updatedOptions}\n maxWidth={'320px'}\n minWidth={'320px'}\n className={className}\n maxHeight={'348px'}\n appendTo={buttonClassName ? `.${buttonClassName}` : 'scrollParent'}\n onSelect={dropDownChange}\n placement={'bottom-end'}\n overflow={'visible'}\n flip={false}\n >\n {({ toggle, selectedOption = {} }) => (\n <TextButton skin=\"dark\" className={buttonClassName} onClick={toggle} suffixIcon={<ChevronDown />}>\n {(selectedOption.id !== 'NONE' && selectedOption.label) ||\n selectedPermission?.label}\n </TextButton>\n )}\n </DropdownBase>\n );\n }\n\n return (\n <FloatingDropdown\n aria-labelledby={ariaLabelledBy}\n options={newOptions}\n disabled={props.disabled}\n value={selected}\n label={''}\n onChange={dropDownChange}\n className={st(\n classes.permissionsDropdown,\n {\n isDisabled: props.disabled,\n mobile,\n },\n className,\n )}\n appendTo=\"window\"\n onExpandedChange={lockScrolling}\n placement=\"bottom-start\"\n />\n );\n}\n\nexport default PermissionsDropdown;\n"],"mappings":"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"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _PermissionsDropdown = _interopRequireDefault(require("./PermissionsDropdown"));
|
|
10
|
-
|
|
11
7
|
var _wixUiTpa = require("wix-ui-tpa");
|
|
12
|
-
|
|
13
8
|
var _jsxFileName = "/home/builduser/work/4775e43efb305866/packages/entity-advanced-permissions/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.tsx";
|
|
14
9
|
describe('Testing Permissions Dropdown Component', () => {
|
|
15
10
|
const options = [{
|
|
@@ -33,25 +28,23 @@ describe('Testing Permissions Dropdown Component', () => {
|
|
|
33
28
|
}];
|
|
34
29
|
it('Desktop Renders Properly', () => {
|
|
35
30
|
const mockFnc = jest.fn();
|
|
36
|
-
|
|
37
31
|
const _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
disabled: false,
|
|
33
|
+
options: options,
|
|
34
|
+
value: "value",
|
|
35
|
+
onChange: mockFnc,
|
|
36
|
+
className: "Classname-test",
|
|
37
|
+
ariaLabelledBy: "labeltext",
|
|
38
|
+
__self: void 0,
|
|
39
|
+
__source: {
|
|
40
|
+
fileName: _jsxFileName,
|
|
41
|
+
lineNumber: 36,
|
|
42
|
+
columnNumber: 7
|
|
43
|
+
}
|
|
44
|
+
})),
|
|
45
|
+
container = _render.container,
|
|
46
|
+
getByText = _render.getByText,
|
|
47
|
+
debug = _render.debug;
|
|
55
48
|
const button = container.querySelector('button');
|
|
56
49
|
button == null ? void 0 : button.click();
|
|
57
50
|
const option1 = getByText('Pizza italiano');
|
|
@@ -69,35 +62,33 @@ describe('Testing Permissions Dropdown Component', () => {
|
|
|
69
62
|
});
|
|
70
63
|
it('Mobile Renders Properly', () => {
|
|
71
64
|
const mockFnc = jest.fn();
|
|
72
|
-
|
|
73
65
|
const _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_wixUiTpa.TPAComponentsProvider, {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
66
|
+
value: {
|
|
67
|
+
mobile: true
|
|
68
|
+
},
|
|
69
|
+
__self: void 0,
|
|
70
|
+
__source: {
|
|
71
|
+
fileName: _jsxFileName,
|
|
72
|
+
lineNumber: 69,
|
|
73
|
+
columnNumber: 7
|
|
74
|
+
}
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
76
|
+
disabled: false,
|
|
77
|
+
options: options,
|
|
78
|
+
value: "value",
|
|
79
|
+
onChange: mockFnc,
|
|
80
|
+
className: "Classname-test",
|
|
81
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
82
|
+
__self: void 0,
|
|
83
|
+
__source: {
|
|
84
|
+
fileName: _jsxFileName,
|
|
85
|
+
lineNumber: 70,
|
|
86
|
+
columnNumber: 9
|
|
87
|
+
}
|
|
88
|
+
}))),
|
|
89
|
+
container = _render2.container,
|
|
90
|
+
getByText = _render2.getByText,
|
|
91
|
+
debug = _render2.debug;
|
|
101
92
|
const select = container.querySelector('select');
|
|
102
93
|
select == null ? void 0 : select.click();
|
|
103
94
|
const value1 = getByText('pizza');
|
|
@@ -109,26 +100,24 @@ describe('Testing Permissions Dropdown Component', () => {
|
|
|
109
100
|
});
|
|
110
101
|
it('onChange function check', () => {
|
|
111
102
|
const mockFnc = jest.fn();
|
|
112
|
-
|
|
113
103
|
const _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
104
|
+
disabled: false,
|
|
105
|
+
options: options,
|
|
106
|
+
value: "value",
|
|
107
|
+
onChange: mockFnc,
|
|
108
|
+
className: "Classname-test",
|
|
109
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
110
|
+
__self: void 0,
|
|
111
|
+
__source: {
|
|
112
|
+
fileName: _jsxFileName,
|
|
113
|
+
lineNumber: 99,
|
|
114
|
+
columnNumber: 7
|
|
115
|
+
}
|
|
116
|
+
})),
|
|
117
|
+
container = _render3.container,
|
|
118
|
+
getByText = _render3.getByText,
|
|
119
|
+
debug = _render3.debug,
|
|
120
|
+
rerender = _render3.rerender;
|
|
132
121
|
const button = container.querySelector('button');
|
|
133
122
|
button == null ? void 0 : button.click();
|
|
134
123
|
const option1 = getByText('pizza');
|
|
@@ -155,97 +144,92 @@ describe('Testing Permissions Dropdown Component', () => {
|
|
|
155
144
|
});
|
|
156
145
|
it('Disabled Dropdown', () => {
|
|
157
146
|
const mockFnc = jest.fn();
|
|
158
|
-
|
|
159
147
|
const _render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
148
|
+
disabled: true,
|
|
149
|
+
options: options,
|
|
150
|
+
value: "1",
|
|
151
|
+
onChange: mockFnc,
|
|
152
|
+
className: "Classname-test",
|
|
153
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
154
|
+
__self: void 0,
|
|
155
|
+
__source: {
|
|
156
|
+
fileName: _jsxFileName,
|
|
157
|
+
lineNumber: 141,
|
|
158
|
+
columnNumber: 7
|
|
159
|
+
}
|
|
160
|
+
})),
|
|
161
|
+
container = _render4.container,
|
|
162
|
+
getByText = _render4.getByText,
|
|
163
|
+
debug = _render4.debug;
|
|
177
164
|
const disabledElm = container.querySelector('div[class*=--isDisabled]');
|
|
178
165
|
expect(disabledElm).toBeTruthy();
|
|
179
166
|
});
|
|
180
167
|
it('Classnames and icons', () => {
|
|
181
168
|
const _render5 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
169
|
+
disabled: true,
|
|
170
|
+
value: "2",
|
|
171
|
+
options: options,
|
|
172
|
+
className: "class-test-here",
|
|
173
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
174
|
+
__self: void 0,
|
|
175
|
+
__source: {
|
|
176
|
+
fileName: _jsxFileName,
|
|
177
|
+
lineNumber: 157,
|
|
178
|
+
columnNumber: 7
|
|
179
|
+
}
|
|
180
|
+
})),
|
|
181
|
+
container = _render5.container,
|
|
182
|
+
debug = _render5.debug;
|
|
197
183
|
const className = container.querySelector('.class-test-here');
|
|
198
|
-
const icon = container.querySelector('svg');
|
|
184
|
+
const icon = container.querySelector('svg');
|
|
185
|
+
|
|
186
|
+
// debug();
|
|
199
187
|
|
|
200
188
|
expect(className).toBeTruthy();
|
|
201
189
|
expect(icon).toBeTruthy();
|
|
202
190
|
});
|
|
203
191
|
it('Selected values', () => {
|
|
204
192
|
const mockFnc = jest.fn();
|
|
205
|
-
|
|
206
193
|
const _render6 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
194
|
+
disabled: false,
|
|
195
|
+
options: options,
|
|
196
|
+
value: "2",
|
|
197
|
+
onChange: mockFnc,
|
|
198
|
+
className: "Classname-test",
|
|
199
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
200
|
+
__self: void 0,
|
|
201
|
+
__source: {
|
|
202
|
+
fileName: _jsxFileName,
|
|
203
|
+
lineNumber: 179,
|
|
204
|
+
columnNumber: 7
|
|
205
|
+
}
|
|
206
|
+
})),
|
|
207
|
+
container = _render6.container,
|
|
208
|
+
getByText = _render6.getByText,
|
|
209
|
+
debug = _render6.debug;
|
|
224
210
|
const isSeleted = container.querySelector('div[class*=__selectedValue]');
|
|
225
211
|
expect(isSeleted).toBeTruthy();
|
|
226
212
|
expect(isSeleted == null ? void 0 : isSeleted.innerHTML).toBe('burger');
|
|
227
213
|
});
|
|
228
214
|
it('Selectable Values', () => {
|
|
229
215
|
const mockFnc = jest.fn();
|
|
230
|
-
|
|
231
216
|
const _render7 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
217
|
+
disabled: false,
|
|
218
|
+
options: options,
|
|
219
|
+
value: "1",
|
|
220
|
+
onChange: mockFnc,
|
|
221
|
+
className: "Classname-test",
|
|
222
|
+
ariaLabelledBy: "aria-label-mobile",
|
|
223
|
+
__self: void 0,
|
|
224
|
+
__source: {
|
|
225
|
+
fileName: _jsxFileName,
|
|
226
|
+
lineNumber: 198,
|
|
227
|
+
columnNumber: 7
|
|
228
|
+
}
|
|
229
|
+
})),
|
|
230
|
+
container = _render7.container,
|
|
231
|
+
getByText = _render7.getByText,
|
|
232
|
+
debug = _render7.debug;
|
|
249
233
|
const button = container.querySelector('button');
|
|
250
234
|
button == null ? void 0 : button.click();
|
|
251
235
|
const option3 = getByText('hotdog');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","options","id","value","subtitle","divider","isSelectable","it","mockFnc","jest","fn","render","container","getByText","debug","button","querySelector","click","option1","value1","option2","value2","option3","value3","expect","toBeTruthy","mobile","select","rerender","toHaveBeenCalledWith","disabledElm","className","icon","isSeleted","innerHTML","toBe","selectedValue"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.spec.tsx"],"sourcesContent":["import React from 'react';\n\nimport { render } from '@testing-library/react';\n\nimport PermissionsDropdown from './PermissionsDropdown';\nimport { TPAComponentsProvider } from 'wix-ui-tpa';\n\ndescribe('Testing Permissions Dropdown Component', () => {\n const options = [\n {\n id: '1',\n value: 'pizza',\n subtitle: 'Pizza italiano',\n divider: false,\n isSelectable: true,\n },\n {\n id: '2',\n value: 'burger',\n subtitle: 'Cheeseburger extra',\n divider: false,\n isSelectable: true,\n },\n {\n id: '3',\n value: 'hotdog',\n subtitle: 'Hotdog mexicano',\n divider: false,\n isSelectable: false,\n },\n ];\n\n it('Desktop Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"labeltext\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('Pizza italiano');\n const value1 = getByText('pizza');\n const option2 = getByText('Cheeseburger extra');\n const value2 = getByText('burger');\n const option3 = getByText('Hotdog mexicano');\n const value3 = getByText('hotdog');\n\n expect(option1).toBeTruthy();\n expect(option2).toBeTruthy();\n expect(option3).toBeTruthy();\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('Mobile Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <TPAComponentsProvider value={{ mobile: true }}>\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />\n </TPAComponentsProvider>,\n );\n\n const select = container.querySelector('select');\n\n select?.click();\n\n const value1 = getByText('pizza');\n\n const value2 = getByText('burger');\n\n const value3 = getByText('hotdog');\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('onChange function check', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug, rerender } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('pizza');\n\n option1.click();\n\n expect(mockFnc).toHaveBeenCalledWith('1');\n\n rerender(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n button?.click();\n\n const option2 = getByText('burger');\n\n option2.click();\n expect(mockFnc).toHaveBeenCalledWith('2');\n });\n\n it('Disabled Dropdown', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={true}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const disabledElm = container.querySelector('div[class*=--isDisabled]');\n expect(disabledElm).toBeTruthy();\n });\n\n it('Classnames and icons', () => {\n const { container, debug } = render(\n <PermissionsDropdown\n disabled={true}\n value=\"2\"\n options={options}\n className=\"class-test-here\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const className = container.querySelector('.class-test-here');\n\n const icon = container.querySelector('svg');\n\n // debug();\n\n expect(className).toBeTruthy();\n expect(icon).toBeTruthy();\n });\n\n it('Selected values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"2\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const isSeleted = container.querySelector('div[class*=__selectedValue]');\n\n expect(isSeleted).toBeTruthy();\n expect(isSeleted?.innerHTML).toBe('burger');\n });\n\n it('Selectable Values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option3 = getByText('hotdog');\n\n option3.click();\n\n const selectedValue = container.querySelector(\n 'div[class*=__selectedValue]',\n );\n\n expect(selectedValue?.innerHTML).toBe('pizza');\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["describe","options","id","value","subtitle","divider","isSelectable","it","mockFnc","jest","fn","render","container","getByText","debug","button","querySelector","click","option1","value1","option2","value2","option3","value3","expect","toBeTruthy","mobile","select","rerender","toHaveBeenCalledWith","disabledElm","className","icon","isSeleted","innerHTML","toBe","selectedValue"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.spec.tsx"],"sourcesContent":["import React from 'react';\n\nimport { render } from '@testing-library/react';\n\nimport PermissionsDropdown from './PermissionsDropdown';\nimport { TPAComponentsProvider } from 'wix-ui-tpa';\n\ndescribe('Testing Permissions Dropdown Component', () => {\n const options = [\n {\n id: '1',\n value: 'pizza',\n subtitle: 'Pizza italiano',\n divider: false,\n isSelectable: true,\n },\n {\n id: '2',\n value: 'burger',\n subtitle: 'Cheeseburger extra',\n divider: false,\n isSelectable: true,\n },\n {\n id: '3',\n value: 'hotdog',\n subtitle: 'Hotdog mexicano',\n divider: false,\n isSelectable: false,\n },\n ];\n\n it('Desktop Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"labeltext\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('Pizza italiano');\n const value1 = getByText('pizza');\n const option2 = getByText('Cheeseburger extra');\n const value2 = getByText('burger');\n const option3 = getByText('Hotdog mexicano');\n const value3 = getByText('hotdog');\n\n expect(option1).toBeTruthy();\n expect(option2).toBeTruthy();\n expect(option3).toBeTruthy();\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('Mobile Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <TPAComponentsProvider value={{ mobile: true }}>\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />\n </TPAComponentsProvider>,\n );\n\n const select = container.querySelector('select');\n\n select?.click();\n\n const value1 = getByText('pizza');\n\n const value2 = getByText('burger');\n\n const value3 = getByText('hotdog');\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('onChange function check', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug, rerender } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('pizza');\n\n option1.click();\n\n expect(mockFnc).toHaveBeenCalledWith('1');\n\n rerender(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n button?.click();\n\n const option2 = getByText('burger');\n\n option2.click();\n expect(mockFnc).toHaveBeenCalledWith('2');\n });\n\n it('Disabled Dropdown', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={true}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const disabledElm = container.querySelector('div[class*=--isDisabled]');\n expect(disabledElm).toBeTruthy();\n });\n\n it('Classnames and icons', () => {\n const { container, debug } = render(\n <PermissionsDropdown\n disabled={true}\n value=\"2\"\n options={options}\n className=\"class-test-here\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const className = container.querySelector('.class-test-here');\n\n const icon = container.querySelector('svg');\n\n // debug();\n\n expect(className).toBeTruthy();\n expect(icon).toBeTruthy();\n });\n\n it('Selected values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"2\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const isSeleted = container.querySelector('div[class*=__selectedValue]');\n\n expect(isSeleted).toBeTruthy();\n expect(isSeleted?.innerHTML).toBe('burger');\n });\n\n it('Selectable Values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option3 = getByText('hotdog');\n\n option3.click();\n\n const selectedValue = container.querySelector(\n 'div[class*=__selectedValue]',\n );\n\n expect(selectedValue?.innerHTML).toBe('pizza');\n });\n});\n"],"mappings":"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"}
|