@data_wise/hyper-markdown 1.2.0 → 1.2.2
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 +6 -6
- package/dist/hyper-markdown.css +1 -1
- package/dist/hyper-markdown.es.js +82 -38
- package/dist/hyper-markdown.umd.js +12 -10
- package/package.json +1 -1
|
@@ -59583,34 +59583,36 @@ class zZe extends nD {
|
|
|
59583
59583
|
return;
|
|
59584
59584
|
}
|
|
59585
59585
|
const r = Array.from(e).map(async (n, i) => {
|
|
59586
|
-
if (
|
|
59587
|
-
|
|
59588
|
-
|
|
59589
|
-
|
|
59590
|
-
|
|
59591
|
-
|
|
59592
|
-
|
|
59593
|
-
|
|
59594
|
-
|
|
59586
|
+
if (n.dataset.rendered)
|
|
59587
|
+
return;
|
|
59588
|
+
const a = n.dataset.originalCode || n.textContent || n.dataset.dataset || "", s = n.dataset.datasetId || `dataset-${i}`;
|
|
59589
|
+
try {
|
|
59590
|
+
const o = n.dataset.dataset || "", l = n.dataset.isDatasource === "true" || n.dataset.isDatasource === !0;
|
|
59591
|
+
if (!o.trim())
|
|
59592
|
+
throw new Error("数据集内容为空");
|
|
59593
|
+
let u;
|
|
59594
|
+
if (l)
|
|
59595
|
+
u = await this.parseDataSourceQuery(o);
|
|
59596
|
+
else
|
|
59597
|
+
try {
|
|
59598
|
+
u = new Function(`return (${o})`)();
|
|
59599
|
+
} catch {
|
|
59595
59600
|
try {
|
|
59596
|
-
|
|
59601
|
+
u = JSON.parse(o);
|
|
59597
59602
|
} catch {
|
|
59598
|
-
|
|
59599
|
-
o = JSON.parse(a);
|
|
59600
|
-
} catch {
|
|
59601
|
-
throw new Error("无法解析数据集配置");
|
|
59602
|
-
}
|
|
59603
|
+
throw new Error("无法解析数据集配置");
|
|
59603
59604
|
}
|
|
59604
|
-
|
|
59605
|
-
|
|
59606
|
-
|
|
59607
|
-
|
|
59608
|
-
|
|
59609
|
-
|
|
59610
|
-
|
|
59611
|
-
|
|
59612
|
-
|
|
59613
|
-
}
|
|
59605
|
+
}
|
|
59606
|
+
this.renderDataset(n, u, s), n.dataset.rendered = "true";
|
|
59607
|
+
} catch (o) {
|
|
59608
|
+
console.error("Error rendering dataset:", o), console.error("Dataset ID:", s), console.error("Dataset content that caused error:", a), n.innerHTML = `<div class="dataset-error">数据集渲染错误: ${o.message}</div>`, this.addError({
|
|
59609
|
+
type: "Dataset",
|
|
59610
|
+
message: o.message,
|
|
59611
|
+
code: a,
|
|
59612
|
+
datasetId: s,
|
|
59613
|
+
timestamp: Date.now()
|
|
59614
|
+
});
|
|
59615
|
+
}
|
|
59614
59616
|
});
|
|
59615
59617
|
await Promise.all(r), this.triggerRenderComplete();
|
|
59616
59618
|
}
|
|
@@ -59760,7 +59762,24 @@ class zZe extends nD {
|
|
|
59760
59762
|
* 获取数据集字段
|
|
59761
59763
|
*/
|
|
59762
59764
|
getDatasetFields(e) {
|
|
59763
|
-
|
|
59765
|
+
if (e.dimensions && Array.isArray(e.dimensions))
|
|
59766
|
+
return e.dimensions;
|
|
59767
|
+
if (Array.isArray(e.source) && e.source.length > 0) {
|
|
59768
|
+
const r = e.source[0];
|
|
59769
|
+
if (Array.isArray(r))
|
|
59770
|
+
return r;
|
|
59771
|
+
if (typeof r == "object" && r !== null)
|
|
59772
|
+
return Object.keys(r);
|
|
59773
|
+
throw console.error("getDatasetFields: dataset.source[0] 格式错误", { firstRow: r, dataset: e }), new Error(`数据集第一行格式错误,期望数组或对象,实际类型: ${typeof r}`);
|
|
59774
|
+
} else if (Array.isArray(e) && e.length > 0) {
|
|
59775
|
+
const r = e[0];
|
|
59776
|
+
if (Array.isArray(r))
|
|
59777
|
+
return r;
|
|
59778
|
+
if (typeof r == "object" && r !== null)
|
|
59779
|
+
return Object.keys(r);
|
|
59780
|
+
throw console.error("getDatasetFields: dataset[0] 格式错误", { firstRow: r, dataset: e }), new Error(`数据集第一行格式错误,期望数组或对象,实际类型: ${typeof r}`);
|
|
59781
|
+
}
|
|
59782
|
+
throw console.error("getDatasetFields: 无法提取字段", { dataset: e }), new Error("数据集格式错误: 无法提取字段信息,请检查数据集结构");
|
|
59764
59783
|
}
|
|
59765
59784
|
/**
|
|
59766
59785
|
* 获取数据数量
|
|
@@ -59773,6 +59792,8 @@ class zZe extends nD {
|
|
|
59773
59792
|
*/
|
|
59774
59793
|
getPreviewRows(e, r, n = 5) {
|
|
59775
59794
|
const i = [];
|
|
59795
|
+
if (!Array.isArray(r))
|
|
59796
|
+
throw console.error("getPreviewRows: fields 不是数组", { fields: r, dataset: e }), new Error(`字段列表必须是数组,当前类型: ${typeof r}`);
|
|
59776
59797
|
if (e.dimensions && Array.isArray(e.source))
|
|
59777
59798
|
for (let a = 0; a < Math.min(n, e.source.length); a++) {
|
|
59778
59799
|
const s = e.source[a], o = r.map((l) => `<td>${s[l] || ""}</td>`).join("");
|
|
@@ -59780,12 +59801,18 @@ class zZe extends nD {
|
|
|
59780
59801
|
}
|
|
59781
59802
|
else if (Array.isArray(e.source))
|
|
59782
59803
|
for (let a = 1; a < Math.min(n + 1, e.source.length); a++) {
|
|
59783
|
-
const
|
|
59804
|
+
const s = e.source[a];
|
|
59805
|
+
if (!Array.isArray(s))
|
|
59806
|
+
throw console.error("getPreviewRows: 行数据不是数组", { row: s, index: a, dataset: e }), new Error(`第 ${a} 行数据必须是数组,当前类型: ${typeof s}`);
|
|
59807
|
+
const o = s.map((l) => `<td>${l}</td>`).join("");
|
|
59784
59808
|
i.push(`<tr>${o}</tr>`);
|
|
59785
59809
|
}
|
|
59786
59810
|
else if (Array.isArray(e))
|
|
59787
59811
|
for (let a = 1; a < Math.min(n + 1, e.length); a++) {
|
|
59788
|
-
const
|
|
59812
|
+
const s = e[a];
|
|
59813
|
+
if (!Array.isArray(s))
|
|
59814
|
+
throw console.error("getPreviewRows: 行数据不是数组", { row: s, index: a, dataset: e }), new Error(`第 ${a} 行数据必须是数组,当前类型: ${typeof s}`);
|
|
59815
|
+
const o = s.map((l) => `<td>${l}</td>`).join("");
|
|
59789
59816
|
i.push(`<tr>${o}</tr>`);
|
|
59790
59817
|
}
|
|
59791
59818
|
return i;
|
|
@@ -59883,9 +59910,19 @@ class zZe extends nD {
|
|
|
59883
59910
|
* 获取预览行数据(支持分页)
|
|
59884
59911
|
*/
|
|
59885
59912
|
getPreviewRows(e, r, n = 10, i = 0) {
|
|
59886
|
-
const a = []
|
|
59913
|
+
const a = [];
|
|
59914
|
+
if (!Array.isArray(r))
|
|
59915
|
+
throw console.error("getPreviewRows (分页): fields 不是数组", { fields: r, dataset: e }), new Error(`字段列表必须是数组,当前类型: ${typeof r}`);
|
|
59916
|
+
if (!e.source || !Array.isArray(e.source))
|
|
59917
|
+
throw console.error("getPreviewRows (分页): dataset.source 不存在或不是数组", { dataset: e }), new Error("数据集source必须是数组");
|
|
59918
|
+
const s = Math.min(i + n, e.source.length);
|
|
59887
59919
|
for (let o = i; o < s; o++) {
|
|
59888
|
-
const l = e.source[o]
|
|
59920
|
+
const l = e.source[o];
|
|
59921
|
+
if (!l) {
|
|
59922
|
+
console.warn(`getPreviewRows (分页): 第 ${o} 行数据为空`);
|
|
59923
|
+
continue;
|
|
59924
|
+
}
|
|
59925
|
+
const u = r.map((h) => {
|
|
59889
59926
|
let d = "";
|
|
59890
59927
|
if (Array.isArray(l)) {
|
|
59891
59928
|
const f = r.indexOf(h);
|
|
@@ -60113,12 +60150,15 @@ function UZe(t) {
|
|
|
60113
60150
|
const f = u.includes("datasourceId:");
|
|
60114
60151
|
let p = l;
|
|
60115
60152
|
if (f) {
|
|
60116
|
-
const
|
|
60117
|
-
|
|
60153
|
+
const y = u.match(/datasourceId:\s*(\S+)/);
|
|
60154
|
+
y && y[1] && (p = `datasetId: ${d ? d[1] : h} datasourceId: ${y[1]}
|
|
60118
60155
|
${l}`);
|
|
60119
60156
|
}
|
|
60157
|
+
const g = p.replace(/'/g, "'").replace(/"/g, """), v = `\`\`\`${u}
|
|
60158
|
+
${l}
|
|
60159
|
+
\`\`\``.replace(/'/g, "'").replace(/"/g, """);
|
|
60120
60160
|
return `
|
|
60121
|
-
<div class="dataset-container" data-dataset="${
|
|
60161
|
+
<div class="dataset-container" data-dataset="${g}" data-dataset-id="${h}" data-is-datasource="${f}" data-original-code="${v}">${l}</div>
|
|
60122
60162
|
`;
|
|
60123
60163
|
} catch (h) {
|
|
60124
60164
|
return `<pre class="error">Invalid dataset configuration: ${h.message}</pre>`;
|
|
@@ -104154,7 +104194,7 @@ function Qvt(t) {
|
|
|
104154
104194
|
`;
|
|
104155
104195
|
}
|
|
104156
104196
|
}
|
|
104157
|
-
}), ["info", "warning", "danger"].forEach((e) => {
|
|
104197
|
+
}), ["info", "warning", "danger", "success"].forEach((e) => {
|
|
104158
104198
|
t.use(Dte, e, {
|
|
104159
104199
|
validate: function(r) {
|
|
104160
104200
|
return r.trim().match(new RegExp(`^${e}$`));
|
|
@@ -141058,6 +141098,8 @@ const Y7t = /* @__PURE__ */ l6e(L7t, [["render", q7t], ["__scopeId", "data-v-3f2
|
|
|
141058
141098
|
"--md-container-warning-border": "#ff9800",
|
|
141059
141099
|
"--md-container-danger-bg": "#ffebee",
|
|
141060
141100
|
"--md-container-danger-border": "#f44336",
|
|
141101
|
+
"--md-container-success-bg": "#e8f5e9",
|
|
141102
|
+
"--md-container-success-border": "#4caf50",
|
|
141061
141103
|
// 错误提示
|
|
141062
141104
|
"--md-error-bg": "#ffebee",
|
|
141063
141105
|
"--md-error-border": "#f44336",
|
|
@@ -141136,6 +141178,8 @@ const Y7t = /* @__PURE__ */ l6e(L7t, [["render", q7t], ["__scopeId", "data-v-3f2
|
|
|
141136
141178
|
"--md-container-warning-border": "#d29922",
|
|
141137
141179
|
"--md-container-danger-bg": "rgba(248, 81, 73, 0.25)",
|
|
141138
141180
|
"--md-container-danger-border": "#f85149",
|
|
141181
|
+
"--md-container-success-bg": "rgba(46, 160, 67, 0.25)",
|
|
141182
|
+
"--md-container-success-border": "#3fb950",
|
|
141139
141183
|
// 错误提示
|
|
141140
141184
|
"--md-error-bg": "rgba(248, 81, 73, 0.15)",
|
|
141141
141185
|
"--md-error-border": "#da3633",
|
|
@@ -141404,12 +141448,12 @@ const Y7t = /* @__PURE__ */ l6e(L7t, [["render", q7t], ["__scopeId", "data-v-3f2
|
|
|
141404
141448
|
findErrorLocation(t, e, r = null, n = null) {
|
|
141405
141449
|
let i = -1, a = r || "Unknown", s = t;
|
|
141406
141450
|
r || (t.includes("ECharts") ? a = "ECharts" : t.includes("数据集") || t.includes("dataset") ? a = "Dataset" : t.includes("Mermaid") && (a = "Mermaid"));
|
|
141407
|
-
let o =
|
|
141451
|
+
let o = -1;
|
|
141408
141452
|
for (let l = 0; l < e.length; l++) {
|
|
141409
141453
|
const u = e[l];
|
|
141410
|
-
|
|
141454
|
+
a === "ECharts" && u.includes("```echarts") || (a === "Dataset" && u.includes("```dataset") ? n && n.includes(u.trim()) && (o = l + 1) : a === "Mermaid" && u.includes("```mermaid") || a === "Container" && u.includes("::: cell"));
|
|
141411
141455
|
}
|
|
141412
|
-
if (o
|
|
141456
|
+
if (o > 0 && (i = o), i > 0) {
|
|
141413
141457
|
const l = Math.max(0, i - 1);
|
|
141414
141458
|
let u = l + 1;
|
|
141415
141459
|
if (a === "Container") {
|
|
@@ -141551,7 +141595,7 @@ function K7t(t, e, r, n, i, a) {
|
|
|
141551
141595
|
}, null, 8, ["visible", "content", "component-type", "onSave", "onClose"])
|
|
141552
141596
|
], 12, X7t);
|
|
141553
141597
|
}
|
|
141554
|
-
const $fr = /* @__PURE__ */ l6e(H7t, [["render", K7t], ["__scopeId", "data-v-
|
|
141598
|
+
const $fr = /* @__PURE__ */ l6e(H7t, [["render", K7t], ["__scopeId", "data-v-4bdabdba"]]);
|
|
141555
141599
|
class Wo {
|
|
141556
141600
|
// The + prefix indicates that these fields aren't writeable
|
|
141557
141601
|
// Lexer holding the input string.
|