@bigbinary/neeto-molecules 1.3.18 → 1.3.19-beta
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/README.md +3 -1
- package/dist/Columns.js +125 -34
- package/dist/Columns.js.map +1 -1
- package/dist/ConfigurePageSidebar.js +284 -0
- package/dist/ConfigurePageSidebar.js.map +1 -0
- package/dist/Metadata.js +3 -1
- package/dist/Metadata.js.map +1 -1
- package/dist/Sidebar.js +242 -122
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/Columns.js +128 -32
- package/dist/cjs/Columns.js.map +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +291 -0
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
- package/dist/cjs/Metadata.js +3 -1
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/Sidebar.js +239 -119
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +2 -1
- package/types/Columns.d.ts +31 -4
- package/types/ConfigurePageSidebar.d.ts +56 -0
package/README.md
CHANGED
|
@@ -63,7 +63,8 @@ https://neeto-molecules.neeto.com/
|
|
|
63
63
|
- [Metadata](./docs/components.md#metadata)
|
|
64
64
|
- [DocumentEditor](./docs/components.md#DocumentEditor)
|
|
65
65
|
- [Taxonomy](./docs/components.md#Taxonomy)
|
|
66
|
-
- [SuffixedInput](./docs/components.md#SuffixedInput
|
|
66
|
+
- [SuffixedInput](./docs/components.md#SuffixedInput)
|
|
67
|
+
- [ConfigurePageSidebar](./docs/components.md#ConfigurePageSidebar)
|
|
67
68
|
|
|
68
69
|
## Installation Instructions
|
|
69
70
|
|
|
@@ -77,3 +78,4 @@ yarn add "@bigbinary/neeto-molecules@latest"
|
|
|
77
78
|
|
|
78
79
|
- [Development instructions](./docs/general/development-instructions.md)
|
|
79
80
|
- [Building and releasing](./docs/general/building-and-releasing.md)
|
|
81
|
+
- [Releasing beta versions](./docs/general/releasing-beta-versions.md)
|
package/dist/Columns.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import React, { forwardRef, useState, useImperativeHandle
|
|
1
|
+
import React, { useEffect, forwardRef, useState, useImperativeHandle } from 'react';
|
|
2
2
|
import i18next from 'i18next';
|
|
3
3
|
import { removeBy, existsBy, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
4
|
-
import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
4
|
import { Search } from '@bigbinary/neeto-icons';
|
|
6
5
|
import { Dropdown, Input, Label, Checkbox } from '@bigbinary/neetoui';
|
|
7
|
-
import { includes, __, filter, trim, toLower, append, without, isEmpty, identity } from 'ramda';
|
|
6
|
+
import { includes, __, filter, trim, toLower, append, without, isEmpty, equals, identity } from 'ramda';
|
|
8
7
|
import { useTranslation } from 'react-i18next';
|
|
8
|
+
import { getFromLocalStorage, removeFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
9
|
+
import { create } from 'zustand';
|
|
10
|
+
import { persist } from 'zustand/middleware';
|
|
9
11
|
|
|
10
12
|
function _extends() {
|
|
11
13
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -106,6 +108,49 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
106
108
|
return target;
|
|
107
109
|
}
|
|
108
110
|
|
|
111
|
+
function _typeof(o) {
|
|
112
|
+
"@babel/helpers - typeof";
|
|
113
|
+
|
|
114
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
115
|
+
return typeof o;
|
|
116
|
+
} : function (o) {
|
|
117
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
118
|
+
}, _typeof(o);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function _toPrimitive(input, hint) {
|
|
122
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
123
|
+
var prim = input[Symbol.toPrimitive];
|
|
124
|
+
if (prim !== undefined) {
|
|
125
|
+
var res = prim.call(input, hint || "default");
|
|
126
|
+
if (_typeof(res) !== "object") return res;
|
|
127
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
128
|
+
}
|
|
129
|
+
return (hint === "string" ? String : Number)(input);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function _toPropertyKey(arg) {
|
|
133
|
+
var key = _toPrimitive(arg, "string");
|
|
134
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function _defineProperty(obj, key, value) {
|
|
138
|
+
key = _toPropertyKey(key);
|
|
139
|
+
if (key in obj) {
|
|
140
|
+
Object.defineProperty(obj, key, {
|
|
141
|
+
value: value,
|
|
142
|
+
enumerable: true,
|
|
143
|
+
configurable: true,
|
|
144
|
+
writable: true
|
|
145
|
+
});
|
|
146
|
+
} else {
|
|
147
|
+
obj[key] = value;
|
|
148
|
+
}
|
|
149
|
+
return obj;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
var HIDDEN_COLUMNS_STORAGE_KEY = "neeto-molecules-hidden-columns";
|
|
153
|
+
|
|
109
154
|
var removeFixedColumns = function removeFixedColumns(fixedColumns, columnData) {
|
|
110
155
|
return removeBy({
|
|
111
156
|
dataIndex: includes(__, fixedColumns)
|
|
@@ -125,6 +170,58 @@ var removeDeletedColumns = function removeDeletedColumns(hiddenColumns, columnDa
|
|
|
125
170
|
});
|
|
126
171
|
};
|
|
127
172
|
|
|
173
|
+
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
174
|
+
var useHiddenColumnStore = create(persist(function () {
|
|
175
|
+
return {};
|
|
176
|
+
}, {
|
|
177
|
+
name: HIDDEN_COLUMNS_STORAGE_KEY
|
|
178
|
+
}));
|
|
179
|
+
var useHiddenColumns = function useHiddenColumns(localStorageKey) {
|
|
180
|
+
var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
181
|
+
var hiddenColumns = useHiddenColumnStore(function (state) {
|
|
182
|
+
return state[localStorageKey];
|
|
183
|
+
});
|
|
184
|
+
var setHiddenColumns = function setHiddenColumns(columns) {
|
|
185
|
+
return useHiddenColumnStore.setState(_defineProperty({}, localStorageKey, columns));
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
// Migrates values from old location to new zustand location.
|
|
189
|
+
useEffect(function () {
|
|
190
|
+
var oldValue = getFromLocalStorage(localStorageKey);
|
|
191
|
+
if (oldValue) {
|
|
192
|
+
setHiddenColumns(oldValue);
|
|
193
|
+
removeFromLocalStorage(localStorageKey);
|
|
194
|
+
} else if (!hiddenColumns) {
|
|
195
|
+
setHiddenColumns(initialValue);
|
|
196
|
+
}
|
|
197
|
+
}, [localStorageKey]);
|
|
198
|
+
var hideColumn = function hideColumn(dataIndex) {
|
|
199
|
+
return setHiddenColumns(append(dataIndex, hiddenColumns));
|
|
200
|
+
};
|
|
201
|
+
var showColumn = function showColumn(dataIndex) {
|
|
202
|
+
return setHiddenColumns(without([dataIndex], hiddenColumns));
|
|
203
|
+
};
|
|
204
|
+
var getVisibleColumnData = function getVisibleColumnData(columnData) {
|
|
205
|
+
return removeBy({
|
|
206
|
+
dataIndex: includes(__, hiddenColumns || [])
|
|
207
|
+
}, columnData);
|
|
208
|
+
};
|
|
209
|
+
var onColumnDataChange = function onColumnDataChange(columnData) {
|
|
210
|
+
if (isEmpty(columnData) || !hiddenColumns) return;
|
|
211
|
+
var newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);
|
|
212
|
+
if (!equals(newHiddenColumns, hiddenColumns)) {
|
|
213
|
+
setHiddenColumns(newHiddenColumns);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
return {
|
|
217
|
+
hiddenColumns: hiddenColumns,
|
|
218
|
+
hideColumn: hideColumn,
|
|
219
|
+
showColumn: showColumn,
|
|
220
|
+
getVisibleColumnData: getVisibleColumnData,
|
|
221
|
+
onColumnDataChange: onColumnDataChange
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
|
|
128
225
|
var _excluded = ["actionBlock", "checkboxProps", "columnData", "fixedColumns", "isSearchable", "localStorageKey", "initialValue", "noColumnMessage", "onChange", "searchProps"];
|
|
129
226
|
var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
130
227
|
var actionBlock = _ref.actionBlock,
|
|
@@ -150,53 +247,47 @@ var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
150
247
|
var Divider = Dropdown.Divider,
|
|
151
248
|
Menu = Dropdown.Menu,
|
|
152
249
|
MenuItem = Dropdown.MenuItem;
|
|
153
|
-
var _useLocalStorage = useLocalStorage(localStorageKey, initialValue),
|
|
154
|
-
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
155
|
-
hiddenColumns = _useLocalStorage2[0],
|
|
156
|
-
setHiddenColumns = _useLocalStorage2[1];
|
|
157
250
|
var _useState = useState(""),
|
|
158
251
|
_useState2 = _slicedToArray(_useState, 2),
|
|
159
252
|
searchTerm = _useState2[0],
|
|
160
253
|
setSearchTerm = _useState2[1];
|
|
254
|
+
var _useTranslation = useTranslation(),
|
|
255
|
+
t = _useTranslation.t;
|
|
256
|
+
var _useHiddenColumns = useHiddenColumns(localStorageKey, initialValue),
|
|
257
|
+
_useHiddenColumns$hid = _useHiddenColumns.hiddenColumns,
|
|
258
|
+
hiddenColumns = _useHiddenColumns$hid === void 0 ? [] : _useHiddenColumns$hid,
|
|
259
|
+
hideColumn = _useHiddenColumns.hideColumn,
|
|
260
|
+
showColumn = _useHiddenColumns.showColumn,
|
|
261
|
+
getVisibleColumnData = _useHiddenColumns.getVisibleColumnData,
|
|
262
|
+
onColumnDataChange = _useHiddenColumns.onColumnDataChange;
|
|
263
|
+
useEffect(function () {
|
|
264
|
+
onChange(getVisibleColumnData(columnData), hiddenColumns);
|
|
265
|
+
}, [hiddenColumns]);
|
|
266
|
+
useEffect(function () {
|
|
267
|
+
onColumnDataChange(columnData);
|
|
268
|
+
}, [columnData]);
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* @deprecated Use showColumn|hideColumn from useHiddenColumns
|
|
272
|
+
*/
|
|
161
273
|
useImperativeHandle(ref, function () {
|
|
162
274
|
return {
|
|
163
|
-
hideColumn:
|
|
164
|
-
|
|
165
|
-
},
|
|
166
|
-
showColumn: function showColumn(dataIndex) {
|
|
167
|
-
setHiddenColumns(without([dataIndex]));
|
|
168
|
-
}
|
|
275
|
+
hideColumn: hideColumn,
|
|
276
|
+
showColumn: showColumn
|
|
169
277
|
};
|
|
170
278
|
}, []);
|
|
171
|
-
var columns = removeFixedColumns(fixedColumns, columnData);
|
|
172
|
-
var filteredColumns = filterBySearchTerm(searchTerm, columns);
|
|
173
279
|
var handleChange = function handleChange(_ref2) {
|
|
174
280
|
var _ref2$target = _ref2.target,
|
|
175
281
|
dataIndex = _ref2$target.name,
|
|
176
282
|
checked = _ref2$target.checked;
|
|
177
|
-
|
|
178
|
-
setHiddenColumns(newHiddenColumns);
|
|
179
|
-
onChange(removeBy({
|
|
180
|
-
dataIndex: includes(__, newHiddenColumns)
|
|
181
|
-
}, columnData), newHiddenColumns);
|
|
283
|
+
if (checked) showColumn(dataIndex);else hideColumn(dataIndex);
|
|
182
284
|
};
|
|
183
285
|
var handleSearch = function handleSearch(_ref3) {
|
|
184
286
|
var value = _ref3.target.value;
|
|
185
287
|
return setSearchTerm(value);
|
|
186
288
|
};
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
onChange(removeBy({
|
|
190
|
-
dataIndex: includes(__, newHiddenColumns)
|
|
191
|
-
}, columnData), newHiddenColumns);
|
|
192
|
-
}, []);
|
|
193
|
-
useEffect(function () {
|
|
194
|
-
if (isEmpty(columnData)) return;
|
|
195
|
-
var newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);
|
|
196
|
-
setHiddenColumns(newHiddenColumns);
|
|
197
|
-
}, [columnData]);
|
|
198
|
-
var _useTranslation = useTranslation(),
|
|
199
|
-
t = _useTranslation.t;
|
|
289
|
+
var columns = removeFixedColumns(fixedColumns, columnData);
|
|
290
|
+
var filteredColumns = filterBySearchTerm(searchTerm, columns);
|
|
200
291
|
return /*#__PURE__*/React.createElement(Dropdown, _extends({
|
|
201
292
|
buttonSize: "medium",
|
|
202
293
|
buttonStyle: "text",
|
|
@@ -237,5 +328,5 @@ var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
237
328
|
});
|
|
238
329
|
Columns.displayName = "Columns";
|
|
239
330
|
|
|
240
|
-
export { Columns as default };
|
|
331
|
+
export { HIDDEN_COLUMNS_STORAGE_KEY, Columns as default, useHiddenColumnStore, useHiddenColumns };
|
|
241
332
|
//# sourceMappingURL=Columns.js.map
|
package/dist/Columns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Columns.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../src/components/Columns/utils.js","../src/components/Columns/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { existsBy, removeBy } from \"neetocist\";\nimport { __, filter, includes, toLower, trim } from \"ramda\";\n\nexport const removeFixedColumns = (fixedColumns, columnData) =>\n removeBy({ dataIndex: includes(__, fixedColumns) }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty, removeBy } from \"neetocist\";\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { __, append, identity, includes, isEmpty, without } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n filterBySearchTerm,\n removeDeletedColumns,\n removeFixedColumns,\n} from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n fixedColumns = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [hiddenColumns, setHiddenColumns] = useLocalStorage(\n localStorageKey,\n initialValue\n );\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n useImperativeHandle(\n ref,\n () => ({\n hideColumn: dataIndex => {\n setHiddenColumns(append(dataIndex));\n },\n showColumn: dataIndex => {\n setHiddenColumns(without([dataIndex]));\n },\n }),\n []\n );\n\n const columns = removeFixedColumns(fixedColumns, columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n const newHiddenColumns = checked\n ? without([dataIndex], hiddenColumns)\n : append(dataIndex, hiddenColumns);\n\n setHiddenColumns(newHiddenColumns);\n onChange(\n removeBy({ dataIndex: includes(__, newHiddenColumns) }, columnData),\n newHiddenColumns\n );\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n useEffect(() => {\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n\n onChange(\n removeBy({ dataIndex: includes(__, newHiddenColumns) }, columnData),\n newHiddenColumns\n );\n }, []);\n\n useEffect(() => {\n if (isEmpty(columnData)) return;\n\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n setHiddenColumns(newHiddenColumns);\n }, [columnData]);\n\n const { t } = useTranslation();\n\n return (\n <Dropdown\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div>\n {isSearchable && (\n <Input\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n data-cy=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-w-full neeto-ui-px-3 neeto-ui-py-2 hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * The list of columns that are not allowed to be hidden. This is the `dataIndex` attribute from columnData (optional).\n */\n fixedColumns: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","objectWithoutPropertiesLoose","removeFixedColumns","fixedColumns","columnData","removeBy","dataIndex","includes","__","filterBySearchTerm","searchTerm","columns","filter","_ref","title","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$fixedColumns","_ref$isSearchable","isSearchable","_ref$localStorageKey","localStorageKey","_ref$initialValue","initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","setHiddenColumns","_useState","useState","_useState2","setSearchTerm","useImperativeHandle","hideColumn","append","showColumn","without","filteredColumns","handleChange","_ref2","_ref2$target","target","name","checked","newHiddenColumns","handleSearch","_ref3","value","useEffect","isEmpty","_useTranslation","useTranslation","React","createElement","_extends","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","Input","className","placeholder","prefix","Search","type","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Columns.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/components/Columns/constants.js","../src/components/Columns/utils.js","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/Columns.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\n","import { existsBy, removeBy } from \"neetocist\";\nimport { __, filter, includes, toLower, trim } from \"ramda\";\n\nexport const removeFixedColumns = (fixedColumns, columnData) =>\n removeBy({ dataIndex: includes(__, fixedColumns) }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, append, without, includes, isEmpty, equals } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = dataIndex =>\n setHiddenColumns(append(dataIndex, hiddenColumns));\n\n const showColumn = dataIndex =>\n setHiddenColumns(without([dataIndex], hiddenColumns));\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { identity } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useHiddenColumns } from \"./useHiddenColumns\";\nimport { filterBySearchTerm, removeFixedColumns } from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n fixedColumns = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n hiddenColumns = [],\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n } = useHiddenColumns(localStorageKey, initialValue);\n\n useEffect(() => {\n onChange(getVisibleColumnData(columnData), hiddenColumns);\n }, [hiddenColumns]);\n\n useEffect(() => {\n onColumnDataChange(columnData);\n }, [columnData]);\n\n /**\n * @deprecated Use showColumn|hideColumn from useHiddenColumns\n */\n useImperativeHandle(ref, () => ({ hideColumn, showColumn }), []);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const columns = removeFixedColumns(fixedColumns, columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n return (\n <Dropdown\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div>\n {isSearchable && (\n <Input\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n data-cy=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-w-full neeto-ui-px-3 neeto-ui-py-2 hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * The list of columns that are not allowed to be hidden. This is the `dataIndex` attribute from columnData (optional).\n */\n fixedColumns: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","objectWithoutPropertiesLoose","toPrimitive","toPropertyKey","HIDDEN_COLUMNS_STORAGE_KEY","removeFixedColumns","fixedColumns","columnData","removeBy","dataIndex","includes","__","filterBySearchTerm","searchTerm","columns","filter","_ref","title","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","useHiddenColumnStore","create","persist","name","useHiddenColumns","localStorageKey","initialValue","arguments","length","undefined","state","setHiddenColumns","setState","_defineProperty","useEffect","oldValue","getFromLocalStorage","removeFromLocalStorage","hideColumn","append","showColumn","without","getVisibleColumnData","onColumnDataChange","isEmpty","newHiddenColumns","equals","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$fixedColumns","_ref$isSearchable","isSearchable","_ref$localStorageKey","_ref$initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useHiddenColumns","_useHiddenColumns$hid","useImperativeHandle","handleChange","_ref2","_ref2$target","target","checked","handleSearch","_ref3","value","filteredColumns","React","createElement","_extends","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","Input","className","placeholder","prefix","Search","type","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { isPresent, noop } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { ChatEmpty, Book, Gift, Keyboard, Left } from '@bigbinary/neeto-icons';
|
|
5
|
+
import { Typography, Tooltip } from '@bigbinary/neetoui';
|
|
6
|
+
import { toLower, curry, is, includes, __, all, equals, omit, inc, not } from 'ramda';
|
|
7
|
+
import { useTranslation } from 'react-i18next';
|
|
8
|
+
import { NavLink, useLocation } from 'react-router-dom';
|
|
9
|
+
import { t } from 'i18next';
|
|
10
|
+
|
|
11
|
+
function _extends() {
|
|
12
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
13
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
14
|
+
var source = arguments[i];
|
|
15
|
+
for (var key in source) {
|
|
16
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
17
|
+
target[key] = source[key];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return target;
|
|
22
|
+
};
|
|
23
|
+
return _extends.apply(this, arguments);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function _typeof(o) {
|
|
27
|
+
"@babel/helpers - typeof";
|
|
28
|
+
|
|
29
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
30
|
+
return typeof o;
|
|
31
|
+
} : function (o) {
|
|
32
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
33
|
+
}, _typeof(o);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _toPrimitive(input, hint) {
|
|
37
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
38
|
+
var prim = input[Symbol.toPrimitive];
|
|
39
|
+
if (prim !== undefined) {
|
|
40
|
+
var res = prim.call(input, hint || "default");
|
|
41
|
+
if (_typeof(res) !== "object") return res;
|
|
42
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
43
|
+
}
|
|
44
|
+
return (hint === "string" ? String : Number)(input);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function _toPropertyKey(arg) {
|
|
48
|
+
var key = _toPrimitive(arg, "string");
|
|
49
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function _defineProperty(obj, key, value) {
|
|
53
|
+
key = _toPropertyKey(key);
|
|
54
|
+
if (key in obj) {
|
|
55
|
+
Object.defineProperty(obj, key, {
|
|
56
|
+
value: value,
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true
|
|
60
|
+
});
|
|
61
|
+
} else {
|
|
62
|
+
obj[key] = value;
|
|
63
|
+
}
|
|
64
|
+
return obj;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
68
|
+
if (source == null) return {};
|
|
69
|
+
var target = {};
|
|
70
|
+
var sourceKeys = Object.keys(source);
|
|
71
|
+
var key, i;
|
|
72
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
73
|
+
key = sourceKeys[i];
|
|
74
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
75
|
+
target[key] = source[key];
|
|
76
|
+
}
|
|
77
|
+
return target;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function _objectWithoutProperties(source, excluded) {
|
|
81
|
+
if (source == null) return {};
|
|
82
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
83
|
+
var key, i;
|
|
84
|
+
if (Object.getOwnPropertySymbols) {
|
|
85
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
86
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
87
|
+
key = sourceSymbolKeys[i];
|
|
88
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
89
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
90
|
+
target[key] = source[key];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return target;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
var shouldShowWhatsNew = function shouldShowWhatsNew() {
|
|
97
|
+
var _window$globalProps, _window$globalProps$u;
|
|
98
|
+
var currentUserEmail = (_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 ? void 0 : (_window$globalProps$u = _window$globalProps.user) === null || _window$globalProps$u === void 0 ? void 0 : _window$globalProps$u.email;
|
|
99
|
+
return window.location.hostname === "localhost" || currentUserEmail === "oliver@example.com" || (currentUserEmail === null || currentUserEmail === void 0 ? void 0 : currentUserEmail.endsWith("@bigbinary.com"));
|
|
100
|
+
};
|
|
101
|
+
var CHANGELOG_WIDGET_TRIGGER_ID = "neetochangelog-trigger";
|
|
102
|
+
({
|
|
103
|
+
liveChatProps: {
|
|
104
|
+
label: t("neetoMolecules.sidebar.helpLinks.liveChat"),
|
|
105
|
+
icon: ChatEmpty,
|
|
106
|
+
"data-cy": "help-link-live-chat-button",
|
|
107
|
+
onClick: function onClick() {
|
|
108
|
+
var _window$NeetoChat, _window$NeetoChat$con, _window$NeetoChat2, _window$NeetoChat2$co;
|
|
109
|
+
(_window$NeetoChat = window.NeetoChat) === null || _window$NeetoChat === void 0 ? void 0 : (_window$NeetoChat$con = _window$NeetoChat.contextualHelp) === null || _window$NeetoChat$con === void 0 ? void 0 : _window$NeetoChat$con.maximizeWidget();
|
|
110
|
+
(_window$NeetoChat2 = window.NeetoChat) === null || _window$NeetoChat2 === void 0 ? void 0 : (_window$NeetoChat2$co = _window$NeetoChat2.contextualHelp) === null || _window$NeetoChat2$co === void 0 ? void 0 : _window$NeetoChat2$co.openWidget();
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
helpCenterProps: {
|
|
114
|
+
label: t("neetoMolecules.sidebar.helpLinks.helpArticles"),
|
|
115
|
+
icon: Book,
|
|
116
|
+
"data-cy": "help-link-help-center-button",
|
|
117
|
+
href: "https://help.".concat(toLower(globalProps.appName), ".com/"),
|
|
118
|
+
target: "_blank"
|
|
119
|
+
},
|
|
120
|
+
changelogProps: {
|
|
121
|
+
id: CHANGELOG_WIDGET_TRIGGER_ID,
|
|
122
|
+
label: t("neetoMolecules.sidebar.helpLinks.whatsNew"),
|
|
123
|
+
icon: Gift,
|
|
124
|
+
"data-cy": "help-link-changelog-button",
|
|
125
|
+
isVisible: shouldShowWhatsNew
|
|
126
|
+
},
|
|
127
|
+
keyboardShortcutProps: {
|
|
128
|
+
label: t("neetoMolecules.sidebar.helpLinks.keyboardShortcuts"),
|
|
129
|
+
icon: Keyboard,
|
|
130
|
+
"data-cy": "help-link-keyboard-shortcut-button"
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
var NAVLINK_KEYS_TO_OMIT = ["Component", "component"];
|
|
134
|
+
|
|
135
|
+
var isSubRouteActive = function isSubRouteActive(_ref) {
|
|
136
|
+
var subRoute = _ref.subRoute,
|
|
137
|
+
location = _ref.location,
|
|
138
|
+
isSettingsItems = _ref.isSettingsItems;
|
|
139
|
+
var currentBrowserUrl = new URL(location.pathname + location.search + location.hash, window.location.origin);
|
|
140
|
+
var targetUrl = new URL(subRoute, window.location.origin);
|
|
141
|
+
if (!currentBrowserUrl.pathname.startsWith(targetUrl.pathname)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
var targetSearchParams = targetUrl.searchParams;
|
|
145
|
+
var targetSearchKeys = Array.from(targetSearchParams.keys());
|
|
146
|
+
var targetUrlWithSearch = targetUrl.pathname + targetUrl.search + targetUrl.hash;
|
|
147
|
+
var currentUrlWithSearch = currentBrowserUrl.pathname + currentBrowserUrl.search + currentBrowserUrl.hash;
|
|
148
|
+
var isLinkActive = all(function (key) {
|
|
149
|
+
return currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key);
|
|
150
|
+
}, targetSearchKeys) && equals(currentBrowserUrl.hash, targetUrl.hash);
|
|
151
|
+
if (isSettingsItems) {
|
|
152
|
+
return isLinkActive && equals(currentUrlWithSearch, targetUrlWithSearch);
|
|
153
|
+
}
|
|
154
|
+
return isLinkActive;
|
|
155
|
+
};
|
|
156
|
+
var filterByPermissions = curry(function (_ref2) {
|
|
157
|
+
var permissions = _ref2.permissions;
|
|
158
|
+
if (permissions) {
|
|
159
|
+
return is(Array, permissions) ? permissions.some(includes(__, globalProps.permissions)) : globalProps.permissions.includes(permissions);
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
var _excluded$1 = ["label", "to", "count", "dataCy", "items"];
|
|
165
|
+
var Items = function Items(_ref) {
|
|
166
|
+
var items = _ref.items,
|
|
167
|
+
_ref$level = _ref.level,
|
|
168
|
+
level = _ref$level === void 0 ? 0 : _ref$level,
|
|
169
|
+
_ref$isSettingsItems = _ref.isSettingsItems,
|
|
170
|
+
isSettingsItems = _ref$isSettingsItems === void 0 ? false : _ref$isSettingsItems;
|
|
171
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
172
|
+
className: "neeto-molecules-sidebar__sublink-wrapper ml-".concat(level * 2),
|
|
173
|
+
"data-cy": "sidebar-sub-link-wrapper"
|
|
174
|
+
}, items.filter(filterByPermissions).map(function (_ref2, index) {
|
|
175
|
+
var label = _ref2.label,
|
|
176
|
+
to = _ref2.to,
|
|
177
|
+
count = _ref2.count,
|
|
178
|
+
dataCy = _ref2.dataCy,
|
|
179
|
+
subItems = _ref2.items,
|
|
180
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded$1);
|
|
181
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
182
|
+
key: index
|
|
183
|
+
}, /*#__PURE__*/React.createElement(NavLink, _extends({
|
|
184
|
+
to: to,
|
|
185
|
+
activeClassName: "active",
|
|
186
|
+
className: "neeto-ui-flex neeto-ui-items-center neeto-ui-select-none neeto-molecules-sidebar__sublink",
|
|
187
|
+
"data-cy": "".concat(dataCy, "-sub-link"),
|
|
188
|
+
key: index,
|
|
189
|
+
isActive: function isActive() {
|
|
190
|
+
return isSubRouteActive({
|
|
191
|
+
subRoute: to,
|
|
192
|
+
location: location,
|
|
193
|
+
isSettingsItems: isSettingsItems
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}, omit(NAVLINK_KEYS_TO_OMIT, otherProps)), /*#__PURE__*/React.createElement(Typography, {
|
|
197
|
+
className: "neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow",
|
|
198
|
+
component: "span",
|
|
199
|
+
"data-cy": "".concat(dataCy, "-sub-link-label"),
|
|
200
|
+
style: "body2"
|
|
201
|
+
}, label), /*#__PURE__*/React.createElement(Typography, {
|
|
202
|
+
className: "neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0",
|
|
203
|
+
component: "span",
|
|
204
|
+
"data-cy": "".concat(dataCy, "-sub-link-count"),
|
|
205
|
+
style: "body2"
|
|
206
|
+
}, count > 999 ? "999+" : count)), isPresent(subItems) && /*#__PURE__*/React.createElement(Items, {
|
|
207
|
+
isSettingsItems: isSettingsItems,
|
|
208
|
+
items: subItems,
|
|
209
|
+
level: inc(level)
|
|
210
|
+
}));
|
|
211
|
+
}));
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
var _excluded = ["label", "to", "items"];
|
|
215
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
216
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
217
|
+
var SelectedLink = function SelectedLink(_ref) {
|
|
218
|
+
var navLink = _ref.navLink,
|
|
219
|
+
_ref$setSelectedNavLi = _ref.setSelectedNavLink,
|
|
220
|
+
setSelectedNavLink = _ref$setSelectedNavLi === void 0 ? noop : _ref$setSelectedNavLi,
|
|
221
|
+
_ref$isConfigurePage = _ref.isConfigurePage,
|
|
222
|
+
isConfigurePage = _ref$isConfigurePage === void 0 ? false : _ref$isConfigurePage;
|
|
223
|
+
var location = useLocation();
|
|
224
|
+
var _useTranslation = useTranslation(),
|
|
225
|
+
t = _useTranslation.t;
|
|
226
|
+
var label = navLink.label,
|
|
227
|
+
to = navLink.to,
|
|
228
|
+
items = navLink.items,
|
|
229
|
+
otherProps = _objectWithoutProperties(navLink, _excluded);
|
|
230
|
+
var HeaderComponent = isPresent(to) ? NavLink : "div";
|
|
231
|
+
var url = new URL(to, window.location.href);
|
|
232
|
+
var isActive = function isActive() {
|
|
233
|
+
return is(Function, otherProps.isActive) ? otherProps.isActive() : location.pathname.startsWith(url.pathname);
|
|
234
|
+
};
|
|
235
|
+
var handleGoBack = function handleGoBack(event) {
|
|
236
|
+
event.preventDefault();
|
|
237
|
+
setSelectedNavLink({});
|
|
238
|
+
};
|
|
239
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
240
|
+
className: "neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable"
|
|
241
|
+
}, /*#__PURE__*/React.createElement(HeaderComponent, _extends({
|
|
242
|
+
activeClassName: "active",
|
|
243
|
+
className: classNames("neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link", {
|
|
244
|
+
active: isConfigurePage
|
|
245
|
+
})
|
|
246
|
+
}, _objectSpread({
|
|
247
|
+
isActive: isActive,
|
|
248
|
+
to: to
|
|
249
|
+
}, otherProps)), not(isConfigurePage) && /*#__PURE__*/React.createElement(Tooltip, {
|
|
250
|
+
content: t("neetoMolecules.sidebar.goBack"),
|
|
251
|
+
position: "top"
|
|
252
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
253
|
+
className: "neeto-molecules-sidebar__link-icon",
|
|
254
|
+
"data-testid": "".concat(label, "-go-back-button"),
|
|
255
|
+
onClick: handleGoBack
|
|
256
|
+
}, /*#__PURE__*/React.createElement(Left, null))), /*#__PURE__*/React.createElement(Typography, {
|
|
257
|
+
component: "span",
|
|
258
|
+
style: "body2",
|
|
259
|
+
weight: "normal",
|
|
260
|
+
className: classNames("neeto-molecules-sidebar__link-label", {
|
|
261
|
+
"ml-7": isConfigurePage
|
|
262
|
+
})
|
|
263
|
+
}, label)), items && /*#__PURE__*/React.createElement(Items, {
|
|
264
|
+
items: items,
|
|
265
|
+
isSettingsItems: not(isConfigurePage)
|
|
266
|
+
}));
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
|
|
270
|
+
var configureNavLink = _ref.configureNavLink;
|
|
271
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
272
|
+
className: " neeto-molecules-sidebar__wrapper neeto-molecules-sidebar__wrapper--configure-page",
|
|
273
|
+
"data-testid": "configure-page-sidebar-container"
|
|
274
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
275
|
+
className: "neeto-molecules-sidebar neeto-molecules-sidebar--configure-page neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden neeto-molecules-sidebar--focus-mode",
|
|
276
|
+
"data-testid": "configure-page-sidebar"
|
|
277
|
+
}, /*#__PURE__*/React.createElement(SelectedLink, {
|
|
278
|
+
isConfigurePage: true,
|
|
279
|
+
navLink: configureNavLink
|
|
280
|
+
})));
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
export { ConfigurePageSidebar as default };
|
|
284
|
+
//# sourceMappingURL=ConfigurePageSidebar.js.map
|