@teselagen/ui 0.7.33-beta.2 → 0.7.33-beta.3

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.
Files changed (115) hide show
  1. package/package.json +1 -1
  2. package/src/style.css +10 -26
  3. package/AdvancedOptions.js +0 -33
  4. package/AssignDefaultsModeContext.js +0 -22
  5. package/CellDragHandle.js +0 -132
  6. package/ColumnFilterMenu.js +0 -62
  7. package/Columns.js +0 -979
  8. package/DisabledLoadingComponent.js +0 -15
  9. package/DisplayOptions.js +0 -199
  10. package/DropdownButton.js +0 -36
  11. package/DropdownCell.js +0 -61
  12. package/EditableCell.js +0 -44
  13. package/FillWindow.css +0 -6
  14. package/FillWindow.js +0 -69
  15. package/FilterAndSortMenu.js +0 -388
  16. package/FormSeparator.js +0 -9
  17. package/LoadingDots.js +0 -14
  18. package/MatchHeaders.js +0 -234
  19. package/PagingTool.js +0 -225
  20. package/RenderCell.js +0 -191
  21. package/SearchBar.js +0 -69
  22. package/SimpleStepViz.js +0 -22
  23. package/SortableColumns.js +0 -100
  24. package/TableFormTrackerContext.js +0 -10
  25. package/Tag.js +0 -112
  26. package/ThComponent.js +0 -44
  27. package/TimelineEvent.js +0 -31
  28. package/UploadCsvWizard.css +0 -4
  29. package/UploadCsvWizard.js +0 -719
  30. package/Uploader.js +0 -1278
  31. package/adHoc.js +0 -10
  32. package/autoTooltip.js +0 -201
  33. package/basicHandleActionsWithFullState.js +0 -14
  34. package/browserUtils.js +0 -3
  35. package/combineReducersWithFullState.js +0 -14
  36. package/commandControls.js +0 -82
  37. package/commandUtils.js +0 -112
  38. package/constants.js +0 -1
  39. package/convertSchema.js +0 -69
  40. package/customIcons.js +0 -361
  41. package/dataTableEnhancer.js +0 -41
  42. package/defaultFormatters.js +0 -32
  43. package/defaultValidators.js +0 -40
  44. package/determineBlackOrWhiteTextColor.js +0 -4
  45. package/editCellHelper.js +0 -44
  46. package/filterLocalEntitiesToHasura.js +0 -216
  47. package/formatPasteData.js +0 -16
  48. package/getAllRows.js +0 -11
  49. package/getCellCopyText.js +0 -7
  50. package/getCellInfo.js +0 -36
  51. package/getCellVal.js +0 -20
  52. package/getDayjsFormatter.js +0 -35
  53. package/getFieldPathToField.js +0 -7
  54. package/getIdOrCodeOrIndex.js +0 -9
  55. package/getLastSelectedEntity.js +0 -11
  56. package/getNewEntToSelect.js +0 -25
  57. package/getNewName.js +0 -31
  58. package/getRowCopyText.js +0 -28
  59. package/getTableConfigFromStorage.js +0 -5
  60. package/getTextFromEl.js +0 -28
  61. package/getVals.js +0 -8
  62. package/handleCopyColumn.js +0 -21
  63. package/handleCopyHelper.js +0 -15
  64. package/handleCopyRows.js +0 -23
  65. package/handleCopyTable.js +0 -16
  66. package/handlerHelpers.js +0 -24
  67. package/hotkeyUtils.js +0 -131
  68. package/index.js +0 -1
  69. package/initializeHasuraWhereAndFilter.js +0 -27
  70. package/isBeingCalledExcessively.js +0 -24
  71. package/isBottomRightCornerOfRectangle.js +0 -20
  72. package/isEntityClean.js +0 -15
  73. package/isTruthy.js +0 -12
  74. package/isValueEmpty.js +0 -3
  75. package/itemUpload.js +0 -84
  76. package/menuUtils.js +0 -433
  77. package/popoverOverflowModifiers.js +0 -11
  78. package/primarySelectedValue.js +0 -1
  79. package/pureNoFunc.js +0 -31
  80. package/queryParams.js +0 -336
  81. package/removeCleanRows.js +0 -22
  82. package/renderOnDoc.js +0 -32
  83. package/rerenderOnWindowResize.js +0 -26
  84. package/rowClick.js +0 -181
  85. package/selection.js +0 -8
  86. package/showAppSpinner.js +0 -12
  87. package/showDialogOnDocBody.js +0 -33
  88. package/showProgressToast.js +0 -22
  89. package/simplifyHasuraWhere.js +0 -80
  90. package/sortify.js +0 -73
  91. package/style.css +0 -29
  92. package/tableQueryParamsToHasuraClauses.js +0 -113
  93. package/tagUtils.js +0 -45
  94. package/tgFormValues.js +0 -35
  95. package/tg_modalState.js +0 -47
  96. package/throwFormError.js +0 -16
  97. package/toastr.js +0 -148
  98. package/tryToMatchSchemas.js +0 -264
  99. package/typeToCommonType.js +0 -6
  100. package/useDeepEqualMemo.js +0 -15
  101. package/useDialog.js +0 -63
  102. package/useStableReference.js +0 -9
  103. package/useTableEntities.js +0 -38
  104. package/useTraceUpdate.js +0 -19
  105. package/utils.js +0 -37
  106. package/validateTableWideErrors.js +0 -160
  107. package/viewColumn.js +0 -97
  108. package/withField.js +0 -20
  109. package/withFields.js +0 -11
  110. package/withLocalStorage.js +0 -11
  111. package/withSelectTableRecords.js +0 -43
  112. package/withSelectedEntities.js +0 -65
  113. package/withStore.js +0 -10
  114. package/withTableParams.js +0 -288
  115. package/wrapDialog.js +0 -116
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teselagen/ui",
3
- "version": "0.7.33-beta.2",
3
+ "version": "0.7.33-beta.3",
4
4
  "main": "./src/index.js",
5
5
  "type": "module",
6
6
  "exports": {
package/src/style.css CHANGED
@@ -1,29 +1,13 @@
1
- /* Copyright (C) 2018 TeselaGen Biotechnology, Inc. */
2
- .tg-timeline {
3
- position: relative;
4
- white-space: nowrap;
1
+ .tag-select-popover {
2
+ padding: 10px;
5
3
  }
6
4
 
7
- .tg-timeline-line {
8
- position: absolute;
9
- height: 90%;
10
- border-left: 2px solid #bfccd6;
11
- top: 3px;
12
- left: 5px;
13
- }
14
-
15
- .tg-timeline-event {
16
- margin-bottom: 15px;
17
- }
18
-
19
- .tg-timeline-circle {
20
- width: 12px;
21
- min-width: 12px;
22
- height: 12px;
23
- min-height: 12px;
24
- z-index: 1;
25
- margin-right: 10px;
26
- border-radius: 100px;
27
- background: #e1e8ed;
28
- border: 2px solid #137cbd;
5
+ .tag-select-popover-inner {
6
+ max-height: 150px;
7
+ overflow: auto;
8
+ display: grid;
9
+ padding-top: 10px;
10
+ grid-column-gap: 5px;
11
+ row-gap: 8px;
12
+ grid-template-columns: max-content max-content;
29
13
  }
@@ -1,33 +0,0 @@
1
- import React, { useState } from "react";
2
- import { Icon } from "@blueprintjs/core";
3
-
4
- export default function AdvancedOptions({
5
- children,
6
- content,
7
- label,
8
- style,
9
- isOpenByDefault
10
- }) {
11
- const [isOpen, setOpen] = useState(isOpenByDefault);
12
- if (!(content || children)) {
13
- return null;
14
- }
15
- return (
16
- <div style={{ marginTop: 5, ...style }}>
17
- <div
18
- onClick={() => {
19
- setOpen(!isOpen);
20
- }}
21
- style={{ cursor: "pointer", display: "flex", alignItems: "flex-end" }}
22
- className="tg-toggle-advanced-options"
23
- >
24
- {label || "Advanced"}{" "}
25
- <Icon
26
- icon={isOpen ? "caret-down" : "caret-right"}
27
- style={{ marginLeft: 5 }}
28
- ></Icon>
29
- </div>
30
- {isOpen && <div style={{ marginTop: 10 }}>{content || children}</div>}
31
- </div>
32
- );
33
- }
@@ -1,22 +0,0 @@
1
- import React from "react";
2
-
3
- export const AssignDefaultsModeContext = React.createContext({
4
- inAssignDefaultsMode: false,
5
- // eslint-disable-next-line @typescript-eslint/no-empty-function
6
- setAssignDefaultsMode: () => {}
7
- });
8
-
9
- export const workflowDefaultParamsObj = {
10
- taskNumber: undefined,
11
- workflowDefinitionName: undefined,
12
- workflowDefinitionId: undefined,
13
- workflowRunName: undefined,
14
- workflowRunId: undefined,
15
- toolName: undefined,
16
- workflowToolTitle: undefined,
17
- workflowToolDefinitionId: undefined,
18
- workflowTaskCode: undefined
19
- };
20
- export const WorkflowDefaultParamsContext = React.createContext(
21
- workflowDefaultParamsObj
22
- );
package/CellDragHandle.js DELETED
@@ -1,132 +0,0 @@
1
- import { flatMap } from "lodash-es";
2
- import { forEach } from "lodash-es";
3
- import React, { useCallback, useRef } from "react";
4
-
5
- export const CellDragHandle = ({
6
- thisTable,
7
- onDragEnd,
8
- cellId,
9
- isSelectionARectangle
10
- }) => {
11
- const xStart = useRef(0);
12
- const timeoutkey = useRef();
13
- const rowsToSelect = useRef();
14
- const rectangleCellPaths = useRef();
15
-
16
- const handleDrag = useCallback(
17
- e => {
18
- const table = thisTable.querySelector(".rt-table");
19
- const trs = table.querySelectorAll(`.rt-tr-group.with-row-data`);
20
- const [rowId, path] = cellId.split(":");
21
- const selectedTr = table.querySelector(
22
- `.rt-tr-group.with-row-data[data-test-id="${rowId}"]`
23
- );
24
- if (!selectedTr) return;
25
- const selectedIndex = selectedTr.dataset.index;
26
-
27
- if (selectedTr && trs.length) {
28
- const selectedY = selectedTr.getBoundingClientRect().y;
29
- const cursorY = e.clientY;
30
- clearTimeout(timeoutkey.current);
31
- const updateScrollIfNecessary = () => {
32
- const { y, height } = table.getBoundingClientRect();
33
- if (cursorY < y) {
34
- table.scrollBy(0, -5);
35
- } else if (cursorY > y + height) {
36
- table.scrollBy(0, 5);
37
- }
38
- };
39
- updateScrollIfNecessary();
40
- timeoutkey.current = setInterval(() => {
41
- updateScrollIfNecessary();
42
- }, 10);
43
-
44
- const isCursorBelow = cursorY > selectedY;
45
- rowsToSelect.current = [];
46
- forEach(trs, (tr, index) => {
47
- let isSelectedForUpdate;
48
- const rowId = tr.dataset.testId;
49
- const changeDashedBorder = (path, on) => {
50
- tr.querySelector(
51
- `[data-test="tgCell_${path}"]`
52
- ).parentNode.classList[on ? "add" : "remove"]("selectedForUpdate");
53
- };
54
- if (isCursorBelow ? index > selectedIndex : index < selectedIndex) {
55
- const { y, height } = tr.getBoundingClientRect();
56
- if (isCursorBelow ? y < cursorY : y + height > cursorY) {
57
- rowsToSelect.current.push(rowId);
58
- isSelectedForUpdate = true;
59
- //add dashed borders
60
-
61
- if (rectangleCellPaths.current) {
62
- rectangleCellPaths.current.forEach(path => {
63
- changeDashedBorder(path, true);
64
- });
65
- } else {
66
- changeDashedBorder(path, true);
67
- }
68
- }
69
- }
70
- if (!isSelectedForUpdate) {
71
- if (rectangleCellPaths.current) {
72
- rectangleCellPaths.current.forEach(path => {
73
- changeDashedBorder(path, false);
74
- });
75
- } else {
76
- changeDashedBorder(path, false);
77
- }
78
- }
79
- });
80
- }
81
- },
82
- [cellId, thisTable]
83
- );
84
-
85
- const onMouseUp = useCallback(() => {
86
- clearTimeout(timeoutkey.current);
87
- const table = thisTable;
88
- const trs = table.querySelectorAll(`.rt-tr-group.with-row-data`);
89
- const [, path] = cellId.split(":");
90
- //remove the dashed borders
91
- forEach(trs, tr => {
92
- if (rectangleCellPaths.current) {
93
- rectangleCellPaths.current.forEach(path => {
94
- const el = tr.querySelector(`[data-test="tgCell_${path}"]`);
95
- el.parentNode.classList.remove("selectedForUpdate");
96
- });
97
- } else {
98
- const el = tr.querySelector(`[data-test="tgCell_${path}"]`);
99
- el.parentNode.classList.remove("selectedForUpdate");
100
- }
101
- });
102
- document.removeEventListener("mousemove", handleDrag, false);
103
- document.removeEventListener("mouseup", onMouseUp, false);
104
- onDragEnd(
105
- flatMap(rowsToSelect.current, id => {
106
- if (rectangleCellPaths.current) {
107
- return rectangleCellPaths.current.map(path => {
108
- return `${id}:${path}`;
109
- });
110
- } else {
111
- return `${id}:${path}`;
112
- }
113
- })
114
- );
115
- }, [cellId, handleDrag, onDragEnd, thisTable]);
116
-
117
- return (
118
- <div
119
- onMouseDown={e => {
120
- rowsToSelect.current = [];
121
- xStart.current = e.clientX;
122
- const { isRect, selectedPaths } = isSelectionARectangle();
123
- if (isRect) {
124
- rectangleCellPaths.current = selectedPaths;
125
- }
126
- document.addEventListener("mousemove", handleDrag, false);
127
- document.addEventListener("mouseup", onMouseUp, false);
128
- }}
129
- className="cellDragHandle"
130
- />
131
- );
132
- };
@@ -1,62 +0,0 @@
1
- import React, { useState } from "react";
2
- import classNames from "classnames";
3
- import { Icon, Popover } from "@blueprintjs/core";
4
-
5
- export const ColumnFilterMenu = ({
6
- addFilters,
7
- compact,
8
- currentFilter,
9
- currentParams,
10
- dataType,
11
- extraCompact,
12
- filterActiveForColumn,
13
- FilterMenu,
14
- filterOn,
15
- removeSingleFilter,
16
- schemaForField,
17
- setNewParams,
18
- formName
19
- }) => {
20
- const [columnFilterMenuOpen, setColumnFilterMenuOpen] = useState(false);
21
- return (
22
- <Popover
23
- position="bottom"
24
- onClose={() => setColumnFilterMenuOpen(false)}
25
- isOpen={columnFilterMenuOpen}
26
- modifiers={{
27
- preventOverflow: { enabled: true },
28
- hide: { enabled: false },
29
- flip: { enabled: false }
30
- }}
31
- content={
32
- <FilterMenu
33
- formName={formName}
34
- addFilters={addFilters}
35
- compact={compact}
36
- currentFilter={currentFilter}
37
- currentParams={currentParams}
38
- dataType={dataType}
39
- filterOn={filterOn}
40
- removeSingleFilter={removeSingleFilter}
41
- schemaForField={schemaForField}
42
- setNewParams={setNewParams}
43
- togglePopover={() => setColumnFilterMenuOpen(false)}
44
- />
45
- }
46
- >
47
- <Icon
48
- style={{ marginLeft: 5 }}
49
- icon="filter"
50
- size={extraCompact ? 14 : undefined}
51
- onClick={e => {
52
- e.preventDefault();
53
- e.stopPropagation();
54
- setColumnFilterMenuOpen(prev => !prev);
55
- }}
56
- className={classNames("tg-filter-menu-button", {
57
- "tg-active-filter": !!filterActiveForColumn
58
- })}
59
- />
60
- </Popover>
61
- );
62
- };