mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-25 21:18:11 +08:00
* Disabled @blueprintjs/classes-constants. #2288. * thuang-eslint-bp-off (#2344) * Disabled @blueprintjs/classes-constants on webpack dev and shared. #2288. * Added TS recommended, suppress lint errors codemod. * Added per-error/warning ignore for tests. * Added per-error/warning ignore for configuration. * Added per-error/warning ignore for src. Removed suppress package. * Minor linting. Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
63 lines
2.6 KiB
TypeScript
63 lines
2.6 KiB
TypeScript
import * as d3 from "d3";
|
|
import Lasso from "./setupLasso";
|
|
|
|
/******************************************
|
|
*******************************************
|
|
put svg & brush in DOM
|
|
*******************************************
|
|
******************************************/
|
|
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types --- FIXME: disabled temporarily on migrate to TS.
|
|
export default (
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
selectionToolType: any,
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
handleStartAction: any,
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
handleDragAction: any,
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
handleEndAction: any,
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
handleCancelAction: any,
|
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any -- - FIXME: disabled temporarily on migrate to TS.
|
|
viewport: any
|
|
) => {
|
|
const svg = d3.select("#graph-wrapper").select("#lasso-layer");
|
|
if (svg.empty()) return {};
|
|
|
|
if (selectionToolType === "brush") {
|
|
const brush = d3
|
|
.brush()
|
|
.extent([
|
|
[0, 0],
|
|
[viewport.width, viewport.height],
|
|
])
|
|
.on("start", handleStartAction)
|
|
.on("brush", handleDragAction)
|
|
// FYI, brush doesn't generate cancel
|
|
.on("end", handleEndAction);
|
|
|
|
const brushContainer = svg
|
|
.append("g")
|
|
.attr("class", "graph_brush")
|
|
.call(brush);
|
|
|
|
return { svg, container: brushContainer, tool: brush };
|
|
}
|
|
|
|
if (selectionToolType === "lasso") {
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any --- FIXME: disabled temporarily on migrate to TS.
|
|
const lasso = (Lasso() as any)
|
|
.on("end", handleEndAction)
|
|
// FYI, Lasso doesn't generate drag
|
|
.on("start", handleStartAction)
|
|
.on("cancel", handleCancelAction);
|
|
|
|
const lassoContainer = svg.call(lasso);
|
|
|
|
return { svg, container: lassoContainer, tool: lasso };
|
|
}
|
|
|
|
throw new Error("unknown graph selection tool");
|
|
};
|