@phoenix-wing/kt-codegen 0.4.2 → 0.5.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.
Files changed (47) hide show
  1. package/README.md +26 -3
  2. package/dist/KtCodegenApply.d.ts +9 -0
  3. package/dist/KtCodegenApply.d.ts.map +1 -1
  4. package/dist/KtCodegenApply.js +29 -2
  5. package/dist/KtCodegenApply.js.map +1 -1
  6. package/dist/KtCodegenMarker.d.ts +8 -3
  7. package/dist/KtCodegenMarker.d.ts.map +1 -1
  8. package/dist/KtCodegenMarker.js +80 -56
  9. package/dist/KtCodegenMarker.js.map +1 -1
  10. package/dist/model/diagnostic.d.ts +18 -0
  11. package/dist/model/diagnostic.d.ts.map +1 -1
  12. package/dist/model/diagnostic.js.map +1 -1
  13. package/dist/table/KtCodegenTable.d.ts +24 -6
  14. package/dist/table/KtCodegenTable.d.ts.map +1 -1
  15. package/dist/table/KtCodegenTable.js +141 -203
  16. package/dist/table/KtCodegenTable.js.map +1 -1
  17. package/dist/table/KtCodegenTableStyle.d.ts +20 -0
  18. package/dist/table/KtCodegenTableStyle.d.ts.map +1 -0
  19. package/dist/table/KtCodegenTableStyle.js +207 -0
  20. package/dist/table/KtCodegenTableStyle.js.map +1 -0
  21. package/dist/table/KtCodegenTableViewModel.d.ts +45 -0
  22. package/dist/table/KtCodegenTableViewModel.d.ts.map +1 -0
  23. package/dist/table/KtCodegenTableViewModel.js +99 -0
  24. package/dist/table/KtCodegenTableViewModel.js.map +1 -0
  25. package/dist/ui/KtCodegenControlPanel.d.ts +35 -0
  26. package/dist/ui/KtCodegenControlPanel.d.ts.map +1 -0
  27. package/dist/ui/KtCodegenControlPanel.js +338 -0
  28. package/dist/ui/KtCodegenControlPanel.js.map +1 -0
  29. package/dist/ui/KtCodegenControlViewModel.d.ts +20 -0
  30. package/dist/ui/KtCodegenControlViewModel.d.ts.map +1 -0
  31. package/dist/ui/KtCodegenControlViewModel.js +57 -0
  32. package/dist/ui/KtCodegenControlViewModel.js.map +1 -0
  33. package/dist/ui/KtCodegenPrimaryPanel.d.ts +40 -0
  34. package/dist/ui/KtCodegenPrimaryPanel.d.ts.map +1 -0
  35. package/dist/ui/KtCodegenPrimaryPanel.js +384 -0
  36. package/dist/ui/KtCodegenPrimaryPanel.js.map +1 -0
  37. package/dist/ui/KtCodegenUiContracts.d.ts +123 -0
  38. package/dist/ui/KtCodegenUiContracts.d.ts.map +1 -0
  39. package/dist/ui/KtCodegenUiContracts.js +3 -0
  40. package/dist/ui/KtCodegenUiContracts.js.map +1 -0
  41. package/dist/ui/index.d.ts +5 -0
  42. package/dist/ui/index.d.ts.map +1 -0
  43. package/dist/ui/index.js +6 -0
  44. package/dist/ui/index.js.map +1 -0
  45. package/doc/KtCodegenTable/345/270/203/345/261/200/344/270/216/346/212/230/345/217/240/345/245/221/347/272/246.md +106 -0
  46. package/doc//350/207/252/345/212/250/344/273/243/347/240/201/346/240/207/350/256/260/346/211/253/346/217/217.md +8 -9
  47. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KtCodegenTable.d.ts","sourceRoot":"","sources":["../../src/table/KtCodegenTable.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,4BAA4B;AAC5B,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,qBAAqB;AACrB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAED,6BAA6B;AAC7B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qCAAqC;AACrC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAqKzE;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,OAAO,CAA6D;IAC5E,OAAO,CAAC,OAAO,CAIb;;IAQF,iBAAiB,IAAI,IAAI;IAIzB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAepE,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMvC,OAAO,IAAI,kBAAkB;IAI7B,cAAc,CAAC,gBAAgB,SAA6B,GAAG,IAAI;IAOnE,kBAAkB,IAAI,IAAI;IAO1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO3B,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAO9D,OAAO,CAAC,KAAK;IAoDb,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,UAAU;IAoElB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,WAAW;IAYnB,uDAAuD;IACvD,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,UAAU;CAanB;AAED,4CAA4C;AAC5C,wBAAgB,2BAA2B,CACzC,OAAO,SAA4B,GAClC,OAAO,cAAc,CAKvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
1
+ {"version":3,"file":"KtCodegenTable.d.ts","sourceRoot":"","sources":["../../src/table/KtCodegenTable.ts"],"names":[],"mappings":"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"}
@@ -3,158 +3,13 @@ import { KtCodegenOptions } from "../KtCodegenOptions.js";
3
3
  import { KtCodegenParam } from "../KtCodegenParam.js";
4
4
  import { KT_CODEGEN_TABLE_COLUMNS, } from "../KtCodegenTableColumns.js";
5
5
  import { KtCodegenTableCore } from "../KtCodegenTableCore.js";
6
+ import { KT_CODEGEN_TABLE_ACTIONS, ktCodegenFitTableColumnWidths, ktCodegenNormalizeTableLayout, ktCodegenTableColumnWidth, ktCodegenTableCountLabel, ktCodegenTableDisabledActions, ktCodegenTableDisclosure, ktCodegenTableSelectOptions, } from "./KtCodegenTableViewModel.js";
7
+ import { KT_CODEGEN_TABLE_CLASSES, KT_CODEGEN_TABLE_STYLE, } from "./KtCodegenTableStyle.js";
6
8
  /** 默认 Web Component 标签名。 */
7
9
  export const KT_CODEGEN_TABLE_TAG_NAME = "kt-codegen-table";
8
- const KT_CODEGEN_TABLE_STYLE = `
9
- :host {
10
- --pnw-kt-codegen-border: var(--vscode-panel-border, color-mix(in srgb, currentColor 18%, transparent));
11
- --pnw-kt-codegen-background: var(--vscode-editor-background, #fff);
12
- --pnw-kt-codegen-toolbar-background: var(--vscode-sideBar-background, #f6f6f6);
13
- --pnw-kt-codegen-input-background: var(--vscode-input-background, #fff);
14
- --pnw-kt-codegen-input-foreground: var(--vscode-input-foreground, inherit);
15
- --pnw-kt-codegen-selection: var(--vscode-list-activeSelectionBackground, #dbeafe);
16
- --pnw-kt-codegen-selection-foreground: var(--vscode-list-activeSelectionForeground, var(--vscode-foreground, inherit));
17
- --pnw-kt-codegen-hover: var(--vscode-list-hoverBackground, rgba(127, 127, 127, .12));
18
- --pnw-kt-codegen-focus: var(--vscode-focusBorder, #007acc);
19
- display: flex;
20
- min-height: 240px;
21
- height: 100%;
22
- flex-direction: column;
23
- overflow: hidden;
24
- color: var(--vscode-foreground, inherit);
25
- background: var(--pnw-kt-codegen-background);
26
- border: 1px solid var(--pnw-kt-codegen-border);
27
- border-radius: 6px;
28
- font: var(--vscode-font-size, 13px)/1.4 var(--vscode-font-family, system-ui, sans-serif);
29
- color-scheme: light dark;
30
- }
31
- * { box-sizing: border-box; }
32
- .toolbar {
33
- display: flex;
34
- flex: 0 0 auto;
35
- align-items: center;
36
- gap: 6px;
37
- min-height: 38px;
38
- padding: 5px 8px;
39
- background: var(--pnw-kt-codegen-toolbar-background);
40
- border-bottom: 1px solid var(--pnw-kt-codegen-border);
41
- overflow-x: auto;
42
- scrollbar-width: thin;
43
- }
44
- .caption { flex: 0 0 auto; margin-right: auto; font-weight: 650; }
45
- button {
46
- flex: 0 0 auto;
47
- min-height: 26px;
48
- padding: 2px 8px;
49
- color: inherit;
50
- background: var(--vscode-button-secondaryBackground, transparent);
51
- border: 1px solid var(--pnw-kt-codegen-border);
52
- border-radius: 4px;
53
- font: inherit;
54
- cursor: pointer;
55
- }
56
- button:hover:not(:disabled) { background: var(--pnw-kt-codegen-hover); }
57
- button:focus-visible, input:focus-visible, select:focus-visible {
58
- outline: 1px solid var(--pnw-kt-codegen-focus);
59
- outline-offset: -1px;
60
- }
61
- button:disabled { opacity: .42; cursor: default; }
62
- .shell { position: relative; flex: 1 1 auto; min-height: 0; overflow: auto; }
63
- table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
64
- th, td {
65
- height: 34px;
66
- padding: 0;
67
- overflow: hidden;
68
- border-right: 1px solid var(--pnw-kt-codegen-border);
69
- border-bottom: 1px solid var(--pnw-kt-codegen-border);
70
- background: var(--pnw-kt-codegen-background);
71
- }
72
- th {
73
- position: sticky;
74
- z-index: 2;
75
- top: 0;
76
- padding: 0 8px;
77
- text-align: left;
78
- white-space: nowrap;
79
- color: var(--vscode-descriptionForeground, inherit);
80
- background: var(--pnw-kt-codegen-toolbar-background);
81
- font-weight: 650;
82
- }
83
- tr:hover td { background: var(--pnw-kt-codegen-hover); }
84
- tr.selected td {
85
- color: var(--pnw-kt-codegen-selection-foreground);
86
- background: var(--pnw-kt-codegen-selection);
87
- }
88
- tr.selected td > input:not([type="checkbox"]),
89
- tr.selected td > select { color: inherit; }
90
- .row-number {
91
- position: sticky;
92
- z-index: 1;
93
- left: 0;
94
- width: 48px;
95
- min-width: 48px;
96
- max-width: 48px;
97
- text-align: center;
98
- color: var(--vscode-descriptionForeground, inherit);
99
- background: var(--pnw-kt-codegen-toolbar-background);
100
- }
101
- th.row-number { z-index: 3; }
102
- .row-number button {
103
- width: 100%;
104
- height: 100%;
105
- padding: 0;
106
- border: 0;
107
- border-radius: 0;
108
- background: transparent;
109
- }
110
- td > input:not([type="checkbox"]), td > select {
111
- width: 100%;
112
- height: 100%;
113
- min-width: 0;
114
- padding: 0 8px;
115
- color: var(--pnw-kt-codegen-input-foreground);
116
- background: transparent;
117
- border: 0;
118
- border-radius: 0;
119
- font: inherit;
120
- }
121
- td.boolean { text-align: center; }
122
- td.boolean input { width: 16px; height: 16px; accent-color: var(--vscode-button-background, #007acc); }
123
- option.unknown { color: var(--vscode-editorWarning-foreground, #b89500); }
124
- .empty {
125
- position: absolute;
126
- inset: 42px 16px auto;
127
- padding: 24px;
128
- text-align: center;
129
- color: var(--vscode-descriptionForeground, #666);
130
- border: 1px dashed var(--pnw-kt-codegen-border);
131
- border-radius: 6px;
132
- }
133
- .statusbar {
134
- display: flex;
135
- flex: 0 0 auto;
136
- justify-content: space-between;
137
- gap: 12px;
138
- min-height: 28px;
139
- padding: 5px 9px;
140
- color: var(--vscode-descriptionForeground, inherit);
141
- background: var(--pnw-kt-codegen-toolbar-background);
142
- border-top: 1px solid var(--pnw-kt-codegen-border);
143
- }
144
- .status.error { color: var(--vscode-errorForeground, #c72e0f); }
145
- .status.dirty { color: var(--vscode-editorWarning-foreground, #b89500); }
146
- `;
147
- const KT_CODEGEN_TABLE_ACTIONS = [
148
- ["autoFit", "自适应", "根据当前内容调整列宽"],
149
- ["sort", "排序", "按旧 Qt 规则规范 Suffix 和 ID"],
150
- ["copy", "复制", "复制当前行"],
151
- ["paste", "粘贴", "用复制内容替换当前行"],
152
- ["insert", "+ 插入", "在当前行后插入"],
153
- ["duplicate", "⧉ 副本", "在当前行后创建副本"],
154
- ["moveUp", "↑", "上移"],
155
- ["moveDown", "↓", "下移"],
156
- ["delete", "− 删除", "删除当前行"],
157
- ];
10
+ const KT_CODEGEN_TABLE_TOGGLE_ID = "pnw-kt-codegen-table-toggle";
11
+ const KT_CODEGEN_TABLE_SHELL_ID = "pnw-kt-codegen-table-shell";
12
+ const KT_CODEGEN_TABLE_STATUSBAR_ID = "pnw-kt-codegen-table-statusbar";
158
13
  /**
159
14
  * 独立的 Codegen 17列表格 Web Component。
160
15
  *
@@ -162,6 +17,9 @@ const KT_CODEGEN_TABLE_ACTIONS = [
162
17
  * 交换整表,只在 clean/dirty 状态跃迁时接收 kt-codegen-table-dirty-change。
163
18
  */
164
19
  export class KtCodegenTable extends HTMLElement {
20
+ static get observedAttributes() {
21
+ return ["layout", "collapsible", "collapsed"];
22
+ }
165
23
  param = new KtCodegenParam();
166
24
  core = new KtCodegenTableCore(this.param);
167
25
  root;
@@ -180,6 +38,37 @@ export class KtCodegenTable extends HTMLElement {
180
38
  connectedCallback() {
181
39
  this.render();
182
40
  }
41
+ attributeChangedCallback(name, _oldValue, newValue) {
42
+ if (name === "layout" && newValue !== null) {
43
+ const normalized = ktCodegenNormalizeTableLayout(newValue);
44
+ if (newValue !== normalized) {
45
+ this.setAttribute("layout", normalized);
46
+ return;
47
+ }
48
+ }
49
+ this.syncDisclosure();
50
+ }
51
+ /** contained 为组件内双向滚动;page 为页面自然高度和表格横向滚动。 */
52
+ get layout() {
53
+ return ktCodegenNormalizeTableLayout(this.getAttribute("layout"));
54
+ }
55
+ set layout(value) {
56
+ this.setAttribute("layout", ktCodegenNormalizeTableLayout(value));
57
+ }
58
+ /** 是否允许用户通过 Header button 展开/收起。 */
59
+ get collapsible() {
60
+ return this.hasAttribute("collapsible");
61
+ }
62
+ set collapsible(value) {
63
+ this.toggleAttribute("collapsible", Boolean(value));
64
+ }
65
+ /** 宿主可静默控制的折叠偏好;只有 collapsible 同时存在时才隐藏内容。 */
66
+ get collapsed() {
67
+ return this.hasAttribute("collapsed");
68
+ }
69
+ set collapsed(value) {
70
+ this.toggleAttribute("collapsed", Boolean(value));
71
+ }
183
72
  configure(configuration) {
184
73
  if (configuration.columns) {
185
74
  this.columns = configuration.columns.map((column) => ({ ...column }));
@@ -225,17 +114,35 @@ export class KtCodegenTable extends HTMLElement {
225
114
  if (!element)
226
115
  return;
227
116
  element.textContent = message;
228
- element.className = "status" + (status === "error" ? " error" : "");
117
+ element.className = status === "error"
118
+ ? `${KT_CODEGEN_TABLE_CLASSES.status} ${KT_CODEGEN_TABLE_CLASSES.error}`
119
+ : KT_CODEGEN_TABLE_CLASSES.status;
229
120
  }
230
121
  build() {
231
122
  const style = document.createElement("style");
232
123
  style.textContent = KT_CODEGEN_TABLE_STYLE;
233
124
  const toolbar = document.createElement("header");
234
- toolbar.className = "toolbar";
125
+ toolbar.className = KT_CODEGEN_TABLE_CLASSES.toolbar;
126
+ const plainCaption = document.createElement("span");
127
+ plainCaption.className = KT_CODEGEN_TABLE_CLASSES.caption;
128
+ plainCaption.dataset.role = "plain-caption";
129
+ plainCaption.textContent = "参数表";
130
+ const toggle = document.createElement("button");
131
+ toggle.type = "button";
132
+ toggle.id = KT_CODEGEN_TABLE_TOGGLE_ID;
133
+ toggle.className = KT_CODEGEN_TABLE_CLASSES.collapseToggle;
134
+ toggle.dataset.role = "collapse-toggle";
135
+ toggle.setAttribute("aria-controls", `${KT_CODEGEN_TABLE_SHELL_ID} ${KT_CODEGEN_TABLE_STATUSBAR_ID}`);
136
+ toggle.addEventListener("click", () => this.handleCollapseToggle());
137
+ const indicator = document.createElement("span");
138
+ indicator.className = KT_CODEGEN_TABLE_CLASSES.collapseIndicator;
139
+ indicator.dataset.role = "collapse-indicator";
140
+ indicator.setAttribute("aria-hidden", "true");
235
141
  const caption = document.createElement("span");
236
- caption.className = "caption";
142
+ caption.className = KT_CODEGEN_TABLE_CLASSES.caption;
237
143
  caption.textContent = "参数表";
238
- toolbar.append(caption);
144
+ toggle.append(indicator, caption);
145
+ toolbar.append(plainCaption, toggle);
239
146
  for (const [action, label, title] of KT_CODEGEN_TABLE_ACTIONS) {
240
147
  const button = document.createElement("button");
241
148
  button.type = "button";
@@ -247,7 +154,10 @@ export class KtCodegenTable extends HTMLElement {
247
154
  toolbar.append(button);
248
155
  }
249
156
  const shell = document.createElement("main");
250
- shell.className = "shell";
157
+ shell.id = KT_CODEGEN_TABLE_SHELL_ID;
158
+ shell.className = KT_CODEGEN_TABLE_CLASSES.shell;
159
+ shell.dataset.role = "table-shell";
160
+ shell.setAttribute("aria-label", "参数表内容");
251
161
  const table = document.createElement("table");
252
162
  table.setAttribute("aria-label", "Codegen 参数表");
253
163
  const head = document.createElement("thead");
@@ -256,23 +166,26 @@ export class KtCodegenTable extends HTMLElement {
256
166
  body.dataset.role = "body";
257
167
  table.append(head, body);
258
168
  const empty = document.createElement("div");
259
- empty.className = "empty";
169
+ empty.className = KT_CODEGEN_TABLE_CLASSES.empty;
260
170
  empty.dataset.role = "empty";
261
171
  empty.setAttribute("role", "note");
262
172
  empty.textContent = "当前 JSON 没有参数行。点击“插入”创建第一行。";
263
173
  shell.append(table, empty);
264
174
  const footer = document.createElement("footer");
265
- footer.className = "statusbar";
175
+ footer.id = KT_CODEGEN_TABLE_STATUSBAR_ID;
176
+ footer.className = KT_CODEGEN_TABLE_CLASSES.statusbar;
177
+ footer.dataset.role = "statusbar";
266
178
  const count = document.createElement("span");
267
179
  count.dataset.role = "count";
268
180
  const status = document.createElement("span");
269
- status.className = "status";
181
+ status.className = KT_CODEGEN_TABLE_CLASSES.status;
270
182
  status.dataset.role = "status";
271
183
  status.setAttribute("role", "status");
272
184
  status.setAttribute("aria-live", "polite");
273
185
  status.setAttribute("aria-atomic", "true");
274
186
  footer.append(count, status);
275
187
  this.root.replaceChildren(style, toolbar, shell, footer);
188
+ this.syncDisclosure();
276
189
  }
277
190
  render() {
278
191
  if (!this.isConnected)
@@ -281,6 +194,7 @@ export class KtCodegenTable extends HTMLElement {
281
194
  this.renderRows();
282
195
  this.syncActions();
283
196
  this.syncDirtyStatus();
197
+ this.syncDisclosure();
284
198
  }
285
199
  renderHead() {
286
200
  const head = this.root.querySelector("[data-role=head]");
@@ -288,7 +202,7 @@ export class KtCodegenTable extends HTMLElement {
288
202
  return;
289
203
  const row = document.createElement("tr");
290
204
  const number = document.createElement("th");
291
- number.className = "row-number";
205
+ number.className = KT_CODEGEN_TABLE_CLASSES.rowNumber;
292
206
  number.textContent = "#";
293
207
  number.scope = "col";
294
208
  row.append(number);
@@ -319,10 +233,10 @@ export class KtCodegenTable extends HTMLElement {
319
233
  row.dataset.row = String(rowIndex);
320
234
  const selected = rowIndex === this.core.selectedRow;
321
235
  if (selected)
322
- row.className = "selected";
236
+ row.className = KT_CODEGEN_TABLE_CLASSES.selectedRow;
323
237
  row.setAttribute("aria-selected", String(selected));
324
238
  const number = document.createElement("td");
325
- number.className = "row-number";
239
+ number.className = KT_CODEGEN_TABLE_CLASSES.rowNumber;
326
240
  const selectButton = document.createElement("button");
327
241
  selectButton.type = "button";
328
242
  selectButton.textContent = String(rowIndex + 1);
@@ -337,7 +251,7 @@ export class KtCodegenTable extends HTMLElement {
337
251
  });
338
252
  body.replaceChildren(fragment);
339
253
  empty.hidden = this.param.items.length > 0;
340
- count.textContent = this.param.items.length + " 行 · " + this.columns.length + " 列";
254
+ count.textContent = ktCodegenTableCountLabel(this.param.items.length, this.columns.length);
341
255
  }
342
256
  createCell(row, column) {
343
257
  const item = this.param.items[row];
@@ -346,7 +260,7 @@ export class KtCodegenTable extends HTMLElement {
346
260
  cell.style.width = width + "px";
347
261
  cell.style.minWidth = width + "px";
348
262
  if (column.kind === "boolean") {
349
- cell.className = "boolean";
263
+ cell.className = KT_CODEGEN_TABLE_CLASSES.booleanCell;
350
264
  const input = document.createElement("input");
351
265
  input.type = "checkbox";
352
266
  input.checked = Boolean(item[column.field]);
@@ -356,29 +270,18 @@ export class KtCodegenTable extends HTMLElement {
356
270
  cell.append(input);
357
271
  return cell;
358
272
  }
359
- const candidates = column.kind === "tcKind"
360
- ? this.options.tcKind
361
- : column.kind === "catAttrInOut"
362
- ? this.options.catAttrInOut
363
- : column.kind === "component"
364
- ? this.options.component
365
- : undefined;
366
- if (candidates) {
273
+ const current = String(item[column.field] ?? "");
274
+ const selectOptions = ktCodegenTableSelectOptions(column, current, this.options);
275
+ if (selectOptions) {
367
276
  const select = document.createElement("select");
368
277
  select.setAttribute("aria-label", column.title + ",第 " + (row + 1) + " 行");
369
- const current = String(item[column.field] ?? "");
370
- if (current && !candidates.includes(current)) {
371
- const unknown = document.createElement("option");
372
- unknown.value = current;
373
- unknown.textContent = current + "(未知,保持原值)";
374
- unknown.className = "unknown";
375
- select.append(unknown);
376
- }
377
- for (const candidate of candidates) {
278
+ for (const descriptor of selectOptions) {
378
279
  const option = document.createElement("option");
379
- option.value = candidate;
380
- option.textContent = candidate || "(空)";
381
- option.disabled = /^-.*-$/.test(candidate);
280
+ option.value = descriptor.value;
281
+ option.textContent = descriptor.label;
282
+ option.disabled = descriptor.disabled;
283
+ if (descriptor.unknown)
284
+ option.className = KT_CODEGEN_TABLE_CLASSES.unknownOption;
382
285
  select.append(option);
383
286
  }
384
287
  select.value = current;
@@ -459,40 +362,73 @@ export class KtCodegenTable extends HTMLElement {
459
362
  this.syncActions();
460
363
  this.emitDirtyTransition(wasDirty);
461
364
  }
365
+ handleCollapseToggle() {
366
+ if (!this.collapsible)
367
+ return;
368
+ this.collapsed = !this.collapsed;
369
+ this.dispatchEvent(new CustomEvent("kt-codegen-table-collapse-change", {
370
+ bubbles: true,
371
+ composed: true,
372
+ detail: { collapsed: this.collapsed },
373
+ }));
374
+ }
375
+ syncDisclosure() {
376
+ const plainCaption = this.root.querySelector("[data-role=plain-caption]");
377
+ const toggle = this.root.querySelector("[data-role=collapse-toggle]");
378
+ const indicator = this.root.querySelector("[data-role=collapse-indicator]");
379
+ const shell = this.root.querySelector("[data-role=table-shell]")
380
+ ?? this.root.querySelector(`.${KT_CODEGEN_TABLE_CLASSES.shell}`);
381
+ const statusbar = this.root.querySelector("[data-role=statusbar]")
382
+ ?? this.root.querySelector(`.${KT_CODEGEN_TABLE_CLASSES.statusbar}`);
383
+ if (!plainCaption || !toggle || !indicator || !shell || !statusbar)
384
+ return;
385
+ const disclosure = ktCodegenTableDisclosure({
386
+ collapsible: this.collapsible,
387
+ collapsed: this.collapsed,
388
+ });
389
+ const active = this.root.activeElement;
390
+ plainCaption.hidden = !disclosure.disabled;
391
+ toggle.hidden = disclosure.disabled;
392
+ toggle.disabled = disclosure.disabled;
393
+ toggle.title = disclosure.label;
394
+ toggle.setAttribute("aria-label", disclosure.label);
395
+ toggle.setAttribute("aria-expanded", String(disclosure.expanded));
396
+ indicator.textContent = disclosure.indicator;
397
+ shell.hidden = disclosure.hidden;
398
+ statusbar.hidden = disclosure.hidden;
399
+ if (disclosure.hidden && active && (shell.contains(active) || statusbar.contains(active))) {
400
+ toggle.focus();
401
+ }
402
+ }
462
403
  syncSelection() {
463
404
  for (const row of this.root.querySelectorAll("tbody tr")) {
464
405
  const selected = Number(row.dataset.row) === this.core.selectedRow;
465
- row.classList.toggle("selected", selected);
406
+ row.classList.toggle(KT_CODEGEN_TABLE_CLASSES.selectedRow, selected);
466
407
  row.setAttribute("aria-selected", String(selected));
467
- row.querySelector(".row-number button")
408
+ row.querySelector(`.${KT_CODEGEN_TABLE_CLASSES.rowNumber} button`)
468
409
  ?.setAttribute("aria-pressed", String(selected));
469
410
  }
470
411
  this.syncActions();
471
412
  }
472
413
  syncActions() {
473
- const row = this.core.selectedRow;
474
- const hasSelection = row !== null && row >= 0 && row < this.param.items.length;
475
- this.disableAction("sort", this.param.items.length === 0);
476
- this.disableAction("copy", !hasSelection);
477
- this.disableAction("paste", !hasSelection || !this.core.hasClipboard);
478
- this.disableAction("duplicate", !hasSelection);
479
- this.disableAction("delete", !hasSelection);
480
- this.disableAction("moveUp", !hasSelection || row === 0);
481
- this.disableAction("moveDown", !hasSelection || row === this.param.items.length - 1);
414
+ const disabled = ktCodegenTableDisabledActions({
415
+ itemCount: this.param.items.length,
416
+ selectedRow: this.core.selectedRow,
417
+ hasClipboard: this.core.hasClipboard,
418
+ });
419
+ for (const [action] of KT_CODEGEN_TABLE_ACTIONS) {
420
+ this.disableAction(action, disabled.has(action));
421
+ }
482
422
  }
483
423
  /** 轻量复现 Qt resizeColumnsToContents;只改变组件布局,不修改表格数据。 */
484
424
  fitColumnsToContents() {
485
- for (const column of this.columns) {
486
- const longest = this.param.items.reduce((length, item) => {
487
- const value = column.kind === "boolean" ? "true" : String(item[column.field] ?? "");
488
- return Math.max(length, [...value].length);
489
- }, [...column.title].length);
490
- const checkboxWidth = column.kind === "boolean" ? 72 : 0;
491
- this.fittedWidths.set(column.field, Math.max(checkboxWidth, Math.min(360, Math.max(72, longest * 8 + 28))));
425
+ this.fittedWidths.clear();
426
+ for (const [field, width] of ktCodegenFitTableColumnWidths(this.columns, this.param.items)) {
427
+ this.fittedWidths.set(field, width);
492
428
  }
493
429
  }
494
430
  columnWidth(column) {
495
- return this.fittedWidths.get(column.field) ?? column.width;
431
+ return ktCodegenTableColumnWidth(column, this.fittedWidths);
496
432
  }
497
433
  disableAction(action, disabled) {
498
434
  const button = this.root.querySelector("button[data-action='" + action + "']");
@@ -504,7 +440,9 @@ export class KtCodegenTable extends HTMLElement {
504
440
  if (!status)
505
441
  return;
506
442
  status.textContent = this.core.dirty ? "有未保存的表格修改" : "";
507
- status.className = "status" + (this.core.dirty ? " dirty" : "");
443
+ status.className = this.core.dirty
444
+ ? `${KT_CODEGEN_TABLE_CLASSES.status} ${KT_CODEGEN_TABLE_CLASSES.dirty}`
445
+ : KT_CODEGEN_TABLE_CLASSES.status;
508
446
  }
509
447
  emitDirtyTransition(wasDirty) {
510
448
  if (wasDirty === this.core.dirty)
@@ -1 +1 @@
1
- {"version":3,"file":"KtCodegenTable.js","sourceRoot":"","sources":["../../src/table/KtCodegenTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KtCodegenTable.js","sourceRoot":"","sources":["../../src/table/KtCodegenTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /** KtCodegenTable Shadow DOM 内部类名;同时驱动样式与 DOM,避免两处字符串漂移。 */
2
+ export declare const KT_CODEGEN_TABLE_CLASSES: Readonly<{
3
+ readonly toolbar: "pnw-kt-codegen-table-toolbar";
4
+ readonly collapseToggle: "pnw-kt-codegen-table-collapse-toggle";
5
+ readonly collapseIndicator: "pnw-kt-codegen-table-collapse-indicator";
6
+ readonly caption: "pnw-kt-codegen-table-caption";
7
+ readonly shell: "pnw-kt-codegen-table-shell";
8
+ readonly selectedRow: "pnw-kt-codegen-table-selected-row";
9
+ readonly rowNumber: "pnw-kt-codegen-table-row-number";
10
+ readonly booleanCell: "pnw-kt-codegen-table-boolean-cell";
11
+ readonly unknownOption: "pnw-kt-codegen-table-unknown-option";
12
+ readonly empty: "pnw-kt-codegen-table-empty";
13
+ readonly statusbar: "pnw-kt-codegen-table-statusbar";
14
+ readonly status: "pnw-kt-codegen-table-status";
15
+ readonly error: "pnw-kt-codegen-table-error";
16
+ readonly dirty: "pnw-kt-codegen-table-dirty";
17
+ }>;
18
+ /** KtCodegenTable 的宿主无关视觉原语;宿主可通过 pnw 变量或 VS Code token 换肤。 */
19
+ export declare const KT_CODEGEN_TABLE_STYLE: string;
20
+ //# sourceMappingURL=KtCodegenTableStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KtCodegenTableStyle.d.ts","sourceRoot":"","sources":["../../src/table/KtCodegenTableStyle.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAe1B,CAAC;AAEZ,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,QA0LlC,CAAC"}