@hpcc-js/dgrid 3.5.9 → 3.7.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","sources":["../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../src/Table.ts","../src/__package__.ts"],"sourcesContent":["import * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\r\n\r\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\r\n console.error(\"dgrid-shim not loaded, please add `<script src=\\\"https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js\\\"></script>` or similar to your HTML file\");\r\n}\r\n\r\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\r\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\r\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\r\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\r\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\r\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\r\n","function entitiesEncode(str) {\r\n return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\r\n}\r\n\r\nfunction safeEncode(item) {\r\n switch (Object.prototype.toString.call(item)) {\r\n case \"[object Undefined]\":\r\n case \"[object Boolean]\":\r\n case \"[object Number]\":\r\n return item;\r\n case \"[object String]\":\r\n return entitiesEncode(item);\r\n default:\r\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\r\n }\r\n return item;\r\n}\r\n\r\nfunction isArray(obj: any): obj is any[] {\r\n return obj instanceof Array;\r\n}\r\n\r\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\r\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\r\n\r\nexport interface ColumnType {\r\n field: string;\r\n leafID: string;\r\n label: string;\r\n idx: number;\r\n className: string;\r\n sortable: boolean;\r\n isSet: boolean;\r\n width?: number;\r\n formatter?: CellFormatter;\r\n renderCell?: CellRenderer;\r\n children?: ColumnType[];\r\n}\r\nexport interface RowType {\r\n __hpcc_id: number;\r\n __origRow: any[];\r\n [colIdx: number]: any;\r\n}\r\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\r\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\r\n\r\nexport class RowFormatter {\r\n private _columns: ColumnType[];\r\n private _flattenedColumns = [];\r\n private _columnIdx = {};\r\n private _formattedRow = {};\r\n\r\n constructor(columns: ColumnType[], protected _renderHtml) {\r\n this._columns = columns;\r\n this.flattenColumns(columns);\r\n }\r\n\r\n flattenColumns(columns: ColumnType[]) {\r\n for (const column of columns) {\r\n this.flattenColumn(column);\r\n }\r\n }\r\n\r\n flattenColumn(column: ColumnType) {\r\n if (column.children) {\r\n for (const childColumn of column.children) this.flattenColumn(childColumn);\r\n } else {\r\n this._columnIdx[column.field] = this._flattenedColumns.length;\r\n this._flattenedColumns.push(column.field);\r\n }\r\n }\r\n\r\n format(row) {\r\n this._formattedRow = {};\r\n this.formatRow(this._columns, row);\r\n return this.row();\r\n }\r\n\r\n calcDepth(columns: ColumnType[], row) {\r\n let maxChildDepth = 1;\r\n for (const column of columns) {\r\n if (column.children && row[column.leafID]) {\r\n let childDepth = 0;\r\n let childRows = [];\r\n if (isArray(row[column.leafID])) {\r\n childRows = row[column.leafID];\r\n } else if (isArray(row[column.leafID].Row)) {\r\n childRows = row[column.leafID].Row;\r\n }\r\n for (const childRow of childRows) {\r\n childDepth += this.calcDepth(column.children, childRow);\r\n }\r\n maxChildDepth = Math.max(maxChildDepth, childDepth);\r\n }\r\n }\r\n return maxChildDepth;\r\n }\r\n\r\n formatCell(column: ColumnType, cell, maxChildDepth) {\r\n if (column.children) {\r\n let childDepth = 0;\r\n if (!isArray(cell)) {\r\n if (isArray(cell.Row)) {\r\n cell = cell.Row;\r\n } else {\r\n cell = [cell];\r\n }\r\n }\r\n for (const row of cell) {\r\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\r\n }\r\n } else {\r\n if (column.isSet) {\r\n cell = JSON.stringify(cell.Item);\r\n }\r\n if (this._formattedRow[column.field] === undefined) {\r\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\r\n } else {\r\n this._formattedRow[column.field] += LINE_SPLITTER;\r\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\r\n }\r\n if (maxChildDepth > 1) {\r\n const paddingArr = [];\r\n paddingArr.length = maxChildDepth;\r\n const padding = paddingArr.join(LINE_SPLITTER2);\r\n this._formattedRow[column.field] += padding;\r\n }\r\n }\r\n }\r\n\r\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\r\n const maxChildDepth = this.calcDepth(columns, row);\r\n for (const column of columns) {\r\n this.formatCell(column, row[column.leafID], maxChildDepth);\r\n }\r\n return maxChildDepth;\r\n }\r\n\r\n row() {\r\n const retVal = {};\r\n for (const column of this._flattenedColumns) {\r\n retVal[column] = this._formattedRow[column];\r\n }\r\n return retVal;\r\n }\r\n}\r\n","import { Database } from \"@hpcc-js/common\";\r\nimport { Deferred } from \"./dgrid-shim.ts\";\r\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\r\n\r\nexport class DBStore {\r\n private _db: Database.Grid;\r\n\r\n Model: null;\r\n idProperty: \"__hpcc_id\";\r\n\r\n constructor(db: Database.Grid) {\r\n this._db = db;\r\n }\r\n\r\n protected _renderHtml = true;\r\n renderHtml(_: boolean) {\r\n this._renderHtml = _;\r\n }\r\n\r\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\r\n if (!fields) return [];\r\n return fields.map((field, idx) => {\r\n const label = field.label();\r\n const column: ColumnType = {\r\n label,\r\n leafID: \"\" + idx,\r\n field: prefix + idx,\r\n idx,\r\n className: \"resultGridCell\",\r\n sortable,\r\n isSet: false\r\n };\r\n switch (field.type()) {\r\n case \"nested\":\r\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\r\n column.sortable = false;\r\n break;\r\n default:\r\n column.formatter = formatter;\r\n column.renderCell = renderCell;\r\n }\r\n return column;\r\n });\r\n }\r\n\r\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\r\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\r\n }\r\n\r\n getIdentity(object) {\r\n return object.__hpcc_id;\r\n }\r\n\r\n get(row: number) {\r\n return this._db.row(row + 1);\r\n }\r\n\r\n _fetchRange(opts: { start: number, end: number }): object[] {\r\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\r\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\r\n const formattedRow: any = rowFormatter.format(row);\r\n return {\r\n ...formattedRow,\r\n __hpcc_id: opts.start + idx,\r\n __origRow: row\r\n };\r\n });\r\n }\r\n\r\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\r\n const data = this._fetchRange(opts);\r\n const retVal: any = new Deferred();\r\n retVal.totalLength = new Deferred();\r\n retVal.resolve(data);\r\n retVal.totalLength.resolve(this._db.length() - 1);\r\n return retVal;\r\n }\r\n\r\n sort(opts) {\r\n this._db.data().sort((l, r) => {\r\n for (const item of opts) {\r\n const idx = item.property;\r\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\r\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\r\n }\r\n return 0;\r\n });\r\n return this;\r\n }\r\n}\r\n","import { HTMLWidget } from \"@hpcc-js/common\";\r\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\r\nimport { DBStore } from \"./DBStore.ts\";\r\n\r\nimport \"../src/Common.css\";\r\n\r\nexport class Common extends HTMLWidget {\r\n protected _columns = [];\r\n protected _store = new DBStore(this._db);\r\n protected _dgridDiv;\r\n protected _dgrid;\r\n protected _prevPaging;\r\n private _prevSortBy: string;\r\n private _prevSortByDescending: boolean;\r\n private _prevMultiSelect: boolean;\r\n\r\n constructor() {\r\n super();\r\n this._tag = \"div\";\r\n }\r\n\r\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\r\n const idx = this.columns().indexOf(this.sortBy());\r\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\r\n }\r\n\r\n protected _supressEvents;\r\n selection(): any[];\r\n selection(_: any[]): this;\r\n selection(_?: any[]): any[] | this {\r\n if (!arguments.length) {\r\n const retVal = [];\r\n for (const id in this._dgrid.selection) {\r\n if (this._dgrid.selection[id]) {\r\n const storeItem = this._store.get(+id);\r\n retVal.push(this.rowToObj(storeItem));\r\n }\r\n }\r\n return retVal;\r\n }\r\n this._supressEvents = true;\r\n this._dgrid?.clearSelection();\r\n let first = true;\r\n this.data().forEach((row, idx) => {\r\n if (_.indexOf(row) >= 0) {\r\n const row = this._dgrid?.row(idx);\r\n if (row.element && first) {\r\n first = false;\r\n row.element.scrollIntoView();\r\n }\r\n this._dgrid?.select(idx);\r\n }\r\n });\r\n this._supressEvents = false;\r\n }\r\n\r\n enter(domNode, element) {\r\n super.enter(domNode, element);\r\n this._dgridDiv = element.append(\"div\")\r\n .attr(\"class\", \"flat\")\r\n ;\r\n }\r\n\r\n update(domNode, element) {\r\n super.update(domNode, element);\r\n\r\n this._store.renderHtml(this.renderHtml());\r\n\r\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\r\n this._prevSortBy !== this.sortBy() ||\r\n this._prevSortByDescending !== this.sortByDescending() ||\r\n this._prevMultiSelect !== this.multiSelect()) {\r\n\r\n this._prevPaging = this.pagination();\r\n this._prevSortBy = this.sortBy();\r\n this._prevSortByDescending = this.sortByDescending();\r\n this._prevMultiSelect = this.multiSelect();\r\n if (this._dgrid) {\r\n this._dgrid.destroy();\r\n this._dgridDiv = element.append(\"div\")\r\n .attr(\"class\", \"flat\")\r\n ;\r\n }\r\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\r\n columns: this._columns,\r\n collection: this._store,\r\n sort: this.formatSortBy(),\r\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\r\n deselectOnRefresh: true,\r\n cellNavigation: false,\r\n pagingLinks: 1,\r\n pagingTextBox: true,\r\n previousNextArrows: true,\r\n firstLastArrows: true,\r\n rowsPerPage: this.pageSize(),\r\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\r\n }, this._dgridDiv.node());\r\n this._dgrid.on(\"dgrid-select\", (evt) => {\r\n if (this._supressEvents) return;\r\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\r\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\r\n }\r\n });\r\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\r\n if (this._supressEvents) return;\r\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\r\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\r\n }\r\n });\r\n this._dgrid.refresh({});\r\n }\r\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\r\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\r\n\r\n this._dgridDiv\r\n .style(\"width\", this.width() + \"px\")\r\n .style(\"height\", this.height() - 2 + \"px\")\r\n ;\r\n this._dgrid.resize();\r\n }\r\n\r\n exit(domNode, element) {\r\n delete this._prevPaging;\r\n if (this._dgrid) {\r\n this._dgrid.destroy();\r\n delete this._dgrid;\r\n }\r\n super.exit(domNode, element);\r\n }\r\n\r\n click(row, col, sel, more) {\r\n }\r\n}\r\nCommon.prototype._class += \" dgrid_Common\";\r\n\r\nexport interface Common {\r\n noDataMessage(): string;\r\n noDataMessage(_: string): this;\r\n loadingMessage(): string;\r\n loadingMessage(_: string): this;\r\n pagination(): boolean;\r\n pagination(_: boolean): this;\r\n pageSize(): number;\r\n pageSize(_: number): this;\r\n sortable(): boolean;\r\n sortable(_: boolean): this;\r\n sortBy(): string;\r\n sortBy(_: string): this;\r\n sortByDescending(): boolean;\r\n sortByDescending(_: boolean): this;\r\n multiSelect(): boolean;\r\n multiSelect(_: boolean): this;\r\n renderHtml(): boolean;\r\n renderHtml(_: boolean): this;\r\n}\r\n\r\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\r\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\r\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\r\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\r\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\r\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\r\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\r\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\r\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\r\n\r\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\r\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\r\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\r\n\r\nexport interface IDatasource {\r\n id: () => string;\r\n hash: () => string;\r\n label: () => string;\r\n\r\n outFields: () => DDL2.IField[];\r\n total: () => number;\r\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\r\n}\r\n\r\nexport class DatasourceCache implements IDatasource {\r\n protected _datasource: IDatasource;\r\n _prevHash: string;\r\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\r\n\r\n constructor(datasource: IDatasource) {\r\n this._datasource = datasource;\r\n }\r\n\r\n validateCache() {\r\n const hash = this.hash();\r\n if (this._prevHash !== hash) {\r\n this._prevHash = hash;\r\n this._fetchCache = {};\r\n }\r\n }\r\n\r\n id() { return this._datasource.id(); }\r\n hash() { return this._datasource.hash(); }\r\n label() { return this._datasource.label(); }\r\n\r\n outFields() { return this._datasource.outFields(); }\r\n total() { return this._datasource.total(); }\r\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\r\n this.validateCache();\r\n const cacheID = `${from}->${count}`;\r\n let retVal = this._fetchCache[cacheID];\r\n if (!retVal) {\r\n retVal = this._datasource.fetch(from, count);\r\n this._fetchCache[cacheID] = retVal;\r\n }\r\n return retVal;\r\n }\r\n}\r\n\r\nexport class DatasourceStore {\r\n _datasource: DatasourceCache;\r\n _columnsIdx: { [key: string]: number } = {};\r\n _columns;\r\n\r\n private rowFormatter: RowFormatter;\r\n\r\n constructor(datasource: IDatasource, renderHtml: boolean) {\r\n this._datasource = new DatasourceCache(datasource);\r\n\r\n this._columnsIdx = {};\r\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\r\n this._columnsIdx[column.field] = idx;\r\n return column;\r\n });\r\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\r\n }\r\n\r\n columns() {\r\n return this._columns;\r\n }\r\n\r\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\r\n if (!fields) return [];\r\n return fields.map((field, idx) => {\r\n const column: ColumnType = {\r\n field: prefix + field.id,\r\n leafID: field.id,\r\n label: field.id,\r\n idx,\r\n className: \"resultGridCell\",\r\n sortable: true,\r\n isSet: false\r\n };\r\n if (field.type === \"dataset\") {\r\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\r\n } else {\r\n column.formatter = (cell, row) => {\r\n switch (typeof cell) {\r\n case \"string\":\r\n return cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\");\r\n }\r\n return cell;\r\n };\r\n }\r\n return column;\r\n });\r\n }\r\n\r\n getIdentity(row) {\r\n return row.__hpcc_id;\r\n }\r\n\r\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\r\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\r\n const retVal = this._datasource.fetch(start, end - start).then(response => {\r\n return {\r\n totalLength: this._datasource.total(),\r\n data: response.map((row, idx) => {\r\n const formattedRow: any = this.rowFormatter.format(row);\r\n formattedRow.__hpcc_id = start + idx;\r\n formattedRow.__origRow = row;\r\n return formattedRow;\r\n })\r\n };\r\n });\r\n return retVal;\r\n }\r\n\r\n fetchRange(options): Promise<any[]> {\r\n const retVal = new Deferred();\r\n this._request(options.start, options.end).then(response => retVal.resolve(response));\r\n return new QueryResults(retVal.then(response => response.data), {\r\n totalLength: retVal.then(response => response.totalLength)\r\n });\r\n }\r\n}\r\n","import { Widget } from \"@hpcc-js/common\";\r\nimport { Memory } from \"./dgrid-shim.ts\";\r\nimport { Common } from \"./Common.ts\";\r\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\r\n\r\nexport class DatasourceTable extends Common {\r\n _prevDatasource?: IDatasource;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n invalidate(): this {\r\n delete this._prevDatasource;\r\n return this;\r\n }\r\n\r\n enter(domNode, element) {\r\n super.enter(domNode, element);\r\n }\r\n\r\n update(domNode, element) {\r\n super.update(domNode, element);\r\n }\r\n render(callback?: (w: Widget) => void): this {\r\n return super.render(w => {\r\n if (this._prevDatasource !== this.datasource()) {\r\n this._dgrid.set(\"collection\", new Memory());\r\n this._dgrid.set(\"columns\", []);\r\n this._prevDatasource = this.datasource();\r\n if (this._prevDatasource) {\r\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\r\n this._dgrid.set(\"columns\", store.columns());\r\n this._dgrid.set(\"collection\", store);\r\n if (callback) {\r\n callback(w);\r\n }\r\n } else {\r\n if (callback) {\r\n callback(w);\r\n }\r\n }\r\n } else {\r\n if (callback) {\r\n callback(w);\r\n }\r\n }\r\n });\r\n }\r\n\r\n click(row, col, sel) {\r\n }\r\n}\r\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\r\n\r\nexport interface DatasourceTable {\r\n datasource(): IDatasource;\r\n datasource(_: IDatasource): this;\r\n}\r\n\r\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\r\n\r\n","import { Palette, PropertyExt, Field } from \"@hpcc-js/common\";\r\nimport { hashSum } from \"@hpcc-js/util\";\r\nimport { format as d3Format } from \"d3-format\";\r\nimport { select as d3Select } from \"d3-selection\";\r\nimport { Common } from \"./Common.ts\";\r\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\r\n\r\n// ColumnPalette ---\r\nexport class ColumnFormat extends PropertyExt {\r\n _owner: Table;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n owner(): Table;\r\n owner(_: Table): this;\r\n owner(_?: Table): Table | this {\r\n if (!arguments.length) return this._owner;\r\n this._owner = _;\r\n return this;\r\n }\r\n\r\n valid(): boolean {\r\n return !!this.column();\r\n }\r\n\r\n formatterFunc(): CellFormatter | undefined {\r\n const defaultFormatter = this._owner.formatterFunc();\r\n if (this.valid() && this.format()) {\r\n const numberFormatter = d3Format(this.format());\r\n\r\n return function (this: ColumnType, cell: any, row: RowType): string {\r\n if (typeof cell === \"number\")\r\n return numberFormatter(cell);\r\n return defaultFormatter.call(this, cell, row);\r\n };\r\n }\r\n return defaultFormatter;\r\n }\r\n\r\n renderCellFunc(): CellRenderer | undefined {\r\n const defaultRenderCell = this._owner.renderCellFunc();\r\n const defaultFormatter = this.formatterFunc();\r\n if (this.valid() && this.paletteID()) {\r\n const columns = this._owner.columns();\r\n const palette = Palette.rainbow(this.paletteID());\r\n const min = this.min();\r\n const max = this.max();\r\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\r\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\r\n if (defaultRenderCell) {\r\n defaultRenderCell.call(this, row, cell, cellElement);\r\n }\r\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\r\n const background = palette(value, min, max);\r\n const cellText: any = defaultFormatter.call(this, cell, row);\r\n d3Select(cellElement)\r\n .style(\"background\", background)\r\n .style(\"color\", background && Palette.textColor(background))\r\n .text(cellText?.html ?? cellText ?? cell)\r\n ;\r\n };\r\n }\r\n return defaultRenderCell;\r\n }\r\n}\r\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\r\n\r\nexport interface ColumnFormat {\r\n column(): string;\r\n column(_: string): this;\r\n width(): number;\r\n width(_: number): this;\r\n format(): string;\r\n format(_: string): this;\r\n paletteID(): string;\r\n paletteID(_: string): this;\r\n min(): number;\r\n min(_: number): this;\r\n max(): number;\r\n max(_: number): this;\r\n valueColumn(): string;\r\n valueColumn(_: string): this;\r\n}\r\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\r\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\r\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\r\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\r\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\r\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\r\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\r\n\r\n// Table ---\r\nexport class Table extends Common {\r\n private _prevColsHash;\r\n private _prevFieldsHash;\r\n _colsRefresh = false;\r\n _dataRefresh = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n fields(): Field[];\r\n fields(_: Field[]): this;\r\n fields(_?: Field[]): Field[] | this {\r\n const retVal = super.fields.apply(this, arguments as any);\r\n if (arguments.length) {\r\n const hash = hashSum({ _ });\r\n if (this._prevFieldsHash !== hash) {\r\n this._prevFieldsHash = hash;\r\n this._colsRefresh = true;\r\n }\r\n }\r\n return retVal;\r\n }\r\n\r\n columns(): string[];\r\n columns(_: string[], asDefault?: boolean): this;\r\n columns(_?: string[], asDefault?: boolean): string[] | this {\r\n const retVal = super.columns.apply(this, arguments as any);\r\n if (arguments.length) {\r\n const hash = hashSum({ _ });\r\n if (this._prevColsHash !== hash) {\r\n this._prevColsHash = hash;\r\n this._colsRefresh = true;\r\n }\r\n }\r\n return retVal;\r\n }\r\n\r\n data(): any;\r\n data(_: any): this;\r\n data(_?: any): any | this {\r\n const retVal = super.data.apply(this, arguments as any);\r\n if (arguments.length) {\r\n this._dataRefresh = true;\r\n }\r\n return retVal;\r\n }\r\n\r\n enter(domNode, element) {\r\n super.enter(domNode, element);\r\n }\r\n\r\n guessWidth(columns, data) {\r\n const sortablePadding = this.sortable() ? 12 : 0;\r\n for (const column of columns) {\r\n if (column.children) {\r\n let sampleData = [];\r\n for (let i = 0; i < Math.min(3, data.length); ++i) {\r\n sampleData = sampleData.concat(data[i][column.idx]);\r\n }\r\n this.guessWidth(column.children, sampleData);\r\n } else {\r\n column.width = data.reduce((prevVal: number, row) => {\r\n const cell = (\"\" + row[column.idx]).trim();\r\n return Math.max(prevVal, this.textSize(cell).width);\r\n }, this.textSize(\"\" + column.label, undefined, undefined, true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\r\n }\r\n }\r\n }\r\n\r\n _prevHash;\r\n update(domNode, element) {\r\n super.update(domNode, element);\r\n const hash = this.hashSum();\r\n if (this._prevHash !== hash) {\r\n this._prevHash = hash;\r\n this._colsRefresh = true;\r\n }\r\n if (this._colsRefresh) {\r\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\r\n switch (this.columnWidth()) {\r\n case \"auto\":\r\n const tenRows = this.data().filter((row, idx) => idx < 10);\r\n this.guessWidth(this._columns, tenRows);\r\n break;\r\n }\r\n const columns = this.columns();\r\n for (const columnFormat of this.columnFormats()) {\r\n if (columnFormat.valid()) {\r\n const colIdx = columns.indexOf(columnFormat.column());\r\n if (this._columns[colIdx]) {\r\n this._columns[colIdx].hidden = columnFormat.width() === 0;\r\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\r\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\r\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\r\n }\r\n }\r\n }\r\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\r\n this._colsRefresh = false;\r\n }\r\n if (this._colsRefresh || this._dataRefresh) {\r\n if (this._colsRefresh) {\r\n this._dgrid.refresh({});\r\n } else {\r\n this._dgrid.refresh();\r\n }\r\n this._colsRefresh = false;\r\n this._dataRefresh = false;\r\n }\r\n }\r\n\r\n exit(domNode, element) {\r\n delete this._prevColsHash;\r\n delete this._prevFieldsHash;\r\n super.exit(domNode, element);\r\n }\r\n\r\n // Cell ---\r\n formatterFunc(): CellFormatter | undefined {\r\n return function (this: ColumnType, cell: any, row: RowType): string | any {\r\n switch (typeof cell) {\r\n case \"string\":\r\n return {\r\n html: cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\").trim()\r\n };\r\n case \"undefined\":\r\n return \"\";\r\n }\r\n return cell;\r\n };\r\n }\r\n\r\n renderCellFunc(): CellRenderer | undefined {\r\n return undefined; // Undefined will defualt to formatter ---\r\n }\r\n\r\n // Events ---\r\n click(row, col, sel) {\r\n }\r\n}\r\nTable.prototype._class += \" dgrid_Table\";\r\n\r\nexport interface Table {\r\n columnWidth(): \"auto\" | \"none\";\r\n columnWidth(_: \"auto\" | \"none\"): this;\r\n columnFormats(): ColumnFormat[];\r\n columnFormats(_: ColumnFormat[]): this;\r\n}\r\n\r\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\r\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\r\n","export const PKG_NAME = \"__PACKAGE_NAME__\";\r\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\r\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\r\n"],"names":["globalThis","console","error","Deferred","Memory","QueryResults","Grid","PagingGrid","domConstruct","entitiesEncode","str","String","replace","safeEncode","item","Object","prototype","toString","call","warn","isArray","obj","Array","__name","_RowFormatter","constructor","columns","_renderHtml","this","_columns","flattenColumns","_flattenedColumns","_columnIdx","_formattedRow","column","flattenColumn","children","childColumn","field","length","push","format","row","formatRow","calcDepth","maxChildDepth","leafID","childDepth","childRows","Row","childRow","Math","max","formatCell","cell","isSet","JSON","stringify","Item","paddingArr","padding","join","rowIdx","retVal","RowFormatter","_DBStore","_db","Model","idProperty","db","renderHtml","_","db2Columns","sortable","fields","prefix","formatter","renderCell","map","idx","label","className","type","getIdentity","object","__hpcc_id","get","_fetchRange","opts","rowFormatter","data","slice","start","end","__origRow","fetchRange","totalLength","resolve","sort","l","r","property","descending","DBStore","_Common","HTMLWidget","_store","_dgridDiv","_dgrid","_prevPaging","_prevSortBy","_prevSortByDescending","_prevMultiSelect","super","_tag","formatSortBy","indexOf","sortBy","sortByDescending","_supressEvents","selection","arguments","id","storeItem","rowToObj","clearSelection","first","forEach","element","scrollIntoView","select","enter","domNode","append","attr","update","pagination","multiSelect","destroy","collection","selectionMode","deselectOnRefresh","cellNavigation","pagingLinks","pagingTextBox","previousNextArrows","firstLastArrows","rowsPerPage","pageSize","pageSizeOptions","node","on","evt","rows","click","refresh","noDataMessage","loadingMessage","style","width","height","resize","exit","col","sel","more","Common","_class","publish","optional","disable","self","_DatasourceCache","_datasource","_prevHash","_fetchCache","datasource","validateCache","hash","outFields","total","fetch","from","count","cacheID","DatasourceCache","_DatasourceStore","_columnsIdx","_request","Promise","then","response","formattedRow","options","DatasourceStore","_DatasourceTable","_prevDatasource","invalidate","render","callback","w","set","store","DatasourceTable","_ColumnFormat","PropertyExt","_owner","owner","valid","formatterFunc","defaultFormatter","numberFormatter","d3Format","renderCellFunc","defaultRenderCell","paletteID","palette","Palette","rainbow","min","valueColIdx","valueColumn","cellElement","value","background","cellText","d3Select","textColor","text","html","ColumnFormat","switch","cf","_Table","_prevColsHash","_prevFieldsHash","_colsRefresh","_dataRefresh","apply","hashSum","asDefault","guessWidth","sortablePadding","sampleData","i","concat","reduce","prevVal","trim","textSize","columnWidth","tenRows","filter","columnFormat","columnFormats","colIdx","hidden","Table","autoExpand"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.cjs","sources":["../src/__package__.ts","../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../../../node_modules/d3-format/src/formatDecimal.js","../../../node_modules/d3-format/src/exponent.js","../../../node_modules/d3-format/src/formatGroup.js","../../../node_modules/d3-format/src/formatNumerals.js","../../../node_modules/d3-format/src/formatSpecifier.js","../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../node_modules/d3-format/src/formatTrim.js","../../../node_modules/d3-format/src/formatRounded.js","../../../node_modules/d3-format/src/formatTypes.js","../../../node_modules/d3-format/src/identity.js","../../../node_modules/d3-format/src/locale.js","../../../node_modules/d3-format/src/defaultLocale.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../src/Table.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import type * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\n\n// Note: Resolved at build time and inlined into the dgrid bundle.\n// @ts-expect-error\nimport dgridShimBundle from \"@hpcc-js/dgrid-shim/dist/index.js?raw\";\nconst loadDgridShim = new Function(\"globalThis\", \"var self = globalThis; var window = globalThis;\" + dgridShimBundle);\n\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n loadDgridShim(globalThis);\n if (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n console.error(\"dgrid-shim failed to load from inlined bundle\");\n }\n}\n\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\n","function entitiesEncode(str) {\n return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nfunction isArray(obj: any): obj is any[] {\n return obj instanceof Array;\n}\n\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\n\nexport interface ColumnType {\n field: string;\n leafID: string;\n label: string;\n idx: number;\n className: string;\n sortable: boolean;\n hidden: boolean;\n isSet: boolean;\n width?: number;\n formatter?: CellFormatter;\n renderCell?: CellRenderer;\n children?: ColumnType[];\n}\nexport interface RowType {\n __hpcc_id: number;\n __origRow: any[];\n [colIdx: number]: any;\n}\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\n\nexport class RowFormatter {\n private _columns: ColumnType[];\n private _flattenedColumns = [];\n private _columnIdx = {};\n private _formattedRow = {};\n\n constructor(columns: ColumnType[], protected _renderHtml) {\n this._columns = columns;\n this.flattenColumns(columns);\n }\n\n flattenColumns(columns: ColumnType[]) {\n for (const column of columns) {\n this.flattenColumn(column);\n }\n }\n\n flattenColumn(column: ColumnType) {\n if (column.children) {\n for (const childColumn of column.children) this.flattenColumn(childColumn);\n } else {\n this._columnIdx[column.field] = this._flattenedColumns.length;\n this._flattenedColumns.push(column.field);\n }\n }\n\n format(row) {\n this._formattedRow = {};\n this.formatRow(this._columns, row);\n return this.row();\n }\n\n calcDepth(columns: ColumnType[], row) {\n let maxChildDepth = 1;\n for (const column of columns) {\n if (column.children && row[column.leafID]) {\n let childDepth = 0;\n let childRows = [];\n if (isArray(row[column.leafID])) {\n childRows = row[column.leafID];\n } else if (isArray(row[column.leafID].Row)) {\n childRows = row[column.leafID].Row;\n }\n for (const childRow of childRows) {\n childDepth += this.calcDepth(column.children, childRow);\n }\n maxChildDepth = Math.max(maxChildDepth, childDepth);\n }\n }\n return maxChildDepth;\n }\n\n formatCell(column: ColumnType, cell, maxChildDepth) {\n if (column.children) {\n let childDepth = 0;\n if (!isArray(cell)) {\n if (isArray(cell.Row)) {\n cell = cell.Row;\n } else {\n cell = [cell];\n }\n }\n for (const row of cell) {\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\n }\n } else {\n if (column.isSet) {\n cell = JSON.stringify(cell.Item);\n }\n if (this._formattedRow[column.field] === undefined) {\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n } else {\n this._formattedRow[column.field] += LINE_SPLITTER;\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n }\n if (maxChildDepth > 1) {\n const paddingArr = [];\n paddingArr.length = maxChildDepth;\n const padding = paddingArr.join(LINE_SPLITTER2);\n this._formattedRow[column.field] += padding;\n }\n }\n }\n\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\n const maxChildDepth = this.calcDepth(columns, row);\n for (const column of columns) {\n this.formatCell(column, row[column.leafID], maxChildDepth);\n }\n return maxChildDepth;\n }\n\n row() {\n const retVal = {};\n for (const column of this._flattenedColumns) {\n retVal[column] = this._formattedRow[column];\n }\n return retVal;\n }\n}\n","import { Database } from \"@hpcc-js/common\";\nimport { Deferred } from \"./dgrid-shim.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport class DBStore {\n private _db: Database.Grid;\n\n Model: null;\n idProperty: \"__hpcc_id\";\n\n constructor(db: Database.Grid) {\n this._db = db;\n }\n\n protected _renderHtml = true;\n renderHtml(_: boolean) {\n this._renderHtml = _;\n }\n\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const label = field.label();\n const column: ColumnType = {\n label,\n leafID: \"\" + idx,\n field: prefix + idx,\n idx,\n className: \"resultGridCell\",\n sortable,\n hidden: false,\n isSet: false\n };\n switch (field.type()) {\n case \"nested\":\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\n column.sortable = false;\n break;\n default:\n column.formatter = formatter;\n column.renderCell = renderCell;\n }\n return column;\n });\n }\n\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\n }\n\n getIdentity(object) {\n return object.__hpcc_id;\n }\n\n get(row: number) {\n return this._db.row(row + 1);\n }\n\n _fetchRange(opts: { start: number, end: number }): object[] {\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\n const formattedRow: any = rowFormatter.format(row);\n return {\n ...formattedRow,\n __hpcc_id: opts.start + idx,\n __origRow: row\n };\n });\n }\n\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\n const data = this._fetchRange(opts);\n const retVal: any = new Deferred();\n retVal.totalLength = new Deferred();\n retVal.resolve(data);\n retVal.totalLength.resolve(this._db.length() - 1);\n return retVal;\n }\n\n sort(opts) {\n this._db.data().sort((l, r) => {\n for (const item of opts) {\n const idx = item.property;\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\n }\n return 0;\n });\n return this;\n }\n}\n","import { HTMLWidget, Selection } from \"@hpcc-js/common\";\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\nimport { DBStore } from \"./DBStore.ts\";\nimport { type ColumnType } from \"./RowFormatter.ts\";\n\nimport \"../src/Common.css\";\n\nexport class Common extends HTMLWidget {\n protected _columns: ColumnType[] = [];\n protected _store = new DBStore(this._db);\n protected _dgridDiv: Selection<HTMLDivElement, unknown, HTMLElement, unknown>;\n protected _dgrid: typeof PagingGrid | typeof Grid;\n protected _prevPaging: boolean;\n private _prevSortBy: string;\n private _prevSortByDescending: boolean;\n private _prevMultiSelect: boolean;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\n const idx = this.columns().indexOf(this.sortBy());\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\n }\n\n protected _supressEvents;\n selection(): any[];\n selection(_: any[]): this;\n selection(_?: any[]): any[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const id in this._dgrid.selection) {\n if (this._dgrid.selection[id]) {\n const storeItem = this._store.get(+id);\n retVal.push(this.rowToObj(storeItem));\n }\n }\n return retVal;\n }\n this._supressEvents = true;\n this._dgrid?.clearSelection();\n let first = true;\n this.data().forEach((row, idx) => {\n if (_.indexOf(row) >= 0) {\n const row = this._dgrid?.row(idx);\n if (row.element && first) {\n first = false;\n row.element.scrollIntoView();\n }\n this._dgrid?.select(idx);\n }\n });\n this._supressEvents = false;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._store.renderHtml(this.renderHtml());\n\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\n this._prevSortBy !== this.sortBy() ||\n this._prevSortByDescending !== this.sortByDescending() ||\n this._prevMultiSelect !== this.multiSelect()) {\n\n this._prevPaging = this.pagination();\n this._prevSortBy = this.sortBy();\n this._prevSortByDescending = this.sortByDescending();\n this._prevMultiSelect = this.multiSelect();\n if (this._dgrid) {\n this._dgrid.destroy();\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\n columns: this._columns,\n collection: this._store,\n sort: this.formatSortBy(),\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\n deselectOnRefresh: true,\n cellNavigation: false,\n pagingLinks: 1,\n pagingTextBox: true,\n previousNextArrows: true,\n firstLastArrows: true,\n rowsPerPage: this.pageSize(),\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\n }, this._dgridDiv.node());\n this._dgrid.on(\"dgrid-select\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-column-autofit\", (evt) => {\n if (this._supressEvents) return;\n if (evt.detail?.label) {\n const column = this._columns.find(c => c.label === evt.detail.label);\n if (!column) return;\n this.dblclickColResize(column.label, column);\n }\n });\n this._dgrid.refresh({});\n }\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\n\n this._dgridDiv\n .style(\"width\", this.width() + \"px\")\n .style(\"height\", this.height() - 2 + \"px\")\n ;\n this._dgrid.resize();\n }\n\n exit(domNode, element) {\n delete this._prevPaging;\n if (this._dgrid) {\n this._dgrid.destroy();\n delete this._dgrid;\n }\n super.exit(domNode, element);\n }\n\n click(row, col, sel, more) {\n }\n\n dblclickColResize(column, dgridColumn) {\n }\n}\nCommon.prototype._class += \" dgrid_Common\";\n\nexport interface Common {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n loadingMessage(): string;\n loadingMessage(_: string): this;\n pagination(): boolean;\n pagination(_: boolean): this;\n pageSize(): number;\n pageSize(_: number): this;\n sortable(): boolean;\n sortable(_: boolean): this;\n sortBy(): string;\n sortBy(_: string): this;\n sortByDescending(): boolean;\n sortByDescending(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n renderHtml(): boolean;\n renderHtml(_: boolean): this;\n}\n\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\n\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport interface IDatasource {\n id: () => string;\n hash: () => string;\n label: () => string;\n\n outFields: () => DDL2.IField[];\n total: () => number;\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\n}\n\nexport class DatasourceCache implements IDatasource {\n protected _datasource: IDatasource;\n _prevHash: string;\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\n\n constructor(datasource: IDatasource) {\n this._datasource = datasource;\n }\n\n validateCache() {\n const hash = this.hash();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._fetchCache = {};\n }\n }\n\n id() { return this._datasource.id(); }\n hash() { return this._datasource.hash(); }\n label() { return this._datasource.label(); }\n\n outFields() { return this._datasource.outFields(); }\n total() { return this._datasource.total(); }\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\n this.validateCache();\n const cacheID = `${from}->${count}`;\n let retVal = this._fetchCache[cacheID];\n if (!retVal) {\n retVal = this._datasource.fetch(from, count);\n this._fetchCache[cacheID] = retVal;\n }\n return retVal;\n }\n}\n\nexport class DatasourceStore {\n _datasource: DatasourceCache;\n _columnsIdx: { [key: string]: number } = {};\n _columns;\n\n private rowFormatter: RowFormatter;\n\n constructor(datasource: IDatasource, renderHtml: boolean) {\n this._datasource = new DatasourceCache(datasource);\n\n this._columnsIdx = {};\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\n this._columnsIdx[column.field] = idx;\n return column;\n });\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n }\n\n columns() {\n return this._columns;\n }\n\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const column: ColumnType = {\n field: prefix + field.id,\n leafID: field.id,\n label: field.id,\n idx,\n className: \"resultGridCell\",\n sortable: true,\n hidden: false,\n isSet: false\n };\n if (field.type === \"dataset\") {\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\n } else {\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\");\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\n const retVal = this._datasource.fetch(start, end - start).then(response => {\n return {\n totalLength: this._datasource.total(),\n data: response.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__origRow = row;\n return formattedRow;\n })\n };\n });\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { Memory } from \"./dgrid-shim.ts\";\nimport { Common } from \"./Common.ts\";\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\n\nexport class DatasourceTable extends Common {\n _prevDatasource?: IDatasource;\n\n constructor() {\n super();\n }\n\n invalidate(): this {\n delete this._prevDatasource;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n render(callback?: (w: Widget) => void): this {\n return super.render(w => {\n if (this._prevDatasource !== this.datasource()) {\n this._dgrid.set(\"collection\", new Memory());\n this._dgrid.set(\"columns\", []);\n this._prevDatasource = this.datasource();\n if (this._prevDatasource) {\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\n this._dgrid.set(\"columns\", store.columns());\n this._dgrid.set(\"collection\", store);\n if (callback) {\n callback(w);\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n });\n }\n\n click(row, col, sel) {\n }\n}\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\n\nexport interface DatasourceTable {\n datasource(): IDatasource;\n datasource(_: IDatasource): this;\n}\n\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\n\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_join from \"./join\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import { Palette, PropertyExt, Field, Utility } from \"@hpcc-js/common\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { format as d3Format } from \"d3-format\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Common } from \"./Common.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\n\n// ColumnPalette ---\nexport class ColumnFormat extends PropertyExt {\n _owner: Table;\n\n constructor() {\n super();\n }\n\n owner(): Table;\n owner(_: Table): this;\n owner(_?: Table): Table | this {\n if (!arguments.length) return this._owner;\n this._owner = _;\n return this;\n }\n\n valid(): boolean {\n return !!this.column();\n }\n\n formatterFunc(): CellFormatter | undefined {\n const defaultFormatter = this._owner.formatterFunc();\n if (this.valid() && this.format()) {\n const numberFormatter = d3Format(this.format());\n\n return function (this: ColumnType, cell: any, row: RowType): string {\n if (typeof cell === \"number\")\n return numberFormatter(cell);\n return defaultFormatter.call(this, cell, row);\n };\n }\n return defaultFormatter;\n }\n\n renderCellFunc(): CellRenderer | undefined {\n const defaultRenderCell = this._owner.renderCellFunc();\n const defaultFormatter = this.formatterFunc();\n if (this.valid() && this.paletteID()) {\n const columns = this._owner.columns();\n const palette = Palette.rainbow(this.paletteID());\n const min = this.min();\n const max = this.max();\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\n if (defaultRenderCell) {\n defaultRenderCell.call(this, row, cell, cellElement);\n }\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\n const background = palette(value, min, max);\n const cellText: any = defaultFormatter.call(this, cell, row);\n d3Select(cellElement)\n .style(\"background\", background)\n .style(\"color\", background && Palette.textColor(background))\n .text(cellText?.html ?? cellText ?? cell)\n ;\n };\n }\n return defaultRenderCell;\n }\n}\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\n\nexport interface ColumnFormat {\n column(): string;\n column(_: string): this;\n width(): number;\n width(_: number): this;\n format(): string;\n format(_: string): this;\n paletteID(): string;\n paletteID(_: string): this;\n min(): number;\n min(_: number): this;\n max(): number;\n max(_: number): this;\n valueColumn(): string;\n valueColumn(_: string): this;\n}\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\n\n// Table ---\nexport class Table extends Common {\n private _prevColsHash;\n private _prevFieldsHash;\n _colsRefresh = false;\n _dataRefresh = false;\n\n constructor() {\n super();\n }\n\n fields(): Field[];\n fields(_: Field[]): this;\n fields(_?: Field[]): Field[] | this {\n const retVal = super.fields.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevFieldsHash !== hash) {\n this._prevFieldsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n const retVal = super.columns.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevColsHash !== hash) {\n this._prevColsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n const retVal = super.data.apply(this, arguments as any);\n if (arguments.length) {\n this._dataRefresh = true;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n guessWidth(columns, data) {\n const sortablePadding = this.sortable() ? 12 : 0;\n for (const column of columns) {\n if (column.children) {\n let sampleData = [];\n for (let i = 0; i < Math.min(3, data.length); ++i) {\n sampleData = sampleData.concat(data[i][column.idx]);\n }\n this.guessWidth(column.children, sampleData);\n } else {\n column.width = data.reduce((prevVal: number, row) => {\n let cell = (\"\" + row[column.idx]).trim();\n if (this.renderHtml() && cell[0] === \"<\") {\n cell = Utility.removeHTMLFromString(cell);\n }\n return Math.max(prevVal, this.textSize(cell, this.columnWidthAutoFontName(), this.columnWidthAutoFontSize()).width);\n }, this.textSize(\"\" + column.label, this.columnWidthAutoFontName(), this.columnWidthAutoFontSize(), true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\n }\n }\n }\n\n _prevHash;\n update(domNode, element) {\n super.update(domNode, element);\n const hash = this.hashSum();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._colsRefresh = true;\n }\n if (this._colsRefresh) {\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\n switch (this.columnWidth()) {\n case \"auto\":\n const sampleRows = this.data().filter((row, idx) => idx < this.columnWidthAutoSampleSize());\n this.guessWidth(this._columns, sampleRows);\n break;\n }\n const columns = this.columns();\n for (const columnFormat of this.columnFormats()) {\n if (columnFormat.valid()) {\n const colIdx = columns.indexOf(columnFormat.column());\n if (this._columns[colIdx]) {\n this._columns[colIdx].hidden = columnFormat.width() === 0;\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\n }\n }\n }\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\n this._colsRefresh = false;\n }\n if (this._colsRefresh || this._dataRefresh) {\n if (this._colsRefresh) {\n this._dgrid.refresh({});\n } else {\n this._dgrid.refresh();\n }\n this._colsRefresh = false;\n this._dataRefresh = false;\n }\n }\n\n exit(domNode, element) {\n delete this._prevColsHash;\n delete this._prevFieldsHash;\n super.exit(domNode, element);\n }\n\n // Cell ---\n formatterFunc(): CellFormatter | undefined {\n return function (this: ColumnType, cell: any, row: RowType): string | any {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n\n renderCellFunc(): CellRenderer | undefined {\n return undefined; // Undefined will defualt to formatter ---\n }\n\n // Events ---\n click(row, col, sel) {\n }\n\n dblclickColResize(column: string, dgridColumn: any): void {\n this.guessWidth([dgridColumn], this.data());\n this._dgrid.resizeColumn(dgridColumn.id, dgridColumn.width);\n }\n}\nTable.prototype._class += \" dgrid_Table\";\n\nexport interface Table {\n columnWidth(): \"auto\" | \"none\";\n columnWidth(_: \"auto\" | \"none\"): this;\n columnWidthAutoSampleSize(): number;\n columnWidthAutoSampleSize(_: number): this;\n columnWidthAutoFontName(): string;\n columnWidthAutoFontName(_: string): this;\n columnWidthAutoFontSize(): number;\n columnWidthAutoFontSize(_: number): this;\n columnFormats(): ColumnFormat[];\n columnFormats(_: ColumnFormat[]): this;\n}\n\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\nTable.prototype.publish(\"columnWidthAutoSampleSize\", 10, \"number\", \"Number of rows to sample for auto column width\");\nTable.prototype.publish(\"columnWidthAutoFontName\", \"Verdana\", \"string\", \"Font name for auto column width calculation\");\nTable.prototype.publish(\"columnWidthAutoFontSize\", 12, \"number\", \"Font size for auto column width calculation\");\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\n"],"names":["loadDgridShim","Function","globalThis","console","error","Deferred","Memory","QueryResults","Grid","PagingGrid","domConstruct","entitiesEncode","str","String","replace","safeEncode","item","Object","prototype","toString","call","warn","isArray","obj","Array","__name","_RowFormatter","constructor","columns","_renderHtml","this","_columns","flattenColumns","_flattenedColumns","_columnIdx","_formattedRow","column","flattenColumn","children","childColumn","field","length","push","format","row","formatRow","calcDepth","maxChildDepth","leafID","childDepth","childRows","Row","childRow","Math","max","formatCell","cell","isSet","JSON","stringify","Item","paddingArr","padding","join","rowIdx","retVal","RowFormatter","_DBStore","_db","Model","idProperty","db","renderHtml","_","db2Columns","sortable","fields","prefix","formatter","renderCell","map","idx","label","className","hidden","type","getIdentity","object","__hpcc_id","get","_fetchRange","opts","rowFormatter","data","slice","start","end","__origRow","fetchRange","totalLength","resolve","sort","l","r","property","descending","DBStore","_Common","HTMLWidget","_store","_dgridDiv","_dgrid","_prevPaging","_prevSortBy","_prevSortByDescending","_prevMultiSelect","super","_tag","formatSortBy","indexOf","sortBy","sortByDescending","_supressEvents","selection","arguments","id","storeItem","rowToObj","clearSelection","first","forEach","element","scrollIntoView","select","enter","domNode","append","attr","update","pagination","multiSelect","destroy","collection","selectionMode","deselectOnRefresh","cellNavigation","pagingLinks","pagingTextBox","previousNextArrows","firstLastArrows","rowsPerPage","pageSize","pageSizeOptions","node","on","evt","rows","click","detail","find","c","dblclickColResize","refresh","noDataMessage","loadingMessage","style","width","height","resize","exit","col","sel","more","dgridColumn","Common","_class","publish","optional","disable","self","_DatasourceCache","_datasource","_prevHash","_fetchCache","datasource","validateCache","hash","outFields","total","fetch","from","count","cacheID","DatasourceCache","_DatasourceStore","_columnsIdx","_request","Promise","then","response","formattedRow","options","DatasourceStore","_DatasourceTable","_prevDatasource","invalidate","render","callback","w","set","store","DatasourceTable","formatDecimal","x","abs","round","toLocaleString","formatDecimalParts","p","i","toExponential","coefficient","exponent","NaN","formatGroup","grouping","thousands","value","t","j","g","substring","reverse","formatNumerals","numerals","prefixExponent","re","formatSpecifier","specifier","match","exec","Error","FormatSpecifier","fill","align","sign","symbol","zero","comma","precision","trim","formatTrim","s","out","i1","n","i0","formatPrefixAuto","d","min","floor","formatRounded","formatTypes","toFixed","b","e","f","toPrecision","o","X","toUpperCase","identity","locale","prefixes","formatLocale","group","Number","currencyPrefix","currency","currencySuffix","decimal","percent","minus","nan","newFormat","test","toLowerCase","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","isNaN","charCodeAt","Infinity","formatPrefix","k","pow","defaultLocale","definition","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","name","hasOwnProperty","space","local","creatorInherit","document","ownerDocument","uri","namespaceURI","documentElement","createElement","createElementNS","creatorFixed","fullname","creator","none","selector","querySelector","selection_select","groups","_groups","m","subgroups","subnode","subgroup","__data__","Selection","_parents","empty","selectorAll","querySelectorAll","selection_selectAll","parents","matcher","matches","selection_filter","sparse","selection_enter","_enter","EnterNode","parent","datum","_next","_parent","constant","appendChild","child","insertBefore","next","bindIndex","groupLength","dataLength","bindKey","key","keyValue","nodeByKeyValue","keyValues","selection_data","size","each","bind","enterGroup","updateGroup","previous","_exit","selection_exit","selection_join","onenter","onupdate","onexit","remove","merge","order","selection_merge","groups0","groups1","m0","m1","merges","group0","group1","selection_order","compareDocumentPosition","parentNode","selection_sort","compare","compareNode","a","ascending","sortgroups","sortgroup","selection_call","apply","selection_nodes","nodes","selection_node","selection_size","selection_empty","selection_each","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","v","attrFunctionNS","selection_attr","getAttributeNS","getAttribute","defaultView","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","selection_style","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","selection_property","classArray","string","split","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","selection_classed","contains","textRemove","textContent","textConstant","textFunction","selection_text","htmlRemove","innerHTML","htmlConstant","htmlFunction","selection_html","raise","nextSibling","selection_raise","lower","previousSibling","firstChild","selection_lower","selection_append","create","constantNull","selection_insert","before","removeChild","selection_remove","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","selection_clone","deep","selection_datum","splice","filterEvents","mouseenter","mouseleave","filterContextListener","listener","index","contextListener","event","related","relatedTarget","event1","parseTypenames","typenames","onRemove","typename","__on","removeEventListener","capture","onAdd","wrap","addEventListener","selection_on","dispatchEvent","params","window","CustomEvent","createEvent","initEvent","bubbles","cancelable","dispatchConstant","dispatchFunction","selection_dispatch","root","d3Select","selectAll","filter","classed","text","html","insert","dispatch","_ColumnFormat","PropertyExt","_owner","owner","valid","formatterFunc","defaultFormatter","numberFormatter","d3Format","renderCellFunc","defaultRenderCell","paletteID","palette","Palette","rainbow","valueColIdx","valueColumn","cellElement","background","cellText","textColor","ColumnFormat","switch","cf","_Table","_prevColsHash","_prevFieldsHash","_colsRefresh","_dataRefresh","hashSum","asDefault","guessWidth","sortablePadding","sampleData","concat","reduce","prevVal","Utility","removeHTMLFromString","textSize","columnWidthAutoFontName","columnWidthAutoFontSize","columnWidth","sampleRows","columnWidthAutoSampleSize","columnFormat","columnFormats","colIdx","resizeColumn","Table","autoExpand"],"mappings":"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","x_google_ignoreList":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/dgrid",
3
- "version": "3.5.9",
3
+ "version": "3.7.0",
4
4
  "description": "hpcc-js - Viz DGrid",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.cjs",
@@ -37,14 +37,12 @@
37
37
  "update-major": "npx --yes npm-check-updates -u"
38
38
  },
39
39
  "dependencies": {
40
- "@hpcc-js/common": "^3.6.5",
41
- "@hpcc-js/util": "^3.4.8"
42
- },
43
- "peerDependencies": {
44
- "@hpcc-js/dgrid-shim": "^3.1.0"
40
+ "@hpcc-js/common": "^3.7.1",
41
+ "@hpcc-js/dgrid-shim": "^3.4.0",
42
+ "@hpcc-js/util": "^3.5.0"
45
43
  },
46
44
  "devDependencies": {
47
- "@hpcc-js/ddl-shim": "^3.2.6",
45
+ "@hpcc-js/ddl-shim": "^3.3.0",
48
46
  "@hpcc-js/esbuild-plugins": "^1.8.3",
49
47
  "@testing-library/dom": "10.4.1",
50
48
  "d3-format": "^1",
@@ -61,5 +59,5 @@
61
59
  "url": "https://github.com/hpcc-systems/Visualization/issues"
62
60
  },
63
61
  "homepage": "https://github.com/hpcc-systems/Visualization",
64
- "gitHead": "34c404f172efc43a9caf59e8e463d1f07d469578"
62
+ "gitHead": "ada394f582442d2b23a7ff55b9f87a50a723f45b"
65
63
  }