impact-ui 3.7.27 → 3.7.28-alpha.2
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/package.json
CHANGED
|
@@ -25,7 +25,7 @@ export const BottomSheet = ({
|
|
|
25
25
|
|
|
26
26
|
useEffect(() => {
|
|
27
27
|
if (open) {
|
|
28
|
-
setContentHeight("auto");
|
|
28
|
+
// setContentHeight("auto");
|
|
29
29
|
const timeout = setTimeout(() => {
|
|
30
30
|
const height =
|
|
31
31
|
document.querySelector(".ia_modalBody")?.scrollHeight + 105;
|
|
@@ -33,9 +33,10 @@ export const BottomSheet = ({
|
|
|
33
33
|
setContentHeight(cappedHeight);
|
|
34
34
|
}, 0);
|
|
35
35
|
return () => clearTimeout(timeout);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
}
|
|
37
|
+
// else {
|
|
38
|
+
// setContentHeight("auto");
|
|
39
|
+
// }
|
|
39
40
|
}, [open, children, maxHeight]);
|
|
40
41
|
|
|
41
42
|
const hasFooter = footerOptions && Object.keys(footerOptions)?.length > 0;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { Fragment, useState } from "react";
|
|
2
2
|
import { BottomSheet as BottomSheetWrapper } from "../components/BottomSheet";
|
|
3
3
|
import { Button } from "../components/Button";
|
|
4
|
+
import { Table } from "../components/Table";
|
|
5
|
+
import { Select } from "../components/Select";
|
|
4
6
|
import { fn } from "@storybook/test";
|
|
5
7
|
|
|
6
8
|
export default {
|
|
@@ -224,3 +226,232 @@ Default.args = {
|
|
|
224
226
|
),
|
|
225
227
|
withExpandIcon: false,
|
|
226
228
|
};
|
|
229
|
+
|
|
230
|
+
const SelectCellRenderer = (params) => {
|
|
231
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
232
|
+
const [currentOptions, setCurrentOptions] = useState([]);
|
|
233
|
+
const [isSelectAll, setIsSelectAll] = useState(false);
|
|
234
|
+
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
235
|
+
|
|
236
|
+
const optionsMap = {
|
|
237
|
+
vendorColor: [
|
|
238
|
+
{ label: "Gold", value: "gold" },
|
|
239
|
+
{ label: "Silver", value: "silver" },
|
|
240
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
241
|
+
{ label: "Black", value: "black" },
|
|
242
|
+
{ label: "Gold", value: "gold" },
|
|
243
|
+
{ label: "Silver", value: "silver" },
|
|
244
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
245
|
+
{ label: "Black", value: "black" },
|
|
246
|
+
{ label: "Gold", value: "gold" },
|
|
247
|
+
{ label: "Silver", value: "silver" },
|
|
248
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
249
|
+
{ label: "Black", value: "black" },
|
|
250
|
+
{ label: "Gold", value: "gold" },
|
|
251
|
+
{ label: "Silver", value: "silver" },
|
|
252
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
253
|
+
{ label: "Black", value: "black" },
|
|
254
|
+
{ label: "Gold", value: "gold" },
|
|
255
|
+
{ label: "Silver", value: "silver" },
|
|
256
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
257
|
+
{ label: "Black", value: "black" },
|
|
258
|
+
],
|
|
259
|
+
applicationEmbellishment: [
|
|
260
|
+
{ label: "Stone", value: "stone" },
|
|
261
|
+
{ label: "Enamel", value: "enamel" },
|
|
262
|
+
{ label: "Plain", value: "plain" },
|
|
263
|
+
],
|
|
264
|
+
productGrpDesc: [
|
|
265
|
+
{ label: "Watches", value: "watches" },
|
|
266
|
+
{ label: "Jewelry", value: "jewelry" },
|
|
267
|
+
{ label: "Accessories", value: "accessories" },
|
|
268
|
+
],
|
|
269
|
+
collection: [
|
|
270
|
+
{ label: "Classic", value: "classic" },
|
|
271
|
+
{ label: "Modern", value: "modern" },
|
|
272
|
+
{ label: "Heritage", value: "heritage" },
|
|
273
|
+
],
|
|
274
|
+
gender: [
|
|
275
|
+
{ label: "Male", value: "male" },
|
|
276
|
+
{ label: "Female", value: "female" },
|
|
277
|
+
{ label: "Unisex", value: "unisex" },
|
|
278
|
+
],
|
|
279
|
+
metalColor: [
|
|
280
|
+
{ label: "Yellow Gold", value: "yellow_gold" },
|
|
281
|
+
{ label: "White Gold", value: "white_gold" },
|
|
282
|
+
{ label: "Rose Gold", value: "rose_gold" },
|
|
283
|
+
],
|
|
284
|
+
dial: [
|
|
285
|
+
{ label: "Round", value: "round" },
|
|
286
|
+
{ label: "Square", value: "square" },
|
|
287
|
+
{ label: "Oval", value: "oval" },
|
|
288
|
+
],
|
|
289
|
+
logoSilhouette: [
|
|
290
|
+
{ label: "Embossed", value: "embossed" },
|
|
291
|
+
{ label: "Printed", value: "printed" },
|
|
292
|
+
{ label: "None", value: "none" },
|
|
293
|
+
],
|
|
294
|
+
subCollection: [
|
|
295
|
+
{ label: "Premium", value: "premium" },
|
|
296
|
+
{ label: "Standard", value: "standard" },
|
|
297
|
+
{ label: "Limited Edition", value: "limited_edition" },
|
|
298
|
+
],
|
|
299
|
+
movementType: [
|
|
300
|
+
{ label: "Automatic", value: "automatic" },
|
|
301
|
+
{ label: "Quartz", value: "quartz" },
|
|
302
|
+
{ label: "Mechanical", value: "mechanical" },
|
|
303
|
+
],
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
const fieldOptions =
|
|
307
|
+
optionsMap[params.colDef.field] || [
|
|
308
|
+
{ label: "Option 1", value: "1" },
|
|
309
|
+
{ label: "Option 2", value: "2" },
|
|
310
|
+
{ label: "Option 3", value: "3" },
|
|
311
|
+
];
|
|
312
|
+
|
|
313
|
+
return (
|
|
314
|
+
<Select
|
|
315
|
+
placeholder={"Select"}
|
|
316
|
+
initialOptions={fieldOptions}
|
|
317
|
+
isOpen={isOpen}
|
|
318
|
+
setIsOpen={setIsOpen}
|
|
319
|
+
currentOptions={currentOptions}
|
|
320
|
+
setCurrentOptions={setCurrentOptions}
|
|
321
|
+
selectedOptions={selectedOptions}
|
|
322
|
+
setSelectedOptions={setSelectedOptions}
|
|
323
|
+
isSelectAll={isSelectAll}
|
|
324
|
+
setIsSelectAll={setIsSelectAll}
|
|
325
|
+
withPortal
|
|
326
|
+
isAgGridCellRenderer
|
|
327
|
+
column={params.column}
|
|
328
|
+
/>
|
|
329
|
+
);
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
const tableColumnDefs = [
|
|
333
|
+
{
|
|
334
|
+
field: "placeholderChoiceId",
|
|
335
|
+
headerName: "Placeholder Choice ID",
|
|
336
|
+
minWidth: 180,
|
|
337
|
+
pinned: "left",
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
field: "vendorColor",
|
|
341
|
+
headerName: "Vendor Color",
|
|
342
|
+
minWidth: 160,
|
|
343
|
+
cellRenderer: SelectCellRenderer,
|
|
344
|
+
cellClass: "cell-renderer",
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
field: "applicationEmbellishment",
|
|
348
|
+
headerName: "Application Embellishment",
|
|
349
|
+
minWidth: 200,
|
|
350
|
+
cellRenderer: SelectCellRenderer,
|
|
351
|
+
cellClass: "cell-renderer",
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
field: "productGrpDesc",
|
|
355
|
+
headerName: "Product Grp Desc",
|
|
356
|
+
minWidth: 170,
|
|
357
|
+
cellRenderer: SelectCellRenderer,
|
|
358
|
+
cellClass: "cell-renderer",
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
field: "collection",
|
|
362
|
+
headerName: "Collection",
|
|
363
|
+
minWidth: 150,
|
|
364
|
+
cellRenderer: SelectCellRenderer,
|
|
365
|
+
cellClass: "cell-renderer",
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
field: "gender",
|
|
369
|
+
headerName: "Gender",
|
|
370
|
+
minWidth: 150,
|
|
371
|
+
cellRenderer: SelectCellRenderer,
|
|
372
|
+
cellClass: "cell-renderer",
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
field: "metalColor",
|
|
376
|
+
headerName: "Metal Color",
|
|
377
|
+
minWidth: 160,
|
|
378
|
+
cellRenderer: SelectCellRenderer,
|
|
379
|
+
cellClass: "cell-renderer",
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
field: "dial",
|
|
383
|
+
headerName: "Dial",
|
|
384
|
+
minWidth: 140,
|
|
385
|
+
cellRenderer: SelectCellRenderer,
|
|
386
|
+
cellClass: "cell-renderer",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
field: "logoSilhouette",
|
|
390
|
+
headerName: "Logo Silhouette",
|
|
391
|
+
minWidth: 170,
|
|
392
|
+
cellRenderer: SelectCellRenderer,
|
|
393
|
+
cellClass: "cell-renderer",
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
field: "subCollection",
|
|
397
|
+
headerName: "Sub Collection",
|
|
398
|
+
minWidth: 170,
|
|
399
|
+
cellRenderer: SelectCellRenderer,
|
|
400
|
+
cellClass: "cell-renderer",
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
field: "movementType",
|
|
404
|
+
headerName: "Movement Type",
|
|
405
|
+
minWidth: 170,
|
|
406
|
+
cellRenderer: SelectCellRenderer,
|
|
407
|
+
cellClass: "cell-renderer",
|
|
408
|
+
},
|
|
409
|
+
];
|
|
410
|
+
|
|
411
|
+
const tableRowData = [
|
|
412
|
+
{ placeholderChoiceId: "SGH Collect Mag..." },
|
|
413
|
+
];
|
|
414
|
+
|
|
415
|
+
const WithTableContent = (args) => {
|
|
416
|
+
const [open, setOpen] = useState(args.open);
|
|
417
|
+
|
|
418
|
+
const handleOpen = () => setOpen(true);
|
|
419
|
+
const handleClose = () => setOpen(false);
|
|
420
|
+
|
|
421
|
+
return (
|
|
422
|
+
<>
|
|
423
|
+
<Button onClick={handleOpen}>Open Bottom Sheet</Button>
|
|
424
|
+
<BottomSheetWrapper
|
|
425
|
+
{...args}
|
|
426
|
+
open={open}
|
|
427
|
+
onClose={handleClose}
|
|
428
|
+
footerOptions={
|
|
429
|
+
<Fragment>
|
|
430
|
+
<Button variant="url" onClick={handleClose}>
|
|
431
|
+
Cancel
|
|
432
|
+
</Button>
|
|
433
|
+
<Button variant="primary" onClick={() => {}}>
|
|
434
|
+
Save
|
|
435
|
+
</Button>
|
|
436
|
+
</Fragment>
|
|
437
|
+
}
|
|
438
|
+
>
|
|
439
|
+
<Table
|
|
440
|
+
rowData={tableRowData}
|
|
441
|
+
columnDefs={tableColumnDefs}
|
|
442
|
+
cardContainer={false}
|
|
443
|
+
rowHeight="default"
|
|
444
|
+
pagination={true}
|
|
445
|
+
paginationPageSize={10}
|
|
446
|
+
/>
|
|
447
|
+
</BottomSheetWrapper>
|
|
448
|
+
</>
|
|
449
|
+
);
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
export const WithSelectTable = (args) => <WithTableContent {...args} />;
|
|
453
|
+
|
|
454
|
+
WithSelectTable.args = {
|
|
455
|
+
title: "Add Choice",
|
|
456
|
+
withExpandIcon: true,
|
|
457
|
+
};
|