/** * Implements (a subset of) the Vega-Lite's Facet-operator: * https://vega.github.io/vega-lite/docs/facet.html * * TODO: * - Facet channel titles * - Suppress redundant axes * - Make this thing configurable * * @typedef {object} FacetDimension Stuff for working with facet dimensions * @prop {function} accessor * @prop {boolean[] | string[] | number[]} factors * @prop {FacetFieldDef} facetFieldDef * */ export default class FacetView extends ContainerView { /** * @typedef {import("./view.js").default} View * @typedef {import("./layerView.js").default} LayerView * @typedef {import("./viewUtils.js").FacetFieldDef} FacetFieldDef * @typedef {import("./viewUtils.js").FacetMapping} FacetMapping * @typedef {import("./layout/flexLayout.js").LocSize} LocSize * @typedef {import("./layout/flexLayout.js").SizeDef} SizeDef */ /** * * @param {import("./viewUtils.js").FacetSpec} spec * @param {import("./viewUtils.js").ViewContext} context * @param {ContainerView} parent * @param {string} name */ constructor(spec: import("./viewUtils.js").FacetSpec, context: import("./viewUtils.js").ViewContext, parent: ContainerView, name: string); spec: any; child: any; /** * Faceted views for displaying the facet labels * * @type {Record} */ _labelViews: Record; /** @type {Record} */ _facetDimensions: Record; transformData(): void; /** * * @param {"row" | "column"} channel */ getAccessor(channel: "row" | "column"): any; updateFacets(): void; updateLabels(): void; getFacetGroups(): string[] | number[] | boolean[]; /** * @param {import("./renderingContext/viewRenderingContext.js").default} context * @param {import("./layout/rectangle.js").default} coords * @param {import("./view.js").RenderingOptions} [options] */ render(context: import("./renderingContext/viewRenderingContext.js").default, coords: import("./layout/rectangle.js").default, options?: import("./view.js").RenderingOptions): void; _labelsUpdated: boolean; } export type FacetChannel = "column" | "row"; /** * Stuff for working with facet dimensions */ export type FacetDimension = { accessor: Function; factors: boolean[] | string[] | number[]; facetFieldDef: any; }; import ContainerView from "./containerView.js"; import UnitView from "./unitView.js"; //# sourceMappingURL=facetView.d.ts.map