@zentto/report-designer 1.5.5 → 1.5.7

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.
@@ -0,0 +1,46 @@
1
+ import { LitElement, type PropertyValues } from 'lit';
2
+ import type { DataSourceDef, FieldDef, RelationDef } from '@zentto/report-core';
3
+ export interface DbTableInfo {
4
+ schema: string;
5
+ name: string;
6
+ type: 'table' | 'view';
7
+ }
8
+ export interface DataPanelProvider {
9
+ /** Lazy-load tables for a connection */
10
+ getTables?(connectionId: string): Promise<DbTableInfo[]>;
11
+ /** Lazy-load columns for a table */
12
+ getColumns?(connectionId: string, schema: string, table: string): Promise<FieldDef[]>;
13
+ /** Preview data (first N rows) */
14
+ previewData?(connectionId: string, schema: string, table: string, limit?: number): Promise<Record<string, unknown>[]>;
15
+ }
16
+ export declare class DataSourceTree extends LitElement {
17
+ dataSources: DataSourceDef[];
18
+ relations: RelationDef[];
19
+ dataProvider: DataPanelProvider | null;
20
+ private _tree;
21
+ private _expandedIds;
22
+ private _searchQuery;
23
+ private _contextMenu;
24
+ static styles: import("lit").CSSResult;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ updated(changed: PropertyValues): void;
28
+ private _buildTree;
29
+ private _matchesSearch;
30
+ private _toggleNode;
31
+ private _onFieldDragStart;
32
+ private _onFieldDoubleClick;
33
+ private _onContextMenu;
34
+ private _closeContextMenu;
35
+ private _contextAction;
36
+ private _getRelationsForDs;
37
+ private _renderNode;
38
+ private _renderContextMenu;
39
+ render(): import("lit-html").TemplateResult<1>;
40
+ }
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'zrd-data-source-tree': DataSourceTree;
44
+ }
45
+ }
46
+ //# sourceMappingURL=data-source-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source-tree.d.ts","sourceRoot":"","sources":["../../src/data-panel/data-source-tree.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIhF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,oCAAoC;IACpC,UAAU,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtF,kCAAkC;IAClC,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CACvH;AA6CD,qBACa,cAAe,SAAQ,UAAU;IACjB,WAAW,EAAE,aAAa,EAAE,CAAM;IAClC,SAAS,EAAE,WAAW,EAAE,CAAM;IACzB,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAErE,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAyD;IAEtF,OAAgB,MAAM,0BA0LpB;IAIO,iBAAiB;IAKjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,cAAc;IAQxC,OAAO,CAAC,UAAU;IA8ElB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,kBAAkB;IAwBjB,MAAM;CAqBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,cAAc,CAAC;KACxC;CACF"}
@@ -0,0 +1,498 @@
1
+ // @zentto/report-designer — Data Source Tree Panel
2
+ // Professional tree view: Connection → Schema → Table → Fields
3
+ // Works standalone (static DataSourceDef[]) and with lazy-loading (DataPanelProvider)
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ import { LitElement, html, css, nothing } from 'lit';
11
+ import { customElement, property, state } from 'lit/decorators.js';
12
+ // ─── Field Type Styling ───────────────────────────────────────────
13
+ const FIELD_TYPE_COLORS = {
14
+ string: '#4caf50',
15
+ number: '#1976d2',
16
+ currency: '#ff9800',
17
+ date: '#e91e63',
18
+ boolean: '#9c27b0',
19
+ image: '#00bcd4',
20
+ };
21
+ const FIELD_TYPE_ICONS = {
22
+ string: 'Aa',
23
+ number: '#',
24
+ currency: '$',
25
+ date: '\u{1D4AB}', // script D
26
+ boolean: '?',
27
+ image: '\u{25A3}', // square with fill
28
+ };
29
+ // ─── Component ────────────────────────────────────────────────────
30
+ let DataSourceTree = class DataSourceTree extends LitElement {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.dataSources = [];
34
+ this.relations = [];
35
+ this.dataProvider = null;
36
+ this._tree = [];
37
+ this._expandedIds = new Set();
38
+ this._searchQuery = '';
39
+ this._contextMenu = null;
40
+ this._closeContextMenu = () => {
41
+ this._contextMenu = null;
42
+ };
43
+ }
44
+ static { this.styles = css `
45
+ :host {
46
+ display: block;
47
+ font-family: 'Segoe UI', Roboto, Arial, sans-serif;
48
+ font-size: 12px;
49
+ color: var(--zrd-text, #333);
50
+ height: 100%;
51
+ overflow: hidden;
52
+ user-select: none;
53
+ }
54
+
55
+ .tree-container {
56
+ display: flex;
57
+ flex-direction: column;
58
+ height: 100%;
59
+ }
60
+
61
+ /* ─── Search ──────────────────────────────── */
62
+ .search-box {
63
+ padding: 6px 8px;
64
+ border-bottom: 1px solid var(--zrd-border, #e0e0e0);
65
+ flex-shrink: 0;
66
+ }
67
+ .search-input {
68
+ width: 100%;
69
+ padding: 5px 8px;
70
+ border: 1px solid var(--zrd-border, #ddd);
71
+ border-radius: 4px;
72
+ font-size: 11px;
73
+ outline: none;
74
+ background: var(--zrd-input-bg, #fff);
75
+ color: var(--zrd-text, #333);
76
+ box-sizing: border-box;
77
+ }
78
+ .search-input:focus {
79
+ border-color: var(--zrd-primary, #1976d2);
80
+ }
81
+ .search-input::placeholder {
82
+ color: var(--zrd-text-muted, #999);
83
+ }
84
+
85
+ /* ─── Tree List ───────────────────────────── */
86
+ .tree-list {
87
+ flex: 1;
88
+ overflow-y: auto;
89
+ overflow-x: hidden;
90
+ padding: 4px 0;
91
+ }
92
+
93
+ .tree-node {
94
+ display: flex;
95
+ align-items: center;
96
+ padding: 3px 8px;
97
+ cursor: pointer;
98
+ white-space: nowrap;
99
+ min-height: 24px;
100
+ }
101
+ .tree-node:hover {
102
+ background: var(--zrd-hover, rgba(25, 118, 210, 0.06));
103
+ }
104
+
105
+ .node-chevron {
106
+ width: 16px;
107
+ height: 16px;
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ font-size: 10px;
112
+ color: var(--zrd-text-muted, #999);
113
+ flex-shrink: 0;
114
+ transition: transform 0.15s ease;
115
+ }
116
+ .node-chevron.expanded {
117
+ transform: rotate(90deg);
118
+ }
119
+ .node-chevron.leaf {
120
+ visibility: hidden;
121
+ }
122
+
123
+ .node-icon {
124
+ width: 18px;
125
+ height: 18px;
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ margin-right: 4px;
130
+ font-size: 11px;
131
+ flex-shrink: 0;
132
+ border-radius: 3px;
133
+ }
134
+ .node-icon.connection { background: #e3f2fd; color: #1565c0; }
135
+ .node-icon.schema { background: #fff3e0; color: #e65100; }
136
+ .node-icon.table { background: #e8f5e9; color: #2e7d32; }
137
+ .node-icon.view { background: #f3e5f5; color: #7b1fa2; }
138
+ .node-icon.field { font-weight: 700; font-size: 10px; }
139
+
140
+ .node-label {
141
+ flex: 1;
142
+ overflow: hidden;
143
+ text-overflow: ellipsis;
144
+ font-size: 11.5px;
145
+ }
146
+
147
+ .node-badge {
148
+ font-size: 9px;
149
+ padding: 1px 5px;
150
+ border-radius: 3px;
151
+ margin-left: 4px;
152
+ color: #fff;
153
+ flex-shrink: 0;
154
+ }
155
+
156
+ .pk-icon {
157
+ font-size: 10px;
158
+ margin-right: 2px;
159
+ color: #ff9800;
160
+ }
161
+
162
+ .nullable-icon {
163
+ font-size: 9px;
164
+ color: var(--zrd-text-muted, #aaa);
165
+ margin-left: 2px;
166
+ }
167
+
168
+ /* ─── Drag ────────────────────────────────── */
169
+ .field-draggable {
170
+ cursor: grab;
171
+ }
172
+ .field-draggable:active {
173
+ cursor: grabbing;
174
+ }
175
+
176
+ /* ─── Context Menu ────────────────────────── */
177
+ .context-menu {
178
+ position: fixed;
179
+ background: var(--zrd-panel-bg, #fff);
180
+ border: 1px solid var(--zrd-border, #ddd);
181
+ border-radius: 6px;
182
+ box-shadow: 0 4px 16px rgba(0,0,0,0.15);
183
+ padding: 4px 0;
184
+ min-width: 160px;
185
+ z-index: 10000;
186
+ }
187
+ .context-menu-item {
188
+ padding: 6px 14px;
189
+ cursor: pointer;
190
+ font-size: 11.5px;
191
+ display: flex;
192
+ align-items: center;
193
+ gap: 8px;
194
+ }
195
+ .context-menu-item:hover {
196
+ background: var(--zrd-hover, rgba(25, 118, 210, 0.08));
197
+ }
198
+ .context-menu-divider {
199
+ height: 1px;
200
+ background: var(--zrd-border, #e0e0e0);
201
+ margin: 4px 0;
202
+ }
203
+
204
+ /* ─── Empty State ─────────────────────────── */
205
+ .empty-state {
206
+ padding: 16px 12px;
207
+ text-align: center;
208
+ color: var(--zrd-text-muted, #999);
209
+ font-size: 11.5px;
210
+ line-height: 1.5;
211
+ }
212
+
213
+ .loading-indicator {
214
+ display: inline-block;
215
+ width: 12px;
216
+ height: 12px;
217
+ border: 2px solid var(--zrd-border, #ddd);
218
+ border-top-color: var(--zrd-primary, #1976d2);
219
+ border-radius: 50%;
220
+ animation: spin 0.6s linear infinite;
221
+ }
222
+ @keyframes spin { to { transform: rotate(360deg); } }
223
+
224
+ /* ─── Relations Badge ─────────────────────── */
225
+ .relation-indicator {
226
+ font-size: 9px;
227
+ color: var(--zrd-primary, #1976d2);
228
+ margin-left: 4px;
229
+ }
230
+ `; }
231
+ // ─── Lifecycle ────────────────────────────────────────────────
232
+ connectedCallback() {
233
+ super.connectedCallback();
234
+ document.addEventListener('click', this._closeContextMenu);
235
+ }
236
+ disconnectedCallback() {
237
+ super.disconnectedCallback();
238
+ document.removeEventListener('click', this._closeContextMenu);
239
+ }
240
+ updated(changed) {
241
+ if (changed.has('dataSources') || changed.has('relations')) {
242
+ this._buildTree();
243
+ }
244
+ }
245
+ // ─── Tree Building ────────────────────────────────────────────
246
+ _buildTree() {
247
+ const tree = [];
248
+ // Group data sources by connectionId (or 'local' for static)
249
+ const byConnection = new Map();
250
+ for (const ds of this.dataSources) {
251
+ const connId = ds.connectionId || 'local';
252
+ if (!byConnection.has(connId))
253
+ byConnection.set(connId, []);
254
+ byConnection.get(connId).push(ds);
255
+ }
256
+ for (const [connId, sources] of byConnection) {
257
+ // Group by schema
258
+ const bySchema = new Map();
259
+ for (const ds of sources) {
260
+ const schema = ds.schema || 'default';
261
+ if (!bySchema.has(schema))
262
+ bySchema.set(schema, []);
263
+ bySchema.get(schema).push(ds);
264
+ }
265
+ const schemaNodes = [];
266
+ for (const [schemaName, schemaSources] of bySchema) {
267
+ const tableNodes = schemaSources.map(ds => {
268
+ const isView = ds.table?.toLowerCase().startsWith('v_') || ds.table?.toLowerCase().startsWith('vw_');
269
+ const fieldNodes = (ds.fields || []).map(f => ({
270
+ id: `${ds.id}::${f.name}`,
271
+ label: f.label || f.name,
272
+ icon: FIELD_TYPE_ICONS[f.type] || 'F',
273
+ type: 'field',
274
+ fieldDef: f,
275
+ dataSourceId: ds.id,
276
+ }));
277
+ return {
278
+ id: `table::${ds.id}`,
279
+ label: ds.table || ds.name,
280
+ icon: isView ? '\u{1F441}' : '\u{1F4CB}',
281
+ type: (isView ? 'view' : 'table'),
282
+ children: fieldNodes,
283
+ dataSourceId: ds.id,
284
+ schemaName: ds.schema,
285
+ tableName: ds.table || ds.name,
286
+ connectionId: ds.connectionId,
287
+ };
288
+ });
289
+ if (bySchema.size > 1 || schemaName !== 'default') {
290
+ schemaNodes.push({
291
+ id: `schema::${connId}::${schemaName}`,
292
+ label: schemaName,
293
+ icon: '\u{1F4C1}',
294
+ type: 'schema',
295
+ children: tableNodes,
296
+ });
297
+ }
298
+ else {
299
+ schemaNodes.push(...tableNodes);
300
+ }
301
+ }
302
+ if (byConnection.size > 1) {
303
+ tree.push({
304
+ id: `conn::${connId}`,
305
+ label: connId === 'local' ? 'Local Data' : connId,
306
+ icon: '\u{1F5C4}',
307
+ type: 'connection',
308
+ children: schemaNodes,
309
+ connectionId: connId,
310
+ });
311
+ }
312
+ else {
313
+ tree.push(...schemaNodes);
314
+ }
315
+ }
316
+ this._tree = tree;
317
+ }
318
+ // ─── Filtering ────────────────────────────────────────────────
319
+ _matchesSearch(node, query) {
320
+ if (!query)
321
+ return true;
322
+ const q = query.toLowerCase();
323
+ if (node.label.toLowerCase().includes(q))
324
+ return true;
325
+ if (node.children) {
326
+ return node.children.some(c => this._matchesSearch(c, q));
327
+ }
328
+ return false;
329
+ }
330
+ // ─── Event Handlers ───────────────────────────────────────────
331
+ _toggleNode(nodeId) {
332
+ const expanded = new Set(this._expandedIds);
333
+ if (expanded.has(nodeId)) {
334
+ expanded.delete(nodeId);
335
+ }
336
+ else {
337
+ expanded.add(nodeId);
338
+ }
339
+ this._expandedIds = expanded;
340
+ }
341
+ _onFieldDragStart(e, node) {
342
+ if (!node.fieldDef || !node.dataSourceId)
343
+ return;
344
+ e.dataTransfer?.setData('element-type', 'field');
345
+ e.dataTransfer?.setData('field-ds', node.dataSourceId);
346
+ e.dataTransfer?.setData('field-name', node.fieldDef.name);
347
+ e.dataTransfer.effectAllowed = 'copy';
348
+ this.dispatchEvent(new CustomEvent('field-drag-start', {
349
+ detail: { dataSourceId: node.dataSourceId, field: node.fieldDef },
350
+ bubbles: true, composed: true,
351
+ }));
352
+ }
353
+ _onFieldDoubleClick(node) {
354
+ if (!node.fieldDef || !node.dataSourceId)
355
+ return;
356
+ this.dispatchEvent(new CustomEvent('field-double-click', {
357
+ detail: { dataSourceId: node.dataSourceId, field: node.fieldDef },
358
+ bubbles: true, composed: true,
359
+ }));
360
+ }
361
+ _onContextMenu(e, node) {
362
+ e.preventDefault();
363
+ e.stopPropagation();
364
+ this._contextMenu = { x: e.clientX, y: e.clientY, node };
365
+ }
366
+ _contextAction(action) {
367
+ const node = this._contextMenu?.node;
368
+ if (!node)
369
+ return;
370
+ this._contextMenu = null;
371
+ this.dispatchEvent(new CustomEvent('tree-action', {
372
+ detail: { action, node },
373
+ bubbles: true, composed: true,
374
+ }));
375
+ }
376
+ // ─── Relation Helpers ─────────────────────────────────────────
377
+ _getRelationsForDs(dsId) {
378
+ return (this.relations || []).filter(r => r.parentSource === dsId || r.childSource === dsId);
379
+ }
380
+ // ─── Rendering ────────────────────────────────────────────────
381
+ _renderNode(node, depth = 0) {
382
+ if (this._searchQuery && !this._matchesSearch(node, this._searchQuery)) {
383
+ return nothing;
384
+ }
385
+ const isExpanded = this._expandedIds.has(node.id) ||
386
+ (this._searchQuery && this._matchesSearch(node, this._searchQuery));
387
+ const hasChildren = node.children && node.children.length > 0;
388
+ const isField = node.type === 'field';
389
+ const paddingLeft = 8 + depth * 14;
390
+ const relations = node.dataSourceId ? this._getRelationsForDs(node.dataSourceId) : [];
391
+ return html `
392
+ <div
393
+ class="tree-node ${isField ? 'field-draggable' : ''}"
394
+ style="padding-left:${paddingLeft}px"
395
+ draggable=${isField ? 'true' : 'false'}
396
+ @dragstart=${isField ? (e) => this._onFieldDragStart(e, node) : nothing}
397
+ @dblclick=${isField ? () => this._onFieldDoubleClick(node) : nothing}
398
+ @click=${hasChildren ? () => this._toggleNode(node.id) : nothing}
399
+ @contextmenu=${(node.type === 'table' || node.type === 'view')
400
+ ? (e) => this._onContextMenu(e, node)
401
+ : nothing}
402
+ >
403
+ <span class="node-chevron ${isExpanded ? 'expanded' : ''} ${!hasChildren ? 'leaf' : ''}">
404
+ \u25B6
405
+ </span>
406
+ <span class="node-icon ${node.type}"
407
+ style="${isField && node.fieldDef ? `color:${FIELD_TYPE_COLORS[node.fieldDef.type] || '#666'}` : ''}">
408
+ ${node.icon}
409
+ </span>
410
+ ${isField && node.fieldDef?.isPrimaryKey ? html `<span class="pk-icon">\u{1F511}</span>` : nothing}
411
+ <span class="node-label">${node.label}</span>
412
+ ${isField && node.fieldDef ? html `
413
+ <span class="node-badge" style="background:${FIELD_TYPE_COLORS[node.fieldDef.type] || '#999'}">
414
+ ${node.fieldDef.nativeType || node.fieldDef.type}
415
+ </span>
416
+ ${node.fieldDef.nullable ? html `<span class="nullable-icon">?</span>` : nothing}
417
+ ` : nothing}
418
+ ${(node.type === 'table' || node.type === 'view') && relations.length > 0
419
+ ? html `<span class="relation-indicator">\u{1F517}${relations.length}</span>`
420
+ : nothing}
421
+ ${node.loading ? html `<span class="loading-indicator"></span>` : nothing}
422
+ </div>
423
+ ${isExpanded && hasChildren
424
+ ? node.children.map(child => this._renderNode(child, depth + 1))
425
+ : nothing}
426
+ `;
427
+ }
428
+ _renderContextMenu() {
429
+ if (!this._contextMenu)
430
+ return nothing;
431
+ const { x, y, node } = this._contextMenu;
432
+ return html `
433
+ <div class="context-menu" style="left:${x}px;top:${y}px"
434
+ @click=${(e) => e.stopPropagation()}>
435
+ <div class="context-menu-item" @click=${() => this._contextAction('preview-data')}>
436
+ \u{1F50D} Preview Data
437
+ </div>
438
+ <div class="context-menu-item" @click=${() => this._contextAction('add-all-fields')}>
439
+ \u2795 Add All Fields to Detail
440
+ </div>
441
+ <div class="context-menu-divider"></div>
442
+ <div class="context-menu-item" @click=${() => this._contextAction('create-relation')}>
443
+ \u{1F517} Create Relation...
444
+ </div>
445
+ <div class="context-menu-item" @click=${() => this._contextAction('show-in-er')}>
446
+ \u{1F4CA} Show in ER Diagram
447
+ </div>
448
+ </div>
449
+ `;
450
+ }
451
+ render() {
452
+ return html `
453
+ <div class="tree-container">
454
+ <div class="search-box">
455
+ <input
456
+ class="search-input"
457
+ type="text"
458
+ placeholder="Search fields..."
459
+ .value=${this._searchQuery}
460
+ @input=${(e) => { this._searchQuery = e.target.value; }}
461
+ />
462
+ </div>
463
+ <div class="tree-list">
464
+ ${this._tree.length === 0
465
+ ? html `<div class="empty-state">No data sources configured.<br/>Connect a database or add data sources to get started.</div>`
466
+ : this._tree.map(node => this._renderNode(node))}
467
+ </div>
468
+ </div>
469
+ ${this._renderContextMenu()}
470
+ `;
471
+ }
472
+ };
473
+ __decorate([
474
+ property({ type: Array })
475
+ ], DataSourceTree.prototype, "dataSources", void 0);
476
+ __decorate([
477
+ property({ type: Array })
478
+ ], DataSourceTree.prototype, "relations", void 0);
479
+ __decorate([
480
+ property({ attribute: false })
481
+ ], DataSourceTree.prototype, "dataProvider", void 0);
482
+ __decorate([
483
+ state()
484
+ ], DataSourceTree.prototype, "_tree", void 0);
485
+ __decorate([
486
+ state()
487
+ ], DataSourceTree.prototype, "_expandedIds", void 0);
488
+ __decorate([
489
+ state()
490
+ ], DataSourceTree.prototype, "_searchQuery", void 0);
491
+ __decorate([
492
+ state()
493
+ ], DataSourceTree.prototype, "_contextMenu", void 0);
494
+ DataSourceTree = __decorate([
495
+ customElement('zrd-data-source-tree')
496
+ ], DataSourceTree);
497
+ export { DataSourceTree };
498
+ //# sourceMappingURL=data-source-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source-tree.js","sourceRoot":"","sources":["../../src/data-panel/data-source-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { LitElement, type PropertyValues } from 'lit';
2
+ import type { DataSourceDef, RelationDef } from '@zentto/report-core';
3
+ export declare class ErDiagram extends LitElement {
4
+ dataSources: DataSourceDef[];
5
+ relations: RelationDef[];
6
+ private _tables;
7
+ private _dragging;
8
+ private _hoveredRelation;
9
+ private _svgWidth;
10
+ private _svgHeight;
11
+ static styles: import("lit").CSSResult;
12
+ updated(changed: PropertyValues): void;
13
+ private _layoutTables;
14
+ private _updateSvgSize;
15
+ private _onMouseDown;
16
+ private _onRelationClick;
17
+ private _onTableDoubleClick;
18
+ private _getConnectionPoints;
19
+ private _renderTableBox;
20
+ private _renderRelationLine;
21
+ private _renderArrowDefs;
22
+ render(): import("lit-html").TemplateResult<1>;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'zrd-er-diagram': ErDiagram;
27
+ }
28
+ }
29
+ //# sourceMappingURL=er-diagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"er-diagram.d.ts","sourceRoot":"","sources":["../../src/data-panel/er-diagram.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAA2B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AA4B1F,qBACa,SAAU,SAAQ,UAAU;IACZ,WAAW,EAAE,aAAa,EAAE,CAAM;IAClC,SAAS,EAAE,WAAW,EAAE,CAAM;IAEhD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAmE;IACpF,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,UAAU,CAAO;IAElC,OAAgB,MAAM,0BA+GpB;IAIO,OAAO,CAAC,OAAO,EAAE,cAAc;IAQxC,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,eAAe;IA6DvB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,gBAAgB;IAiBf,MAAM;CAoBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,SAAS,CAAC;KAC7B;CACF"}