@aquera/nile-elements 0.1.70-beta-1.2 → 0.1.72-beta-1.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.
- package/README.md +3 -0
- package/demo/index.html +201 -237
- package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
- package/dist/axe.min-2b379f29.cjs.js +12 -0
- package/dist/axe.min-2b379f29.cjs.js.map +1 -0
- package/dist/axe.min-c2cd8733.esm.js +12 -0
- package/dist/{fixture-5b79f853.cjs.js → fixture-28d63bc4.cjs.js} +2 -2
- package/dist/{fixture-5b79f853.cjs.js.map → fixture-28d63bc4.cjs.js.map} +1 -1
- package/dist/{fixture-dbd66009.cjs.js → fixture-324a7ef9.cjs.js} +2 -2
- package/dist/{fixture-dbd66009.cjs.js.map → fixture-324a7ef9.cjs.js.map} +1 -1
- package/dist/{fixture-cf7bfcf5.esm.js → fixture-78a015b8.esm.js} +1 -1
- package/dist/fixture-add72f26.esm.js +569 -0
- package/dist/{fixture-90b199c4.esm.js → fixture-ba65eb22.esm.js} +1 -1
- package/dist/fixture-c1bd203f.cjs.js +395 -0
- package/dist/fixture-c1bd203f.cjs.js.map +1 -0
- package/dist/fixture-cb376a7f.cjs.js +395 -0
- package/dist/fixture-cb376a7f.cjs.js.map +1 -0
- package/dist/fixture-f2693d97.esm.js +569 -0
- package/dist/index.js +101 -11
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.esm.js +2 -2
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +8 -3
- package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +11 -5
- package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.esm.js +52 -0
- package/dist/nile-table-row/nile-table-row.esm.js +33 -6
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/src/internal/expandable-row-helper.d.ts +13 -0
- package/dist/src/internal/expandable-row-helper.js +37 -0
- package/dist/src/internal/expandable-row-helper.js.map +1 -0
- package/dist/src/internal/expandable-row-styles.d.ts +11 -0
- package/dist/src/internal/expandable-row-styles.js +27 -0
- package/dist/src/internal/expandable-row-styles.js.map +1 -0
- package/dist/src/internal/table-expandable-helper.d.ts +0 -0
- package/dist/src/internal/table-expandable-helper.js +2 -0
- package/dist/src/internal/table-expandable-helper.js.map +1 -0
- package/dist/src/internal/table-row-expandable-helper.d.ts +12 -0
- package/dist/src/internal/table-row-expandable-helper.js +32 -0
- package/dist/src/internal/table-row-expandable-helper.js.map +1 -0
- package/dist/src/internal/table-row-expandable-styles.d.ts +11 -0
- package/dist/src/internal/table-row-expandable-styles.js +12 -0
- package/dist/src/internal/table-row-expandable-styles.js.map +1 -0
- package/dist/src/nile-group-header/index.d.ts +1 -0
- package/dist/src/nile-group-header/index.js +2 -0
- package/dist/src/nile-group-header/index.js.map +1 -0
- package/dist/src/nile-group-header/nile-group-header.css.d.ts +12 -0
- package/dist/src/nile-group-header/nile-group-header.css.js +30 -0
- package/dist/src/nile-group-header/nile-group-header.css.js.map +1 -0
- package/dist/src/nile-group-header/nile-group-header.d.ts +19 -0
- package/dist/src/nile-group-header/nile-group-header.js +36 -0
- package/dist/src/nile-group-header/nile-group-header.js.map +1 -0
- package/dist/src/nile-group-header/nile-option-header.css.d.ts +12 -0
- package/dist/src/nile-group-header/nile-option-header.css.js +30 -0
- package/dist/src/nile-group-header/nile-option-header.css.js.map +1 -0
- package/dist/src/nile-group-header/nile-option-header.d.ts +33 -0
- package/dist/src/nile-group-header/nile-option-header.js +51 -0
- package/dist/src/nile-group-header/nile-option-header.js.map +1 -0
- package/dist/src/nile-option-header/index.d.ts +1 -0
- package/dist/src/nile-option-header/index.js +2 -0
- package/dist/src/nile-option-header/index.js.map +1 -0
- package/dist/src/nile-option-header/nile-option-header.css.d.ts +12 -0
- package/dist/src/nile-option-header/nile-option-header.css.js +30 -0
- package/dist/src/nile-option-header/nile-option-header.css.js.map +1 -0
- package/dist/src/nile-option-header/nile-option-header.d.ts +33 -0
- package/dist/src/nile-option-header/nile-option-header.js +51 -0
- package/dist/src/nile-option-header/nile-option-header.js.map +1 -0
- package/dist/src/nile-table-body/nile-table-body.d.ts +3 -0
- package/dist/src/nile-table-body/nile-table-body.js +32 -0
- package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +5 -0
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +1 -0
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js +14 -2
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
- package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +9 -0
- package/dist/src/nile-table-row/TableRowExpandableHelper.js +26 -0
- package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +1 -0
- package/dist/src/nile-table-row/helper.ts.d.ts +37 -0
- package/dist/src/nile-table-row/helper.ts.js +105 -0
- package/dist/src/nile-table-row/helper.ts.js.map +1 -0
- package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +37 -0
- package/dist/src/nile-table-row/nile-table-row-expandable.js +105 -0
- package/dist/src/nile-table-row/nile-table-row-expandable.js.map +1 -0
- package/dist/src/nile-table-row/nile-table-row.css.js +52 -0
- package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
- package/dist/src/nile-table-row/nile-table-row.d.ts +12 -1
- package/dist/src/nile-table-row/nile-table-row.js +113 -9
- package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
- package/dist/src/nile-table-row-expandable/index.d.ts +1 -0
- package/dist/src/nile-table-row-expandable/index.js +2 -0
- package/dist/src/nile-table-row-expandable/index.js.map +1 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +12 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +17 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +1 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +37 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +103 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +1 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +18 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +216 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js +148 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-table-body/nile-table-body.ts +27 -1
- package/src/nile-table-cell-item/nile-table-cell-item.css.ts +5 -0
- package/src/nile-table-cell-item/nile-table-cell-item.ts +15 -2
- package/src/nile-table-row/nile-table-row.css.ts +52 -0
- package/src/nile-table-row/nile-table-row.ts +108 -5
- package/vscode-html-custom-data.json +43 -4
- package/dist/src/internal/resizable-helper.d.ts +0 -59
- package/dist/src/internal/resizable-helper.js +0 -115
- package/dist/src/internal/resizable-helper.js.map +0 -1
- package/dist/src/internal/resizable-styles.d.ts +0 -16
- package/dist/src/internal/resizable-styles.js +0 -144
- package/dist/src/internal/resizable-styles.js.map +0 -1
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
- package/dist/src/nile-grid/data-processor.d.ts +0 -37
- package/dist/src/nile-grid/data-processor.js +0 -122
- package/dist/src/nile-grid/data-processor.js.map +0 -1
- package/dist/src/nile-grid/event-handlers.d.ts +0 -35
- package/dist/src/nile-grid/event-handlers.js +0 -158
- package/dist/src/nile-grid/event-handlers.js.map +0 -1
- package/dist/src/nile-grid/index.d.ts +0 -5
- package/dist/src/nile-grid/index.js +0 -6
- package/dist/src/nile-grid/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.css.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid.css.js +0 -120
- package/dist/src/nile-grid/nile-grid.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.d.ts +0 -39
- package/dist/src/nile-grid/nile-grid.js +0 -182
- package/dist/src/nile-grid/nile-grid.js.map +0 -1
- package/dist/src/nile-grid/renderer.d.ts +0 -8
- package/dist/src/nile-grid/renderer.js +0 -78
- package/dist/src/nile-grid/renderer.js.map +0 -1
- package/dist/src/nile-grid/resize-handler.d.ts +0 -4
- package/dist/src/nile-grid/resize-handler.js +0 -36
- package/dist/src/nile-grid/resize-handler.js.map +0 -1
- package/dist/src/nile-grid/types.d.ts +0 -32
- package/dist/src/nile-grid/types.js +0 -2
- package/dist/src/nile-grid/types.js.map +0 -1
- package/dist/src/nile-grid/utils.d.ts +0 -4
- package/dist/src/nile-grid/utils.js +0 -32
- package/dist/src/nile-grid/utils.js.map +0 -1
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
- package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
- package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
- package/dist/src/nile-virtual-table-body/index.js +0 -3
- package/dist/src/nile-virtual-table-body/index.js.map +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
- package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
- package/dist/src/nile-virtual-table-body/renderer.js +0 -49
- package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
@@ -1,182 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { customElement, property } from 'lit/decorators.js';
|
3
|
-
import { html } from 'lit';
|
4
|
-
import { styles } from './nile-grid.css';
|
5
|
-
import NileElement from '../internal/nile-element';
|
6
|
-
import { virtualize } from '@lit-labs/virtualizer/virtualize.js';
|
7
|
-
import { GridRenderer } from './renderer.js';
|
8
|
-
import { ResizeHandler } from './resize-handler.js';
|
9
|
-
/**
|
10
|
-
* @summary A simple data grid component
|
11
|
-
* @status stable
|
12
|
-
* @since 2.0
|
13
|
-
*
|
14
|
-
* @event grid-ready - Emitted when the grid is ready
|
15
|
-
*/
|
16
|
-
let NileGrid = class NileGrid extends NileElement {
|
17
|
-
constructor() {
|
18
|
-
super(...arguments);
|
19
|
-
/** Column definitions for the grid */
|
20
|
-
this.columnDefs = [];
|
21
|
-
/** Row data to display in the grid */
|
22
|
-
this.rowData = [];
|
23
|
-
/** Grid options for configuration */
|
24
|
-
this.gridOptions = {};
|
25
|
-
this.gridApi = null;
|
26
|
-
}
|
27
|
-
connectedCallback() {
|
28
|
-
super.connectedCallback();
|
29
|
-
this.initializeGridApi();
|
30
|
-
}
|
31
|
-
firstUpdated() {
|
32
|
-
this.emitGridReady();
|
33
|
-
}
|
34
|
-
initializeGridApi() {
|
35
|
-
this.gridApi = {
|
36
|
-
getSelectedRows: () => [],
|
37
|
-
setRowData: (data) => {
|
38
|
-
this.rowData = data;
|
39
|
-
this.requestUpdate();
|
40
|
-
},
|
41
|
-
setColumnDefs: (defs) => {
|
42
|
-
this.columnDefs = defs;
|
43
|
-
this.requestUpdate();
|
44
|
-
}
|
45
|
-
};
|
46
|
-
}
|
47
|
-
emitGridReady() {
|
48
|
-
if (this.gridApi) {
|
49
|
-
const event = {
|
50
|
-
api: this.gridApi,
|
51
|
-
type: 'gridReady'
|
52
|
-
};
|
53
|
-
this.emit('grid-ready', event);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
handleResizeStart(event, col, columnIndex) {
|
57
|
-
ResizeHandler.handleResizeStart(event, col, columnIndex, this.columnDefs, this.gridOptions, () => this.requestUpdate());
|
58
|
-
}
|
59
|
-
renderHeader() {
|
60
|
-
return html `
|
61
|
-
<div class="grid-header" style="grid-template-columns: ${this.getGridTemplateColumns()};">
|
62
|
-
${this.columnDefs.map((col, index) => html `
|
63
|
-
<div class="grid-header-cell">
|
64
|
-
<span>${col.headerName || col.field}</span>
|
65
|
-
${this.shouldShowResizeHandle(col) ? html `
|
66
|
-
<div
|
67
|
-
class="grid-resize-handle"
|
68
|
-
@mousedown=${(e) => this.handleResizeStart(e, col, index)}
|
69
|
-
title="Drag to resize column"
|
70
|
-
></div>
|
71
|
-
` : ''}
|
72
|
-
</div>
|
73
|
-
`)}
|
74
|
-
</div>
|
75
|
-
`;
|
76
|
-
}
|
77
|
-
shouldShowResizeHandle(col) {
|
78
|
-
if (!this.gridOptions.enableColResize)
|
79
|
-
return false;
|
80
|
-
if (col.resizable === false)
|
81
|
-
return false;
|
82
|
-
return true;
|
83
|
-
}
|
84
|
-
renderBody() {
|
85
|
-
if (this.gridOptions.enableVirtualScroll && this.rowData.length > 0) {
|
86
|
-
return html `
|
87
|
-
<div class="grid-body">
|
88
|
-
${virtualize({
|
89
|
-
items: this.rowData,
|
90
|
-
renderItem: (row, rowIndex) => html `
|
91
|
-
<div class="grid-row" style="grid-template-columns: ${this.getGridTemplateColumns()};">
|
92
|
-
${this.renderRowCells(row, rowIndex)}
|
93
|
-
</div>
|
94
|
-
`,
|
95
|
-
scroller: true,
|
96
|
-
})}
|
97
|
-
</div>
|
98
|
-
`;
|
99
|
-
}
|
100
|
-
return GridRenderer.renderBody(this.rowData, this.columnDefs, false, () => html ``);
|
101
|
-
}
|
102
|
-
renderRowCells(row, rowIndex) {
|
103
|
-
const cells = [];
|
104
|
-
let currentColIndex = 0;
|
105
|
-
for (let colIndex = 0; colIndex < this.columnDefs.length; colIndex++) {
|
106
|
-
const col = this.columnDefs[colIndex];
|
107
|
-
// Check if this column should be skipped due to previous spanning
|
108
|
-
if (currentColIndex > colIndex) {
|
109
|
-
continue;
|
110
|
-
}
|
111
|
-
// Calculate column span
|
112
|
-
const colSpan = this.calculateColSpan(col, row, rowIndex, colIndex);
|
113
|
-
if (colSpan > 0) {
|
114
|
-
const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;
|
115
|
-
cells.push(html `
|
116
|
-
<div class="grid-cell" style="${cellStyle}">
|
117
|
-
<span>${row[col.field]}</span>
|
118
|
-
</div>
|
119
|
-
`);
|
120
|
-
currentColIndex += colSpan;
|
121
|
-
}
|
122
|
-
}
|
123
|
-
return html `${cells}`;
|
124
|
-
}
|
125
|
-
calculateColSpan(col, row, rowIndex, colIndex) {
|
126
|
-
if (col.colSpan) {
|
127
|
-
const params = {
|
128
|
-
data: row,
|
129
|
-
field: col.field,
|
130
|
-
rowIndex,
|
131
|
-
columnIndex: colIndex
|
132
|
-
};
|
133
|
-
return col.colSpan(params);
|
134
|
-
}
|
135
|
-
return 1;
|
136
|
-
}
|
137
|
-
getGridTemplateColumns() {
|
138
|
-
return this.columnDefs.map((col, index) => {
|
139
|
-
if (col.width) {
|
140
|
-
return `${col.width}px`;
|
141
|
-
}
|
142
|
-
// Last column takes remaining space
|
143
|
-
if (index === this.columnDefs.length - 1) {
|
144
|
-
return '1fr';
|
145
|
-
}
|
146
|
-
return 'auto';
|
147
|
-
}).join(' ');
|
148
|
-
}
|
149
|
-
render() {
|
150
|
-
if (!this.columnDefs || this.columnDefs.length === 0) {
|
151
|
-
return html `
|
152
|
-
<div class="grid-container">
|
153
|
-
<div class="grid-empty">
|
154
|
-
<div class="empty-text">No columns defined</div>
|
155
|
-
</div>
|
156
|
-
</div>
|
157
|
-
`;
|
158
|
-
}
|
159
|
-
return html `
|
160
|
-
<div class="grid-container">
|
161
|
-
${this.renderHeader()}
|
162
|
-
${this.renderBody()}
|
163
|
-
</div>
|
164
|
-
`;
|
165
|
-
}
|
166
|
-
};
|
167
|
-
NileGrid.styles = styles;
|
168
|
-
__decorate([
|
169
|
-
property({ type: Array, attribute: 'columnDefs' })
|
170
|
-
], NileGrid.prototype, "columnDefs", void 0);
|
171
|
-
__decorate([
|
172
|
-
property({ type: Array, attribute: 'rowData' })
|
173
|
-
], NileGrid.prototype, "rowData", void 0);
|
174
|
-
__decorate([
|
175
|
-
property({ type: Object, attribute: 'gridOptions' })
|
176
|
-
], NileGrid.prototype, "gridOptions", void 0);
|
177
|
-
NileGrid = __decorate([
|
178
|
-
customElement('nile-grid')
|
179
|
-
], NileGrid);
|
180
|
-
export { NileGrid };
|
181
|
-
export default NileGrid;
|
182
|
-
//# sourceMappingURL=nile-grid.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"nile-grid.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { html, TemplateResult } from 'lit';\nimport { styles } from './nile-grid.css';\nimport type { CSSResultGroup } from 'lit';\nimport NileElement from '../internal/nile-element';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport type { ColumnDef, GridOptions, GridApi, GridReadyEvent } from './types.js';\nimport { GridRenderer } from './renderer.js';\nimport { ResizeHandler } from './resize-handler.js';\n\n/**\n * @summary A simple data grid component\n * @status stable\n * @since 2.0\n *\n * @event grid-ready - Emitted when the grid is ready\n */\n\n@customElement('nile-grid')\nexport class NileGrid extends NileElement {\n static styles: CSSResultGroup = styles;\n\n /** Column definitions for the grid */\n @property({ type: Array, attribute: 'columnDefs' }) columnDefs: ColumnDef[] = [];\n\n /** Row data to display in the grid */\n @property({ type: Array, attribute: 'rowData' }) rowData: any[] = [];\n\n /** Grid options for configuration */\n @property({ type: Object, attribute: 'gridOptions' }) gridOptions: GridOptions = {};\n\n private gridApi: GridApi | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeGridApi();\n }\n\n firstUpdated() {\n this.emitGridReady();\n }\n\n private initializeGridApi() {\n this.gridApi = {\n getSelectedRows: () => [],\n setRowData: (data: any[]) => {\n this.rowData = data;\n this.requestUpdate();\n },\n setColumnDefs: (defs: ColumnDef[]) => {\n this.columnDefs = defs;\n this.requestUpdate();\n }\n };\n }\n\n private emitGridReady() {\n if (this.gridApi) {\n const event: GridReadyEvent = {\n api: this.gridApi,\n type: 'gridReady'\n };\n this.emit('grid-ready', event);\n }\n }\n\n private handleResizeStart(event: MouseEvent, col: ColumnDef, columnIndex: number): void {\n ResizeHandler.handleResizeStart(\n event, \n col, \n columnIndex, \n this.columnDefs, \n this.gridOptions, \n () => this.requestUpdate()\n );\n }\n\n private renderHeader(): TemplateResult {\n return html`\n <div class=\"grid-header\" style=\"grid-template-columns: ${this.getGridTemplateColumns()};\">\n ${this.columnDefs.map((col, index) => html`\n <div class=\"grid-header-cell\">\n <span>${col.headerName || col.field}</span>\n ${this.shouldShowResizeHandle(col) ? html`\n <div \n class=\"grid-resize-handle\"\n @mousedown=${(e: MouseEvent) => this.handleResizeStart(e, col, index)}\n title=\"Drag to resize column\"\n ></div>\n ` : ''}\n </div>\n `)}\n </div>\n `;\n }\n\n private shouldShowResizeHandle(col: any): boolean {\n if (!this.gridOptions.enableColResize) return false;\n if (col.resizable === false) return false;\n return true;\n }\n\n private renderBody(): TemplateResult {\n if (this.gridOptions.enableVirtualScroll && this.rowData.length > 0) {\n return html`\n <div class=\"grid-body\">\n ${virtualize({\n items: this.rowData,\n renderItem: (row: any, rowIndex: number) => html`\n <div class=\"grid-row\" style=\"grid-template-columns: ${this.getGridTemplateColumns()};\">\n ${this.renderRowCells(row, rowIndex)}\n </div>\n `,\n scroller: true,\n })}\n </div>\n `;\n }\n\n return GridRenderer.renderBody(\n this.rowData,\n this.columnDefs,\n false,\n () => html``\n );\n }\n\n private renderRowCells(row: any, rowIndex: number): TemplateResult {\n const cells: TemplateResult[] = [];\n let currentColIndex = 0;\n\n for (let colIndex = 0; colIndex < this.columnDefs.length; colIndex++) {\n const col = this.columnDefs[colIndex];\n \n // Check if this column should be skipped due to previous spanning\n if (currentColIndex > colIndex) {\n continue;\n }\n\n // Calculate column span\n const colSpan = this.calculateColSpan(col, row, rowIndex, colIndex);\n \n if (colSpan > 0) {\n const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;\n \n cells.push(html`\n <div class=\"grid-cell\" style=\"${cellStyle}\">\n <span>${row[col.field]}</span>\n </div>\n `);\n \n currentColIndex += colSpan;\n }\n }\n\n return html`${cells}`;\n }\n\n private calculateColSpan(col: any, row: any, rowIndex: number, colIndex: number): number {\n if (col.colSpan) {\n const params = {\n data: row,\n field: col.field,\n rowIndex,\n columnIndex: colIndex\n };\n return col.colSpan(params);\n }\n return 1;\n }\n\n private getGridTemplateColumns(): string {\n return this.columnDefs.map((col, index) => {\n if (col.width) {\n return `${col.width}px`;\n }\n // Last column takes remaining space\n if (index === this.columnDefs.length - 1) {\n return '1fr';\n }\n return 'auto';\n }).join(' ');\n }\n\n render(): TemplateResult {\n if (!this.columnDefs || this.columnDefs.length === 0) {\n return html`\n <div class=\"grid-container\">\n <div class=\"grid-empty\">\n <div class=\"empty-text\">No columns defined</div>\n </div>\n </div>\n `;\n }\n\n return html`\n <div class=\"grid-container\">\n ${this.renderHeader()}\n ${this.renderBody()}\n </div>\n `;\n }\n}\n\nexport default NileGrid;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid': NileGrid;\n }\n}\n"]}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import { TemplateResult } from 'lit';
|
2
|
-
import type { ColumnDef } from './types.js';
|
3
|
-
export declare class GridRenderer {
|
4
|
-
static renderHeader(columnDefs: ColumnDef[], enableColResize: boolean, onResizeStart: (e: MouseEvent, col: ColumnDef, index: number) => void): TemplateResult;
|
5
|
-
static renderBody(rowData: any[], columnDefs: ColumnDef[], enableVirtualScroll: boolean, onVirtualizeRender: (row: any, rowIndex: number) => TemplateResult): TemplateResult;
|
6
|
-
static renderRowWithSpanning(row: any, rowIndex: number, columnDefs: ColumnDef[]): TemplateResult;
|
7
|
-
private static shouldShowResizeHandle;
|
8
|
-
}
|
@@ -1,78 +0,0 @@
|
|
1
|
-
import { html } from 'lit';
|
2
|
-
import { getGridTemplateColumns, calculateColSpan } from './utils.js';
|
3
|
-
export class GridRenderer {
|
4
|
-
static renderHeader(columnDefs, enableColResize, onResizeStart) {
|
5
|
-
return html `
|
6
|
-
<div class="grid-header" style="grid-template-columns: ${getGridTemplateColumns(columnDefs)};">
|
7
|
-
${columnDefs.map((col, index) => html `
|
8
|
-
<div class="grid-header-cell">
|
9
|
-
<span>${col.headerName || col.field}</span>
|
10
|
-
${this.shouldShowResizeHandle(col, enableColResize) ? html `
|
11
|
-
<div
|
12
|
-
class="grid-resize-handle"
|
13
|
-
@mousedown=${(e) => onResizeStart(e, col, index)}
|
14
|
-
title="Drag to resize column"
|
15
|
-
></div>
|
16
|
-
` : ''}
|
17
|
-
</div>
|
18
|
-
`)}
|
19
|
-
</div>
|
20
|
-
`;
|
21
|
-
}
|
22
|
-
static renderBody(rowData, columnDefs, enableVirtualScroll, onVirtualizeRender) {
|
23
|
-
if (rowData.length === 0) {
|
24
|
-
return html `
|
25
|
-
<div class="grid-empty">
|
26
|
-
<div class="empty-text">No data available</div>
|
27
|
-
</div>
|
28
|
-
`;
|
29
|
-
}
|
30
|
-
if (enableVirtualScroll) {
|
31
|
-
return html `
|
32
|
-
<div class="grid-body">
|
33
|
-
${onVirtualizeRender}
|
34
|
-
</div>
|
35
|
-
`;
|
36
|
-
}
|
37
|
-
return html `
|
38
|
-
<div class="grid-body">
|
39
|
-
${rowData.map((row, rowIndex) => this.renderRowWithSpanning(row, rowIndex, columnDefs))}
|
40
|
-
</div>
|
41
|
-
`;
|
42
|
-
}
|
43
|
-
static renderRowWithSpanning(row, rowIndex, columnDefs) {
|
44
|
-
const cells = [];
|
45
|
-
let currentColIndex = 0;
|
46
|
-
for (let colIndex = 0; colIndex < columnDefs.length; colIndex++) {
|
47
|
-
const col = columnDefs[colIndex];
|
48
|
-
// Check if this column should be skipped due to previous spanning
|
49
|
-
if (currentColIndex > colIndex) {
|
50
|
-
continue;
|
51
|
-
}
|
52
|
-
// Calculate column span
|
53
|
-
const colSpan = calculateColSpan(col, row, rowIndex, colIndex);
|
54
|
-
if (colSpan > 0) {
|
55
|
-
const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;
|
56
|
-
cells.push(html `
|
57
|
-
<div class="grid-cell" style="${cellStyle}">
|
58
|
-
<span>${row[col.field]}</span>
|
59
|
-
</div>
|
60
|
-
`);
|
61
|
-
currentColIndex += colSpan;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
return html `
|
65
|
-
<div class="grid-row" style="grid-template-columns: ${getGridTemplateColumns(columnDefs)};">
|
66
|
-
${cells}
|
67
|
-
</div>
|
68
|
-
`;
|
69
|
-
}
|
70
|
-
static shouldShowResizeHandle(col, enableColResize) {
|
71
|
-
if (!enableColResize)
|
72
|
-
return false;
|
73
|
-
if (col.resizable === false)
|
74
|
-
return false;
|
75
|
-
return true;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
//# sourceMappingURL=renderer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/nile-grid/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,YAAY,CAAC,UAAuB,EAAE,eAAwB,EAAE,aAAqE;QAC1I,OAAO,IAAI,CAAA;+DACgD,sBAAsB,CAAC,UAAU,CAAC;UACvF,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAA;;oBAEzB,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK;cACjC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;;6BAGzC,CAAC,CAAa,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;;;aAG/D,CAAC,CAAC,CAAC,EAAE;;SAET,CAAC;;KAEL,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,OAAc,EACd,UAAuB,EACvB,mBAA4B,EAC5B,kBAAkE;QAElE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;;;;OAIV,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;;YAEL,kBAAkB;;OAEvB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;;UAEL,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;;KAE1F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,GAAQ,EAAE,QAAgB,EAAE,UAAuB;QAC9E,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEjC,kEAAkE;YAClE,IAAI,eAAe,GAAG,QAAQ,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE/D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,gBAAgB,eAAe,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC;gBAE3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;0CACmB,SAAS;oBAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;;SAEzB,CAAC,CAAC;gBAEH,eAAe,IAAI,OAAO,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;4DAC6C,sBAAsB,CAAC,UAAU,CAAC;UACpF,KAAK;;KAEV,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,GAAc,EAAE,eAAwB;QAC5E,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { ColumnDef } from './types.js';\nimport { getGridTemplateColumns, calculateColSpan } from './utils.js';\n\nexport class GridRenderer {\n static renderHeader(columnDefs: ColumnDef[], enableColResize: boolean, onResizeStart: (e: MouseEvent, col: ColumnDef, index: number) => void): TemplateResult {\n return html`\n <div class=\"grid-header\" style=\"grid-template-columns: ${getGridTemplateColumns(columnDefs)};\">\n ${columnDefs.map((col, index) => html`\n <div class=\"grid-header-cell\">\n <span>${col.headerName || col.field}</span>\n ${this.shouldShowResizeHandle(col, enableColResize) ? html`\n <div \n class=\"grid-resize-handle\"\n @mousedown=${(e: MouseEvent) => onResizeStart(e, col, index)}\n title=\"Drag to resize column\"\n ></div>\n ` : ''}\n </div>\n `)}\n </div>\n `;\n }\n\n static renderBody(\n rowData: any[], \n columnDefs: ColumnDef[], \n enableVirtualScroll: boolean,\n onVirtualizeRender: (row: any, rowIndex: number) => TemplateResult\n ): TemplateResult {\n if (rowData.length === 0) {\n return html`\n <div class=\"grid-empty\">\n <div class=\"empty-text\">No data available</div>\n </div>\n `;\n }\n\n if (enableVirtualScroll) {\n return html`\n <div class=\"grid-body\">\n ${onVirtualizeRender}\n </div>\n `;\n }\n\n return html`\n <div class=\"grid-body\">\n ${rowData.map((row, rowIndex) => this.renderRowWithSpanning(row, rowIndex, columnDefs))}\n </div>\n `;\n }\n\n static renderRowWithSpanning(row: any, rowIndex: number, columnDefs: ColumnDef[]): TemplateResult {\n const cells: TemplateResult[] = [];\n let currentColIndex = 0;\n\n for (let colIndex = 0; colIndex < columnDefs.length; colIndex++) {\n const col = columnDefs[colIndex];\n \n // Check if this column should be skipped due to previous spanning\n if (currentColIndex > colIndex) {\n continue;\n }\n\n // Calculate column span\n const colSpan = calculateColSpan(col, row, rowIndex, colIndex);\n \n if (colSpan > 0) {\n const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;\n \n cells.push(html`\n <div class=\"grid-cell\" style=\"${cellStyle}\">\n <span>${row[col.field]}</span>\n </div>\n `);\n \n currentColIndex += colSpan;\n }\n }\n\n return html`\n <div class=\"grid-row\" style=\"grid-template-columns: ${getGridTemplateColumns(columnDefs)};\">\n ${cells}\n </div>\n `;\n }\n\n private static shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean {\n if (!enableColResize) return false;\n if (col.resizable === false) return false;\n return true;\n }\n}\n"]}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
export class ResizeHandler {
|
2
|
-
static handleResizeStart(event, col, columnIndex, columnDefs, gridOptions, onUpdate) {
|
3
|
-
event.preventDefault();
|
4
|
-
event.stopPropagation();
|
5
|
-
const startX = event.clientX;
|
6
|
-
const startWidth = col.width || 100;
|
7
|
-
const isShiftKey = event.shiftKey || gridOptions.colResizeDefault === 'shift';
|
8
|
-
const handleMouseMove = (e) => {
|
9
|
-
const deltaX = e.clientX - startX;
|
10
|
-
let newWidth = startWidth + deltaX;
|
11
|
-
// Ensure minimum width for usability
|
12
|
-
newWidth = Math.max(newWidth, 50);
|
13
|
-
// Update column width
|
14
|
-
col.width = newWidth;
|
15
|
-
// If shift resize, adjust adjacent column
|
16
|
-
if (isShiftKey && columnIndex < columnDefs.length - 1) {
|
17
|
-
const nextCol = columnDefs[columnIndex + 1];
|
18
|
-
const totalWidth = (col.width || 0) + (nextCol.width || 0);
|
19
|
-
const newNextWidth = totalWidth - newWidth;
|
20
|
-
// Ensure adjacent column doesn't get too narrow
|
21
|
-
if (newNextWidth >= 50) {
|
22
|
-
nextCol.width = newNextWidth;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
// Force complete re-render for virtual scrolling
|
26
|
-
onUpdate();
|
27
|
-
};
|
28
|
-
const handleMouseUp = () => {
|
29
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
30
|
-
document.removeEventListener('mouseup', handleMouseUp);
|
31
|
-
};
|
32
|
-
document.addEventListener('mousemove', handleMouseMove);
|
33
|
-
document.addEventListener('mouseup', handleMouseUp);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
//# sourceMappingURL=resize-handler.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"resize-handler.js","sourceRoot":"","sources":["../../../src/nile-grid/resize-handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,iBAAiB,CACtB,KAAiB,EACjB,GAAc,EACd,WAAmB,EACnB,UAAuB,EACvB,WAAwB,EACxB,QAAoB;QAEpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,gBAAgB,KAAK,OAAO,CAAC;QAE9E,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,IAAI,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;YAEnC,qCAAqC;YACrC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAElC,sBAAsB;YACtB,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;YAErB,0CAA0C;YAC1C,IAAI,UAAU,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;gBAE3C,gDAAgD;gBAChD,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import type { ColumnDef, GridOptions } from './types.js';\n\nexport class ResizeHandler {\n static handleResizeStart(\n event: MouseEvent, \n col: ColumnDef, \n columnIndex: number, \n columnDefs: ColumnDef[],\n gridOptions: GridOptions,\n onUpdate: () => void\n ): void {\n event.preventDefault();\n event.stopPropagation();\n \n const startX = event.clientX;\n const startWidth = col.width || 100;\n const isShiftKey = event.shiftKey || gridOptions.colResizeDefault === 'shift';\n \n const handleMouseMove = (e: MouseEvent) => {\n const deltaX = e.clientX - startX;\n let newWidth = startWidth + deltaX;\n \n // Ensure minimum width for usability\n newWidth = Math.max(newWidth, 50);\n \n // Update column width\n col.width = newWidth;\n \n // If shift resize, adjust adjacent column\n if (isShiftKey && columnIndex < columnDefs.length - 1) {\n const nextCol = columnDefs[columnIndex + 1];\n const totalWidth = (col.width || 0) + (nextCol.width || 0);\n const newNextWidth = totalWidth - newWidth;\n \n // Ensure adjacent column doesn't get too narrow\n if (newNextWidth >= 50) {\n nextCol.width = newNextWidth;\n }\n }\n \n // Force complete re-render for virtual scrolling\n onUpdate();\n };\n \n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n \n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n}\n"]}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
export interface ColumnDef {
|
2
|
-
field: string;
|
3
|
-
headerName?: string;
|
4
|
-
sortable?: boolean;
|
5
|
-
width?: number;
|
6
|
-
resizable?: boolean;
|
7
|
-
minWidth?: number;
|
8
|
-
maxWidth?: number;
|
9
|
-
colSpan?: (params: ColSpanParams) => number;
|
10
|
-
}
|
11
|
-
export interface GridOptions {
|
12
|
-
rowSelection?: 'single' | 'multiple';
|
13
|
-
enableSorting?: boolean;
|
14
|
-
enableVirtualScroll?: boolean;
|
15
|
-
enableColResize?: boolean;
|
16
|
-
colResizeDefault?: 'normal' | 'shift';
|
17
|
-
}
|
18
|
-
export interface ColSpanParams {
|
19
|
-
data: any;
|
20
|
-
field: string;
|
21
|
-
rowIndex: number;
|
22
|
-
columnIndex: number;
|
23
|
-
}
|
24
|
-
export interface GridApi {
|
25
|
-
getSelectedRows: () => any[];
|
26
|
-
setRowData: (data: any[]) => void;
|
27
|
-
setColumnDefs: (defs: ColumnDef[]) => void;
|
28
|
-
}
|
29
|
-
export interface GridReadyEvent {
|
30
|
-
api: GridApi;
|
31
|
-
type: 'gridReady';
|
32
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nile-grid/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface ColumnDef {\n field: string;\n headerName?: string;\n sortable?: boolean;\n width?: number;\n resizable?: boolean;\n minWidth?: number;\n maxWidth?: number;\n colSpan?: (params: ColSpanParams) => number;\n}\n\nexport interface GridOptions {\n rowSelection?: 'single' | 'multiple';\n enableSorting?: boolean;\n enableVirtualScroll?: boolean;\n enableColResize?: boolean;\n colResizeDefault?: 'normal' | 'shift';\n}\n\nexport interface ColSpanParams {\n data: any;\n field: string;\n rowIndex: number;\n columnIndex: number;\n}\n\nexport interface GridApi {\n getSelectedRows: () => any[];\n setRowData: (data: any[]) => void;\n setColumnDefs: (defs: ColumnDef[]) => void;\n}\n\nexport interface GridReadyEvent {\n api: GridApi;\n type: 'gridReady';\n}\n"]}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import type { ColumnDef } from './types.js';
|
2
|
-
export declare function getGridTemplateColumns(columnDefs: ColumnDef[]): string;
|
3
|
-
export declare function calculateColSpan(col: ColumnDef, row: any, rowIndex: number, colIndex: number): number;
|
4
|
-
export declare function shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean;
|
@@ -1,32 +0,0 @@
|
|
1
|
-
export function getGridTemplateColumns(columnDefs) {
|
2
|
-
return columnDefs.map((col, index) => {
|
3
|
-
if (col.width) {
|
4
|
-
return `${col.width}px`;
|
5
|
-
}
|
6
|
-
// Last column takes remaining space
|
7
|
-
if (index === columnDefs.length - 1) {
|
8
|
-
return '1fr';
|
9
|
-
}
|
10
|
-
return 'auto';
|
11
|
-
}).join(' ');
|
12
|
-
}
|
13
|
-
export function calculateColSpan(col, row, rowIndex, colIndex) {
|
14
|
-
if (col.colSpan) {
|
15
|
-
const params = {
|
16
|
-
data: row,
|
17
|
-
field: col.field,
|
18
|
-
rowIndex,
|
19
|
-
columnIndex: colIndex
|
20
|
-
};
|
21
|
-
return col.colSpan(params);
|
22
|
-
}
|
23
|
-
return 1;
|
24
|
-
}
|
25
|
-
export function shouldShowResizeHandle(col, enableColResize) {
|
26
|
-
if (!enableColResize)
|
27
|
-
return false;
|
28
|
-
if (col.resizable === false)
|
29
|
-
return false;
|
30
|
-
return true;
|
31
|
-
}
|
32
|
-
//# sourceMappingURL=utils.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/nile-grid/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,UAAuB;IAC5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACnC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC;QAC1B,CAAC;QACD,oCAAoC;QACpC,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAc,EAAE,GAAQ,EAAE,QAAgB,EAAE,QAAgB;IAC3F,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ;YACR,WAAW,EAAE,QAAQ;SACtB,CAAC;QACF,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAc,EAAE,eAAwB;IAC7E,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { ColumnDef, ColSpanParams } from './types.js';\n\nexport function getGridTemplateColumns(columnDefs: ColumnDef[]): string {\n return columnDefs.map((col, index) => {\n if (col.width) {\n return `${col.width}px`;\n }\n // Last column takes remaining space\n if (index === columnDefs.length - 1) {\n return '1fr';\n }\n return 'auto';\n }).join(' ');\n}\n\nexport function calculateColSpan(col: ColumnDef, row: any, rowIndex: number, colIndex: number): number {\n if (col.colSpan) {\n const params: ColSpanParams = {\n data: row,\n field: col.field,\n rowIndex,\n columnIndex: colIndex\n };\n return col.colSpan(params);\n }\n return 1;\n}\n\nexport function shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean {\n if (!enableColResize) return false;\n if (col.resizable === false) return false;\n return true;\n}\n"]}
|
@@ -1,47 +0,0 @@
|
|
1
|
-
/* @web/test-runner snapshot v1 */
|
2
|
-
export const snapshots = {};
|
3
|
-
|
4
|
-
snapshots["NileHero renders correctly with default properties"] =
|
5
|
-
`<div
|
6
|
-
class="hero__container hero__container--expanded"
|
7
|
-
part="nile__hero__container"
|
8
|
-
>
|
9
|
-
<nile-hero-header
|
10
|
-
class="hero__header--collapsed"
|
11
|
-
hero-text="Test Hero"
|
12
|
-
icon="error"
|
13
|
-
part="nile__hero__header"
|
14
|
-
style="opacity:0"
|
15
|
-
>
|
16
|
-
</nile-hero-header>
|
17
|
-
<div
|
18
|
-
class="hero__slot__container"
|
19
|
-
style="opacity:1"
|
20
|
-
>
|
21
|
-
<div class="hero__slot">
|
22
|
-
<span class="icon__container">
|
23
|
-
<nile-icon
|
24
|
-
method="stroke"
|
25
|
-
name="error"
|
26
|
-
size="16"
|
27
|
-
>
|
28
|
-
</nile-icon>
|
29
|
-
</span>
|
30
|
-
<slot>
|
31
|
-
</slot>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
<div
|
35
|
-
class="hero__img__container"
|
36
|
-
id="hero__img__container"
|
37
|
-
style="opacity:1"
|
38
|
-
>
|
39
|
-
<img
|
40
|
-
class="hero__img"
|
41
|
-
src=""
|
42
|
-
>
|
43
|
-
</div>
|
44
|
-
</div>
|
45
|
-
`;
|
46
|
-
/* end snapshot NileHero renders correctly with default properties */
|
47
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
/* @web/test-runner snapshot v1 */
|
2
|
-
export const snapshots = {};
|
3
|
-
|
4
|
-
snapshots["NileIcon should render the icon with the correct name"] =
|
5
|
-
`<nile-icon
|
6
|
-
description=""
|
7
|
-
method="fill"
|
8
|
-
name="info"
|
9
|
-
set="local"
|
10
|
-
size="16"
|
11
|
-
style="--nile-svg-fill: var(--nile-colors-dark-500); --nile-svg-height: 16px; --nile-svg-width: 16px;"
|
12
|
-
>
|
13
|
-
</nile-icon>
|
14
|
-
`;
|
15
|
-
/* end snapshot NileIcon should render the icon with the correct name */
|
16
|
-
|
@@ -1,75 +0,0 @@
|
|
1
|
-
/* @web/test-runner snapshot v1 */
|
2
|
-
export const snapshots = {};
|
3
|
-
|
4
|
-
snapshots["nile-input renders correctly"] =
|
5
|
-
`<div
|
6
|
-
class="form-control form-control--has-label form-control--medium"
|
7
|
-
part="form-control"
|
8
|
-
>
|
9
|
-
<label
|
10
|
-
aria-hidden="false"
|
11
|
-
class="form-control__label"
|
12
|
-
for="input"
|
13
|
-
part="form-control-label"
|
14
|
-
>
|
15
|
-
<slot name="label">
|
16
|
-
Test Label
|
17
|
-
</slot>
|
18
|
-
</label>
|
19
|
-
<div
|
20
|
-
class="form-control-input"
|
21
|
-
part="form-control-input"
|
22
|
-
>
|
23
|
-
<nile-popup
|
24
|
-
distance="5"
|
25
|
-
exportparts="input"
|
26
|
-
placement="bottom-start"
|
27
|
-
strategy="fixed"
|
28
|
-
>
|
29
|
-
<div
|
30
|
-
class="input input--empty input--medium input--standard"
|
31
|
-
part="base"
|
32
|
-
slot="anchor"
|
33
|
-
>
|
34
|
-
<slot
|
35
|
-
class="input__prefix"
|
36
|
-
name="prefix"
|
37
|
-
part="prefix"
|
38
|
-
>
|
39
|
-
</slot>
|
40
|
-
<input
|
41
|
-
aria-describedby="help-text"
|
42
|
-
autocomplete="off"
|
43
|
-
class="input__control"
|
44
|
-
id="input"
|
45
|
-
name=""
|
46
|
-
part="input"
|
47
|
-
placeholder=""
|
48
|
-
spellcheck="true"
|
49
|
-
title=""
|
50
|
-
type="text"
|
51
|
-
>
|
52
|
-
<slot
|
53
|
-
class="input__suffix"
|
54
|
-
name="suffix"
|
55
|
-
part="suffix"
|
56
|
-
>
|
57
|
-
</slot>
|
58
|
-
</div>
|
59
|
-
<div class="input__non-printable">
|
60
|
-
Non-printable character detected.
|
61
|
-
<nile-badge
|
62
|
-
class="input__remove-non-printable"
|
63
|
-
variant="error"
|
64
|
-
>
|
65
|
-
Remove All
|
66
|
-
</nile-badge>
|
67
|
-
<div class="input__srtiked-text-container">
|
68
|
-
</div>
|
69
|
-
</div>
|
70
|
-
</nile-popup>
|
71
|
-
</div>
|
72
|
-
</div>
|
73
|
-
`;
|
74
|
-
/* end snapshot nile-input renders correctly */
|
75
|
-
|
@@ -1,22 +0,0 @@
|
|
1
|
-
/* @web/test-runner snapshot v1 */
|
2
|
-
export const snapshots = {};
|
3
|
-
|
4
|
-
snapshots["NilePopover renders correctly"] =
|
5
|
-
`<nile-popup
|
6
|
-
active=""
|
7
|
-
arrowplacement="anchor"
|
8
|
-
distance="18"
|
9
|
-
placement="top"
|
10
|
-
shift=""
|
11
|
-
strategy="absolute"
|
12
|
-
>
|
13
|
-
<slot
|
14
|
-
aria-describedby="tooltip"
|
15
|
-
name="anchor"
|
16
|
-
slot="anchor"
|
17
|
-
>
|
18
|
-
</slot>
|
19
|
-
</nile-popup>
|
20
|
-
`;
|
21
|
-
/* end snapshot NilePopover renders correctly */
|
22
|
-
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import type NileElement from '../internal/nile-element';
|
2
|
-
/**
|
3
|
-
* Helper class to manage virtual scroll functionality for nile-table-body component
|
4
|
-
*/
|
5
|
-
export declare class VirtualTableBodyHelper {
|
6
|
-
private component;
|
7
|
-
constructor(component: NileElement);
|
8
|
-
renderVirtualizedContent(): any;
|
9
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { html } from 'lit';
|
2
|
-
/**
|
3
|
-
* Helper class to manage virtual scroll functionality for nile-table-body component
|
4
|
-
*/
|
5
|
-
export class VirtualTableBodyHelper {
|
6
|
-
constructor(component) {
|
7
|
-
this.component = component;
|
8
|
-
}
|
9
|
-
renderVirtualizedContent() {
|
10
|
-
const component = this.component;
|
11
|
-
return html `
|
12
|
-
<div class="virtual-table-body">
|
13
|
-
<nile-virtual-table-body
|
14
|
-
.type=${component.type}
|
15
|
-
.data=${component.data || []}
|
16
|
-
.hasResizableColumns=${component.hasResizableColumns}
|
17
|
-
>
|
18
|
-
<slot name="table__header" slot="table__header"></slot>
|
19
|
-
</nile-virtual-table-body>
|
20
|
-
</div>
|
21
|
-
`;
|
22
|
-
}
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=virtual-scroll-helper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"virtual-scroll-helper.js","sourceRoot":"","sources":["../../../src/nile-table-body/virtual-scroll-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC,YAAY,SAAsB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAgB,CAAC;QAExC,OAAO,IAAI,CAAA;;;kBAGG,SAAS,CAAC,IAAI;kBACd,SAAS,CAAC,IAAI,IAAI,EAAE;iCACL,SAAS,CAAC,mBAAmB;;;;;KAKzD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { html } from 'lit';\nimport type NileElement from '../internal/nile-element';\n\n/**\n * Helper class to manage virtual scroll functionality for nile-table-body component\n */\nexport class VirtualTableBodyHelper {\n private component: NileElement;\n\n constructor(component: NileElement) {\n this.component = component;\n }\n\n renderVirtualizedContent(): any {\n const component = this.component as any;\n\n return html`\n <div class=\"virtual-table-body\">\n <nile-virtual-table-body\n .type=${component.type}\n .data=${component.data || []}\n .hasResizableColumns=${component.hasResizableColumns}\n >\n <slot name=\"table__header\" slot=\"table__header\"></slot>\n </nile-virtual-table-body>\n </div>\n `;\n }\n}\n"]}
|