@teselagen/ui 0.7.35 → 0.7.36
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/isBeingCalledExcessively.js +1 -0
- package/package.json +1 -1
- package/DataTable/utils/filterLocalEntitiesToHasura.d.ts +0 -5
- package/DataTable/utils/initializeHasuraWhereAndFilter.d.ts +0 -2
- package/DataTable/utils/tableQueryParamsToHasuraClauses.d.ts +0 -26
- package/src/AdvancedOptions.js +0 -33
- package/src/AdvancedOptions.spec.js +0 -26
- package/src/AssignDefaultsModeContext.js +0 -22
- package/src/AsyncValidateFieldSpinner/index.js +0 -12
- package/src/BlueprintError/index.js +0 -14
- package/src/BounceLoader/index.js +0 -16
- package/src/BounceLoader/style.css +0 -45
- package/src/CollapsibleCard/index.js +0 -68
- package/src/CollapsibleCard/style.css +0 -23
- package/src/DNALoader/index.js +0 -20
- package/src/DNALoader/style.css +0 -251
- package/src/DataTable/CellDragHandle.js +0 -132
- package/src/DataTable/ColumnFilterMenu.js +0 -62
- package/src/DataTable/Columns.js +0 -979
- package/src/DataTable/DisabledLoadingComponent.js +0 -15
- package/src/DataTable/DisplayOptions.js +0 -199
- package/src/DataTable/DropdownCell.js +0 -61
- package/src/DataTable/EditableCell.js +0 -44
- package/src/DataTable/FilterAndSortMenu.js +0 -388
- package/src/DataTable/PagingTool.js +0 -225
- package/src/DataTable/RenderCell.js +0 -191
- package/src/DataTable/SearchBar.js +0 -69
- package/src/DataTable/SortableColumns.js +0 -100
- package/src/DataTable/TableFormTrackerContext.js +0 -10
- package/src/DataTable/ThComponent.js +0 -44
- package/src/DataTable/dataTableEnhancer.js +0 -41
- package/src/DataTable/defaultFormatters.js +0 -32
- package/src/DataTable/defaultValidators.js +0 -40
- package/src/DataTable/editCellHelper.js +0 -44
- package/src/DataTable/getCellVal.js +0 -20
- package/src/DataTable/getVals.js +0 -8
- package/src/DataTable/index.js +0 -3209
- package/src/DataTable/isTruthy.js +0 -12
- package/src/DataTable/isValueEmpty.js +0 -3
- package/src/DataTable/style.css +0 -608
- package/src/DataTable/utils/convertSchema.js +0 -69
- package/src/DataTable/utils/filterLocalEntitiesToHasura.js +0 -236
- package/src/DataTable/utils/filterLocalEntitiesToHasura.test.js +0 -587
- package/src/DataTable/utils/formatPasteData.js +0 -16
- package/src/DataTable/utils/getAllRows.js +0 -11
- package/src/DataTable/utils/getCellCopyText.js +0 -7
- package/src/DataTable/utils/getCellInfo.js +0 -36
- package/src/DataTable/utils/getFieldPathToField.js +0 -7
- package/src/DataTable/utils/getIdOrCodeOrIndex.js +0 -9
- package/src/DataTable/utils/getLastSelectedEntity.js +0 -11
- package/src/DataTable/utils/getNewEntToSelect.js +0 -25
- package/src/DataTable/utils/getRowCopyText.js +0 -28
- package/src/DataTable/utils/getTableConfigFromStorage.js +0 -5
- package/src/DataTable/utils/handleCopyColumn.js +0 -21
- package/src/DataTable/utils/handleCopyHelper.js +0 -15
- package/src/DataTable/utils/handleCopyRows.js +0 -23
- package/src/DataTable/utils/handleCopyTable.js +0 -16
- package/src/DataTable/utils/index.js +0 -55
- package/src/DataTable/utils/initializeHasuraWhereAndFilter.js +0 -26
- package/src/DataTable/utils/isBottomRightCornerOfRectangle.js +0 -20
- package/src/DataTable/utils/isEntityClean.js +0 -15
- package/src/DataTable/utils/primarySelectedValue.js +0 -1
- package/src/DataTable/utils/queryParams.js +0 -350
- package/src/DataTable/utils/removeCleanRows.js +0 -22
- package/src/DataTable/utils/rowClick.js +0 -181
- package/src/DataTable/utils/selection.js +0 -8
- package/src/DataTable/utils/tableQueryParamsToHasuraClauses.js +0 -253
- package/src/DataTable/utils/tableQueryParamsToHasuraClauses.test.js +0 -206
- package/src/DataTable/utils/useTableEntities.js +0 -38
- package/src/DataTable/utils/utils.js +0 -37
- package/src/DataTable/utils/withSelectedEntities.js +0 -65
- package/src/DataTable/utils/withTableParams.js +0 -288
- package/src/DataTable/validateTableWideErrors.js +0 -160
- package/src/DataTable/viewColumn.js +0 -97
- package/src/DialogFooter/index.js +0 -86
- package/src/DialogFooter/style.css +0 -9
- package/src/DropdownButton.js +0 -36
- package/src/FillWindow.css +0 -6
- package/src/FillWindow.js +0 -69
- package/src/FormComponents/FormSeparator.js +0 -9
- package/src/FormComponents/LoadingDots.js +0 -14
- package/src/FormComponents/Uploader.js +0 -1278
- package/src/FormComponents/getNewName.js +0 -31
- package/src/FormComponents/index.js +0 -1266
- package/src/FormComponents/itemUpload.js +0 -84
- package/src/FormComponents/sortify.js +0 -73
- package/src/FormComponents/style.css +0 -275
- package/src/FormComponents/tryToMatchSchemas.js +0 -264
- package/src/FormComponents/utils.js +0 -6
- package/src/HotkeysDialog/index.js +0 -79
- package/src/HotkeysDialog/style.css +0 -54
- package/src/InfoHelper/index.js +0 -78
- package/src/InfoHelper/style.css +0 -7
- package/src/IntentText/index.js +0 -18
- package/src/Loading/index.js +0 -70
- package/src/Loading/style.css +0 -4
- package/src/MatchHeaders.js +0 -234
- package/src/MenuBar/index.js +0 -423
- package/src/MenuBar/style.css +0 -45
- package/src/PromptUnsavedChanges/index.js +0 -38
- package/src/ResizableDraggableDialog/index.js +0 -141
- package/src/ResizableDraggableDialog/style.css +0 -42
- package/src/ScrollToTop/index.js +0 -72
- package/src/SimpleStepViz.js +0 -22
- package/src/Tag.js +0 -112
- package/src/TagSelect/index.js +0 -69
- package/src/TagSelect/style.css +0 -13
- package/src/TgHtmlSelect/index.js +0 -20
- package/src/TgSelect/index.js +0 -537
- package/src/TgSelect/style.css +0 -61
- package/src/TgSuggest/index.js +0 -124
- package/src/Timeline/TimelineEvent.js +0 -31
- package/src/Timeline/index.js +0 -15
- package/src/Timeline/style.css +0 -29
- package/src/UploadCsvWizard.css +0 -4
- package/src/UploadCsvWizard.js +0 -719
- package/src/autoTooltip.js +0 -201
- package/src/constants.js +0 -1
- package/src/customIcons.js +0 -361
- package/src/enhancers/withDialog/index.js +0 -196
- package/src/enhancers/withDialog/tg_modalState.js +0 -47
- package/src/enhancers/withField.js +0 -20
- package/src/enhancers/withFields.js +0 -11
- package/src/enhancers/withLocalStorage.js +0 -11
- package/src/index.js +0 -88
- package/src/rerenderOnWindowResize.js +0 -26
- package/src/showAppSpinner.js +0 -12
- package/src/showConfirmationDialog/index.js +0 -148
- package/src/showDialogOnDocBody.js +0 -33
- package/src/style.css +0 -265
- package/src/throwFormError.js +0 -16
- package/src/toastr.js +0 -148
- package/src/typeToCommonType.js +0 -6
- package/src/useDialog.js +0 -63
- package/src/utils/adHoc.js +0 -10
- package/src/utils/basicHandleActionsWithFullState.js +0 -14
- package/src/utils/browserUtils.js +0 -3
- package/src/utils/combineReducersWithFullState.js +0 -14
- package/src/utils/commandControls.js +0 -82
- package/src/utils/commandUtils.js +0 -112
- package/src/utils/determineBlackOrWhiteTextColor.js +0 -4
- package/src/utils/getDayjsFormatter.js +0 -35
- package/src/utils/getTextFromEl.js +0 -28
- package/src/utils/handlerHelpers.js +0 -24
- package/src/utils/hooks/index.js +0 -1
- package/src/utils/hooks/useDeepEqualMemo.js +0 -15
- package/src/utils/hooks/useStableReference.js +0 -9
- package/src/utils/hotkeyUtils.js +0 -131
- package/src/utils/isBeingCalledExcessively.js +0 -24
- package/src/utils/menuUtils.js +0 -433
- package/src/utils/popoverOverflowModifiers.js +0 -11
- package/src/utils/pureNoFunc.js +0 -31
- package/src/utils/renderOnDoc.js +0 -32
- package/src/utils/showProgressToast.js +0 -22
- package/src/utils/tagUtils.js +0 -45
- package/src/utils/tgFormValues.js +0 -35
- package/src/utils/useTraceUpdate.js +0 -19
- package/src/utils/withSelectTableRecords.js +0 -43
- package/src/utils/withStore.js +0 -10
- package/src/wrapDialog.js +0 -116
package/src/ScrollToTop/index.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
|
2
|
-
import { Button } from "@blueprintjs/core";
|
|
3
|
-
import { Transition } from "react-transition-group";
|
|
4
|
-
|
|
5
|
-
const duration = 300;
|
|
6
|
-
|
|
7
|
-
const defaultStyle = {
|
|
8
|
-
transition: `opacity ${duration}ms ease-in-out`,
|
|
9
|
-
opacity: 0
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const transitionStyles = {
|
|
13
|
-
entering: { opacity: 1 },
|
|
14
|
-
entered: { opacity: 1 },
|
|
15
|
-
exiting: { opacity: 0 },
|
|
16
|
-
exited: { opacity: 0 }
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
function ScrollToTop({
|
|
20
|
-
showAt = 150,
|
|
21
|
-
scrollContainer = document.scrollingElement
|
|
22
|
-
}) {
|
|
23
|
-
const [shouldShow, setShouldShow] = useState(
|
|
24
|
-
scrollContainer.scrollTop >= showAt
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
const scrollListener = () => {
|
|
29
|
-
const newShouldShow = scrollContainer.scrollTop >= showAt;
|
|
30
|
-
if (newShouldShow !== shouldShow) setShouldShow(newShouldShow);
|
|
31
|
-
};
|
|
32
|
-
const listenerContainer =
|
|
33
|
-
scrollContainer === document.scrollingElement ? window : scrollContainer;
|
|
34
|
-
listenerContainer.addEventListener("scroll", scrollListener);
|
|
35
|
-
// Specify how to clean up after this effect:
|
|
36
|
-
return function cleanup() {
|
|
37
|
-
listenerContainer.removeEventListener("scroll", scrollListener);
|
|
38
|
-
};
|
|
39
|
-
}, [shouldShow, showAt, scrollContainer]);
|
|
40
|
-
|
|
41
|
-
const scrollToTop = () => {
|
|
42
|
-
const c = scrollContainer.scrollTop;
|
|
43
|
-
if (c > 0) {
|
|
44
|
-
window.requestAnimationFrame(scrollToTop);
|
|
45
|
-
scrollContainer.scrollTo(0, c - c / 8);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return (
|
|
50
|
-
<Transition in={shouldShow} timeout={duration}>
|
|
51
|
-
{state =>
|
|
52
|
-
state === "exited" ? null : (
|
|
53
|
-
<div style={{ position: "fixed", bottom: 25, right: 25, zIndex: 10 }}>
|
|
54
|
-
<Button
|
|
55
|
-
style={{
|
|
56
|
-
borderRadius: "50%",
|
|
57
|
-
...defaultStyle,
|
|
58
|
-
...transitionStyles[state]
|
|
59
|
-
}}
|
|
60
|
-
intent="primary"
|
|
61
|
-
icon="arrow-up"
|
|
62
|
-
large
|
|
63
|
-
onClick={scrollToTop}
|
|
64
|
-
/>
|
|
65
|
-
</div>
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
</Transition>
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export default ScrollToTop;
|
package/src/SimpleStepViz.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Icon } from "@blueprintjs/core";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
|
|
5
|
-
export default ({ steps, ...rest }) => (
|
|
6
|
-
<div style={{ display: "flex", justifyContent: "center" }}>
|
|
7
|
-
<ul className="bp3-breadcrumbs" {...rest}>
|
|
8
|
-
{steps.map(({ completed, active, text }, i) => (
|
|
9
|
-
<li key={i}>
|
|
10
|
-
<div
|
|
11
|
-
className={classNames("bp3-breadcrumb", {
|
|
12
|
-
"bp3-breadcrumb-current": active
|
|
13
|
-
})}
|
|
14
|
-
>
|
|
15
|
-
<Icon icon={completed ? "tick-circle" : undefined} />
|
|
16
|
-
{text}
|
|
17
|
-
</div>
|
|
18
|
-
</li>
|
|
19
|
-
))}
|
|
20
|
-
</ul>
|
|
21
|
-
</div>
|
|
22
|
-
);
|
package/src/Tag.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/* Copyright (C) 2018 TeselaGen Biotechnology, Inc. */
|
|
2
|
-
import React from "react";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
import "./style.css";
|
|
5
|
-
import { Tooltip } from "@blueprintjs/core";
|
|
6
|
-
import { getTagColorStyle } from "./utils/tagUtils";
|
|
7
|
-
import popoverOverflowModifiers from "./utils/popoverOverflowModifiers";
|
|
8
|
-
|
|
9
|
-
function Tag({
|
|
10
|
-
name,
|
|
11
|
-
color,
|
|
12
|
-
tooltip,
|
|
13
|
-
selected,
|
|
14
|
-
secondarySelected,
|
|
15
|
-
hasSelection,
|
|
16
|
-
onDelete,
|
|
17
|
-
onClick,
|
|
18
|
-
clickable,
|
|
19
|
-
doNotFillWidth,
|
|
20
|
-
style = {}
|
|
21
|
-
}) {
|
|
22
|
-
const sharedStyles = {
|
|
23
|
-
...getTagColorStyle(color).style,
|
|
24
|
-
padding: "2px 5px"
|
|
25
|
-
};
|
|
26
|
-
const deleteButton = onDelete && (
|
|
27
|
-
<span
|
|
28
|
-
style={{
|
|
29
|
-
...sharedStyles,
|
|
30
|
-
cursor: "pointer",
|
|
31
|
-
borderTopRightRadius: 3,
|
|
32
|
-
borderBottomRightRadius: 3
|
|
33
|
-
}}
|
|
34
|
-
className="delete-tag-button"
|
|
35
|
-
onClick={onDelete}
|
|
36
|
-
>
|
|
37
|
-
✕
|
|
38
|
-
</span>
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
let nameToUse = name;
|
|
42
|
-
const nameTooLong = name.length > 40;
|
|
43
|
-
if (nameTooLong) {
|
|
44
|
-
nameToUse = name.slice(0, 40) + "...";
|
|
45
|
-
}
|
|
46
|
-
if (tooltip || nameTooLong) {
|
|
47
|
-
const content = (
|
|
48
|
-
<div>
|
|
49
|
-
{nameTooLong ? (
|
|
50
|
-
<div>
|
|
51
|
-
{name}
|
|
52
|
-
{tooltip ? ":" : null}
|
|
53
|
-
</div>
|
|
54
|
-
) : null}
|
|
55
|
-
{tooltip ? <div>{tooltip}</div> : null}
|
|
56
|
-
</div>
|
|
57
|
-
);
|
|
58
|
-
nameToUse = (
|
|
59
|
-
<Tooltip content={content} modifiers={popoverOverflowModifiers}>
|
|
60
|
-
{nameToUse}
|
|
61
|
-
</Tooltip>
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const tag = (
|
|
66
|
-
<React.Fragment>
|
|
67
|
-
<span
|
|
68
|
-
onClick={onClick}
|
|
69
|
-
className="tg-tag"
|
|
70
|
-
style={{
|
|
71
|
-
...sharedStyles,
|
|
72
|
-
// will stop tags from growing tall
|
|
73
|
-
marginBottom: "auto",
|
|
74
|
-
borderRadius: 3,
|
|
75
|
-
whiteSpace: "nowrap",
|
|
76
|
-
wordBreak: "normal",
|
|
77
|
-
overflow: "hidden",
|
|
78
|
-
textOverflow: "ellipsis",
|
|
79
|
-
|
|
80
|
-
...(onClick && { cursor: "pointer" }),
|
|
81
|
-
...(onDelete && {
|
|
82
|
-
borderTopRightRadius: 0,
|
|
83
|
-
borderBottomRightRadius: 0
|
|
84
|
-
}),
|
|
85
|
-
...(doNotFillWidth && { width: "fit-content" }),
|
|
86
|
-
...(clickable && { cursor: "pointer" }),
|
|
87
|
-
...style
|
|
88
|
-
}}
|
|
89
|
-
>
|
|
90
|
-
{nameToUse}
|
|
91
|
-
</span>
|
|
92
|
-
{deleteButton}
|
|
93
|
-
</React.Fragment>
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
if (hasSelection) {
|
|
97
|
-
return (
|
|
98
|
-
<div
|
|
99
|
-
className={classNames("tag-selection", {
|
|
100
|
-
selected,
|
|
101
|
-
"secondary-selected": secondarySelected
|
|
102
|
-
})}
|
|
103
|
-
>
|
|
104
|
-
{tag}
|
|
105
|
-
</div>
|
|
106
|
-
);
|
|
107
|
-
} else {
|
|
108
|
-
return tag;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export default Tag;
|
package/src/TagSelect/index.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Button, InputGroup, Popover } from "@blueprintjs/core";
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
import Tag from "../Tag";
|
|
5
|
-
import "./style.css";
|
|
6
|
-
import { useState } from "react";
|
|
7
|
-
import { itemListPredicate } from "../TgSelect";
|
|
8
|
-
|
|
9
|
-
export default ({ value = {}, options = [], onChange }) => {
|
|
10
|
-
const [open, setOpen] = useState(false);
|
|
11
|
-
const [searchTerm, setSearchTerm] = useState("");
|
|
12
|
-
|
|
13
|
-
const filteredOptions = itemListPredicate(searchTerm, options, false);
|
|
14
|
-
|
|
15
|
-
return (
|
|
16
|
-
<Popover
|
|
17
|
-
isOpen={open}
|
|
18
|
-
onInteraction={setOpen}
|
|
19
|
-
content={
|
|
20
|
-
<div className="tag-select-popover">
|
|
21
|
-
<InputGroup
|
|
22
|
-
rightElement={
|
|
23
|
-
// clear button
|
|
24
|
-
searchTerm ? (
|
|
25
|
-
<Button
|
|
26
|
-
icon="cross"
|
|
27
|
-
minimal
|
|
28
|
-
onClick={() => setSearchTerm("")}
|
|
29
|
-
/>
|
|
30
|
-
) : null
|
|
31
|
-
}
|
|
32
|
-
type="text"
|
|
33
|
-
placeholder="Search..."
|
|
34
|
-
autoFocus
|
|
35
|
-
value={searchTerm}
|
|
36
|
-
onChange={e => setSearchTerm(e.target.value)}
|
|
37
|
-
/>
|
|
38
|
-
<div className="tag-select-popover-inner">
|
|
39
|
-
{filteredOptions.map(option => {
|
|
40
|
-
return (
|
|
41
|
-
<Tag
|
|
42
|
-
key={option.name}
|
|
43
|
-
onClick={() => {
|
|
44
|
-
onChange(option);
|
|
45
|
-
setOpen(false);
|
|
46
|
-
}}
|
|
47
|
-
clickable
|
|
48
|
-
style={{ maxWidth: 150 }}
|
|
49
|
-
{...convertTagVals(option)}
|
|
50
|
-
doNotFillWidth
|
|
51
|
-
></Tag>
|
|
52
|
-
);
|
|
53
|
-
})}
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
}
|
|
57
|
-
>
|
|
58
|
-
<Tag style={{ maxWidth: 150 }} clickable {...convertTagVals(value)}></Tag>
|
|
59
|
-
</Popover>
|
|
60
|
-
);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
function convertTagVals(tagVals) {
|
|
64
|
-
return {
|
|
65
|
-
...tagVals,
|
|
66
|
-
|
|
67
|
-
name: tagVals.name || tagVals.label
|
|
68
|
-
};
|
|
69
|
-
}
|
package/src/TagSelect/style.css
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { HTMLSelect } from "@blueprintjs/core";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
|
|
5
|
-
// so far this component just makes the styling of the disabled html select
|
|
6
|
-
// look like a regular html select with the selected option displayed
|
|
7
|
-
// (instead of greyed out and without the ability to have tooltips working)
|
|
8
|
-
const TgHTMLSelect = ({ disabled, ...rest }) => {
|
|
9
|
-
if (disabled) {
|
|
10
|
-
const opt = rest.options.find(o => o.value === rest.value);
|
|
11
|
-
return (
|
|
12
|
-
<div {...rest} className={classNames("bp3-html-select", rest.className)}>
|
|
13
|
-
{opt.label}
|
|
14
|
-
</div>
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
return <HTMLSelect {...rest}></HTMLSelect>;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default TgHTMLSelect;
|