fdb2 1.0.35 → 1.0.37
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 +20 -1
- package/dist/public/explorer.css +1338 -1122
- package/dist/public/explorer.js +990 -665
- package/dist/public/index.css +797 -120
- package/dist/public/index.js +282 -26
- package/dist/public/layout.css +201 -202
- package/dist/public/layout.js +14 -14
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.ts +0 -1
- package/dist/server/service/database/clickhouse-connection.d.ts.map +1 -1
- package/dist/server/service/database/clickhouse-connection.js +3 -3
- package/dist/server/service/database/clickhouse-connection.js.map +1 -1
- package/dist/server/service/database/clickhouse-connection.ts +3 -3
- package/dist/server/service/database/mssql.service.d.ts.map +1 -1
- package/dist/server/service/database/mssql.service.js +14 -45
- package/dist/server/service/database/mssql.service.js.map +1 -1
- package/dist/server/service/database/mssql.service.ts +21 -49
- package/dist/server/service/database/mysql.service.d.ts.map +1 -1
- package/dist/server/service/database/mysql.service.js +34 -52
- package/dist/server/service/database/mysql.service.js.map +1 -1
- package/dist/server/service/database/mysql.service.ts +50 -55
- package/dist/server/service/database/oracle.service.d.ts.map +1 -1
- package/dist/server/service/database/oracle.service.js +16 -53
- package/dist/server/service/database/oracle.service.js.map +1 -1
- package/dist/server/service/database/oracle.service.ts +23 -56
- package/dist/server/service/database/postgres.service.d.ts.map +1 -1
- package/dist/server/service/database/postgres.service.js +15 -53
- package/dist/server/service/database/postgres.service.js.map +1 -1
- package/dist/server/service/database/postgres.service.ts +22 -57
- package/dist/server/service/database/sql-type.helper.d.ts +28 -0
- package/dist/server/service/database/sql-type.helper.d.ts.map +1 -0
- package/dist/server/service/database/sql-type.helper.js +151 -0
- package/dist/server/service/database/sql-type.helper.js.map +1 -0
- package/dist/server/service/database/sql-type.helper.ts +157 -0
- package/dist/server/service/database/sqlite.service.d.ts.map +1 -1
- package/dist/server/service/database/sqlite.service.js +58 -67
- package/dist/server/service/database/sqlite.service.js.map +1 -1
- package/dist/server/service/database/sqlite.service.ts +72 -72
- package/package.json +6 -2
- package/public/fdb2.png +0 -0
package/dist/public/index.js
CHANGED
|
@@ -4502,12 +4502,255 @@ var init_detect = __esmMin((() => {
|
|
|
4502
4502
|
}
|
|
4503
4503
|
}));
|
|
4504
4504
|
//#endregion
|
|
4505
|
+
//#region src/platform/vscode/bridge.ts
|
|
4506
|
+
/**
|
|
4507
|
+
* 获取 VSCode 桥接实例
|
|
4508
|
+
*/
|
|
4509
|
+
function getVSCodeBridge() {
|
|
4510
|
+
if (!bridgeInstance) bridgeInstance = new VSCodeBridge();
|
|
4511
|
+
return bridgeInstance;
|
|
4512
|
+
}
|
|
4513
|
+
var VSCodeBridge, bridgeInstance;
|
|
4514
|
+
var init_bridge = __esmMin((() => {
|
|
4515
|
+
VSCodeBridge = class {
|
|
4516
|
+
vscode = null;
|
|
4517
|
+
constructor() {
|
|
4518
|
+
if (typeof window !== "undefined" && typeof acquireVsCodeApi === "function") this.vscode = acquireVsCodeApi();
|
|
4519
|
+
}
|
|
4520
|
+
/**
|
|
4521
|
+
* 判断是否在 VSCode 环境中
|
|
4522
|
+
*/
|
|
4523
|
+
isVSCodeEnvironment() {
|
|
4524
|
+
return this.vscode !== null;
|
|
4525
|
+
}
|
|
4526
|
+
/**
|
|
4527
|
+
* 发送消息到 VSCode 扩展
|
|
4528
|
+
*/
|
|
4529
|
+
postMessage(message) {
|
|
4530
|
+
if (!this.vscode) {
|
|
4531
|
+
console.warn("Not in VSCode environment");
|
|
4532
|
+
return;
|
|
4533
|
+
}
|
|
4534
|
+
this.vscode.postMessage(message);
|
|
4535
|
+
}
|
|
4536
|
+
/**
|
|
4537
|
+
* 监听来自 VSCode 扩展的消息
|
|
4538
|
+
*/
|
|
4539
|
+
onMessage(callback) {
|
|
4540
|
+
window.addEventListener("message", (event) => {
|
|
4541
|
+
if (event.origin) return;
|
|
4542
|
+
callback(event.data);
|
|
4543
|
+
});
|
|
4544
|
+
}
|
|
4545
|
+
/**
|
|
4546
|
+
* 获取状态
|
|
4547
|
+
*/
|
|
4548
|
+
getState() {
|
|
4549
|
+
if (!this.vscode) return {};
|
|
4550
|
+
return this.vscode.getState();
|
|
4551
|
+
}
|
|
4552
|
+
/**
|
|
4553
|
+
* 保存状态
|
|
4554
|
+
*/
|
|
4555
|
+
setState(state) {
|
|
4556
|
+
if (!this.vscode) return;
|
|
4557
|
+
this.vscode.setState(state);
|
|
4558
|
+
}
|
|
4559
|
+
/**
|
|
4560
|
+
* 初始化桥接
|
|
4561
|
+
*/
|
|
4562
|
+
init(messageHandler) {
|
|
4563
|
+
if (this.isVSCodeEnvironment()) {
|
|
4564
|
+
if (messageHandler) this.onMessage(messageHandler);
|
|
4565
|
+
const savedState = this.getState();
|
|
4566
|
+
if (savedState) this.postMessage({
|
|
4567
|
+
command: "restoreState",
|
|
4568
|
+
data: savedState
|
|
4569
|
+
});
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
};
|
|
4573
|
+
bridgeInstance = null;
|
|
4574
|
+
}));
|
|
4575
|
+
//#endregion
|
|
4576
|
+
//#region src/platform/vscode/rpc.ts
|
|
4577
|
+
/**
|
|
4578
|
+
* 是否运行在 VSCode webview 构建中。
|
|
4579
|
+
* 注意:不能用 base/detect 的 isVSCode——桌面端若从 VSCode 终端启动会带上 VSCODE_PID 而误判。
|
|
4580
|
+
*/
|
|
4581
|
+
function isVscodeWebview() {
|
|
4582
|
+
return typeof __VS_CODE_ENV__ !== "undefined" && !!__VS_CODE_ENV__;
|
|
4583
|
+
}
|
|
4584
|
+
function installListener() {
|
|
4585
|
+
if (installed || typeof window === "undefined") return;
|
|
4586
|
+
installed = true;
|
|
4587
|
+
window.addEventListener("message", (event) => {
|
|
4588
|
+
const m = event.data;
|
|
4589
|
+
if (!m || m.command !== "apiResponse" || typeof m.id !== "number") return;
|
|
4590
|
+
const p = pending.get(m.id);
|
|
4591
|
+
if (!p) return;
|
|
4592
|
+
pending.delete(m.id);
|
|
4593
|
+
p.resolve(m.body);
|
|
4594
|
+
});
|
|
4595
|
+
}
|
|
4596
|
+
/**
|
|
4597
|
+
* 发送 API 请求到扩展宿主,resolve 为 { ret, msg, data } 包装体(与桌面端 HTTP 响应体一致)。
|
|
4598
|
+
*/
|
|
4599
|
+
function vscodeApiRequest(path, data) {
|
|
4600
|
+
installListener();
|
|
4601
|
+
const id = ++seq;
|
|
4602
|
+
return new Promise((resolve, reject) => {
|
|
4603
|
+
pending.set(id, {
|
|
4604
|
+
resolve,
|
|
4605
|
+
reject: (e) => {
|
|
4606
|
+
resolve(void 0);
|
|
4607
|
+
}
|
|
4608
|
+
});
|
|
4609
|
+
const plain = data != null ? JSON.parse(JSON.stringify(data)) : {};
|
|
4610
|
+
getVSCodeBridge().postMessage({
|
|
4611
|
+
command: "apiRequest",
|
|
4612
|
+
id,
|
|
4613
|
+
path,
|
|
4614
|
+
data: plain
|
|
4615
|
+
});
|
|
4616
|
+
setTimeout(() => {
|
|
4617
|
+
if (pending.has(id)) {
|
|
4618
|
+
pending.delete(id);
|
|
4619
|
+
resolve({
|
|
4620
|
+
ret: 504,
|
|
4621
|
+
msg: "请求超时: " + path
|
|
4622
|
+
});
|
|
4623
|
+
}
|
|
4624
|
+
}, 6e4);
|
|
4625
|
+
});
|
|
4626
|
+
}
|
|
4627
|
+
function installSaveFileListener() {
|
|
4628
|
+
if (saveFileInstalled || typeof window === "undefined") return;
|
|
4629
|
+
saveFileInstalled = true;
|
|
4630
|
+
window.addEventListener("message", (event) => {
|
|
4631
|
+
const m = event.data;
|
|
4632
|
+
if (!m || m.command !== "saveFileResult" || typeof m.id !== "number") return;
|
|
4633
|
+
const p = saveFilePending.get(m.id);
|
|
4634
|
+
if (!p) return;
|
|
4635
|
+
saveFilePending.delete(m.id);
|
|
4636
|
+
p.resolve(m.data?.path ?? null);
|
|
4637
|
+
});
|
|
4638
|
+
}
|
|
4639
|
+
/** 弹出保存对话框并由宿主写文件,返回最终路径;用户取消或失败返回 null。 */
|
|
4640
|
+
function vscodeSaveFile(opts) {
|
|
4641
|
+
installSaveFileListener();
|
|
4642
|
+
const bridge = getVSCodeBridge();
|
|
4643
|
+
if (!bridge.isVSCodeEnvironment()) return Promise.resolve(null);
|
|
4644
|
+
const id = ++saveFileSeq;
|
|
4645
|
+
return new Promise((resolve) => {
|
|
4646
|
+
saveFilePending.set(id, { resolve });
|
|
4647
|
+
bridge.postMessage({
|
|
4648
|
+
command: "saveFile",
|
|
4649
|
+
id,
|
|
4650
|
+
data: opts
|
|
4651
|
+
});
|
|
4652
|
+
setTimeout(() => {
|
|
4653
|
+
if (saveFilePending.has(id)) {
|
|
4654
|
+
saveFilePending.delete(id);
|
|
4655
|
+
resolve(null);
|
|
4656
|
+
}
|
|
4657
|
+
}, 3e5);
|
|
4658
|
+
});
|
|
4659
|
+
}
|
|
4660
|
+
/** 通知宿主"导出完成",由宿主弹出带「打开 / 在资源管理器中显示」的提示 */
|
|
4661
|
+
function vscodeNotifyExported(path) {
|
|
4662
|
+
if (!path) return;
|
|
4663
|
+
getVSCodeBridge().postMessage({
|
|
4664
|
+
command: "showExportedFile",
|
|
4665
|
+
data: { path }
|
|
4666
|
+
});
|
|
4667
|
+
}
|
|
4668
|
+
/** Blob -> base64(二进制导出需要) */
|
|
4669
|
+
function blobToBase64(blob) {
|
|
4670
|
+
return new Promise((resolve, reject) => {
|
|
4671
|
+
const reader = new FileReader();
|
|
4672
|
+
reader.onload = () => {
|
|
4673
|
+
const result = String(reader.result || "");
|
|
4674
|
+
resolve(result.slice(result.indexOf(",") + 1));
|
|
4675
|
+
};
|
|
4676
|
+
reader.onerror = () => reject(reader.error || /* @__PURE__ */ new Error("read blob failed"));
|
|
4677
|
+
reader.readAsDataURL(blob);
|
|
4678
|
+
});
|
|
4679
|
+
}
|
|
4680
|
+
function installSaveFolderListener() {
|
|
4681
|
+
if (saveFolderInstalled || typeof window === "undefined") return;
|
|
4682
|
+
saveFolderInstalled = true;
|
|
4683
|
+
window.addEventListener("message", (event) => {
|
|
4684
|
+
const m = event.data;
|
|
4685
|
+
if (!m || m.command !== "pickSaveFolderResult" || typeof m.id !== "number") return;
|
|
4686
|
+
const p = saveFolderPending.get(m.id);
|
|
4687
|
+
if (!p) return;
|
|
4688
|
+
saveFolderPending.delete(m.id);
|
|
4689
|
+
p.resolve(m.data?.path ?? null);
|
|
4690
|
+
});
|
|
4691
|
+
}
|
|
4692
|
+
/**
|
|
4693
|
+
* 在 VSCode 环境中弹出系统文件夹选择器,返回用户选中的目录路径(绝对路径)。
|
|
4694
|
+
* 非 VSCode 环境直接 resolve(null),调用方据此跳过(沿用后端默认目录)。
|
|
4695
|
+
* 用户取消选择也返回 null。
|
|
4696
|
+
*/
|
|
4697
|
+
function vscodePickSaveFolder(defaultUri) {
|
|
4698
|
+
installSaveFolderListener();
|
|
4699
|
+
const bridge = getVSCodeBridge();
|
|
4700
|
+
if (!bridge.isVSCodeEnvironment()) return Promise.resolve(null);
|
|
4701
|
+
const id = ++saveFolderSeq;
|
|
4702
|
+
return new Promise((resolve) => {
|
|
4703
|
+
saveFolderPending.set(id, { resolve });
|
|
4704
|
+
bridge.postMessage({
|
|
4705
|
+
command: "pickSaveFolder",
|
|
4706
|
+
id,
|
|
4707
|
+
data: defaultUri ? { defaultUri } : {}
|
|
4708
|
+
});
|
|
4709
|
+
setTimeout(() => {
|
|
4710
|
+
if (saveFolderPending.has(id)) {
|
|
4711
|
+
saveFolderPending.delete(id);
|
|
4712
|
+
resolve(null);
|
|
4713
|
+
}
|
|
4714
|
+
}, 12e4);
|
|
4715
|
+
});
|
|
4716
|
+
}
|
|
4717
|
+
var seq, pending, installed, saveFileSeq, saveFilePending, saveFileInstalled, saveFolderSeq, saveFolderPending, saveFolderInstalled;
|
|
4718
|
+
var init_rpc = __esmMin((() => {
|
|
4719
|
+
init_bridge();
|
|
4720
|
+
seq = 0;
|
|
4721
|
+
pending = /* @__PURE__ */ new Map();
|
|
4722
|
+
installed = false;
|
|
4723
|
+
saveFileSeq = 0;
|
|
4724
|
+
saveFilePending = /* @__PURE__ */ new Map();
|
|
4725
|
+
saveFileInstalled = false;
|
|
4726
|
+
saveFolderSeq = 0;
|
|
4727
|
+
saveFolderPending = /* @__PURE__ */ new Map();
|
|
4728
|
+
saveFolderInstalled = false;
|
|
4729
|
+
}));
|
|
4730
|
+
//#endregion
|
|
4505
4731
|
//#region src/service/base.ts
|
|
4506
4732
|
function getRequestUrl(api) {
|
|
4507
4733
|
if (/^(http(s)?:)?\/\//.test(api)) return api;
|
|
4508
4734
|
return `${(config_default.apiUrl || `${location.protocol}//${location.hostname}${[80, 443].includes(Number(location.port)) ? "" : ":" + location.port}`).trim()}${config_default.prefix}${api}`;
|
|
4509
4735
|
}
|
|
4510
4736
|
async function requestServer(url, data, option) {
|
|
4737
|
+
if (typeof __VS_CODE_ENV__ !== "undefined" && __VS_CODE_ENV__) try {
|
|
4738
|
+
return {
|
|
4739
|
+
status: 200,
|
|
4740
|
+
statusText: "OK",
|
|
4741
|
+
data: await vscodeApiRequest(url.replace(/^(http(s)?:)?\/\//, "").replace(/.*?\/api\//, "/api/"), data)
|
|
4742
|
+
};
|
|
4743
|
+
} catch (error) {
|
|
4744
|
+
console.error("VSCode 消息桥调用失败:", error);
|
|
4745
|
+
return {
|
|
4746
|
+
status: 500,
|
|
4747
|
+
statusText: "Internal Server Error",
|
|
4748
|
+
data: {
|
|
4749
|
+
ret: 500,
|
|
4750
|
+
msg: error?.message || "执行失败"
|
|
4751
|
+
}
|
|
4752
|
+
};
|
|
4753
|
+
}
|
|
4511
4754
|
const electronAPI = window.electronAPI;
|
|
4512
4755
|
if (isElectron && electronAPI?.api && electronAPI?.isPackaged) try {
|
|
4513
4756
|
const apiPath = url.replace(/^(http(s)?:)?\/\//, "").replace(/.*?\/api\//, "/api/");
|
|
@@ -4554,6 +4797,7 @@ var init_base = __esmMin((() => {
|
|
|
4554
4797
|
init_eventBus();
|
|
4555
4798
|
init_config();
|
|
4556
4799
|
init_detect();
|
|
4800
|
+
init_rpc();
|
|
4557
4801
|
}));
|
|
4558
4802
|
//#endregion
|
|
4559
4803
|
//#region node_modules/.pnpm/js-cookie@3.0.8/node_modules/js-cookie/dist/js.cookie.mjs
|
|
@@ -4926,6 +5170,7 @@ var init_zh_CN = __esmMin((() => {
|
|
|
4926
5170
|
},
|
|
4927
5171
|
databaseDetail: {
|
|
4928
5172
|
tables: "数据表",
|
|
5173
|
+
backToConnection: "返回连接概览",
|
|
4929
5174
|
views: "视图",
|
|
4930
5175
|
procedures: "存储过程",
|
|
4931
5176
|
functions: "函数",
|
|
@@ -4975,11 +5220,14 @@ var init_zh_CN = __esmMin((() => {
|
|
|
4975
5220
|
tableModifySuccess: "表结构修改成功",
|
|
4976
5221
|
tableCreateFailed: "创建表失败",
|
|
4977
5222
|
tableModifyFailed: "表结构修改失败",
|
|
5223
|
+
getTableInfoFailed: "获取表结构失败",
|
|
4978
5224
|
size: "大小"
|
|
4979
5225
|
},
|
|
4980
5226
|
tableDetail: {
|
|
4981
5227
|
rowData: "行数据",
|
|
4982
5228
|
refreshData: "刷新数据",
|
|
5229
|
+
backToConnection: "返回连接概览",
|
|
5230
|
+
backToDatabase: "返回数据库视图",
|
|
4983
5231
|
modifyStructure: "修改表结构",
|
|
4984
5232
|
insertData: "插入数据",
|
|
4985
5233
|
exportMenu: "导出",
|
|
@@ -5092,6 +5340,8 @@ var init_zh_CN = __esmMin((() => {
|
|
|
5092
5340
|
operationsHeader: "操作",
|
|
5093
5341
|
columnNamePlaceholder: "字段名",
|
|
5094
5342
|
selectType: "选择类型",
|
|
5343
|
+
customType: "自定义类型",
|
|
5344
|
+
customTypePlaceholder: "如 ENUM('a','b')、DECIMAL(10,2)",
|
|
5095
5345
|
lengthPlaceholder: "长度",
|
|
5096
5346
|
precisionPlaceholder: "精度",
|
|
5097
5347
|
scalePlaceholder: "小数",
|
|
@@ -5725,6 +5975,7 @@ var init_en_US = __esmMin((() => {
|
|
|
5725
5975
|
tableModifySuccess: "Table structure modified successfully",
|
|
5726
5976
|
tableCreateFailed: "Failed to create table",
|
|
5727
5977
|
tableModifyFailed: "Failed to modify table structure",
|
|
5978
|
+
getTableInfoFailed: "Failed to get table structure",
|
|
5728
5979
|
size: "Size"
|
|
5729
5980
|
},
|
|
5730
5981
|
tableDetail: {
|
|
@@ -5842,6 +6093,8 @@ var init_en_US = __esmMin((() => {
|
|
|
5842
6093
|
operationsHeader: "Actions",
|
|
5843
6094
|
columnNamePlaceholder: "Column name",
|
|
5844
6095
|
selectType: "Select type",
|
|
6096
|
+
customType: "Custom type",
|
|
6097
|
+
customTypePlaceholder: "e.g. ENUM('a','b'), DECIMAL(10,2)",
|
|
5845
6098
|
lengthPlaceholder: "Length",
|
|
5846
6099
|
precisionPlaceholder: "Precision",
|
|
5847
6100
|
scalePlaceholder: "Scale",
|
|
@@ -7069,17 +7322,17 @@ var init_index_vue_vue_type_script_setup_true_lang$1 = __esmMin((() => {
|
|
|
7069
7322
|
});
|
|
7070
7323
|
}));
|
|
7071
7324
|
//#endregion
|
|
7072
|
-
//#region src/components/modal/index.vue?vue&type=style&index=0&scoped=
|
|
7073
|
-
var
|
|
7325
|
+
//#region src/components/modal/index.vue?vue&type=style&index=0&scoped=aa6b0e1f&lang.css
|
|
7326
|
+
var init_index_vue_vue_type_style_index_0_scoped_aa6b0e1f_lang = __esmMin((() => {}));
|
|
7074
7327
|
//#endregion
|
|
7075
7328
|
//#region src/components/modal/index.vue
|
|
7076
7329
|
var modal_default$1;
|
|
7077
7330
|
var init_modal$1 = __esmMin((() => {
|
|
7078
7331
|
init_index_vue_vue_type_script_setup_true_lang$1();
|
|
7079
7332
|
init_index_vue_vue_type_script_setup_true_lang$1();
|
|
7080
|
-
|
|
7333
|
+
init_index_vue_vue_type_style_index_0_scoped_aa6b0e1f_lang();
|
|
7081
7334
|
init__plugin_vue_export_helper();
|
|
7082
|
-
modal_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default$1, [["__scopeId", "data-v-
|
|
7335
|
+
modal_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default$1, [["__scopeId", "data-v-aa6b0e1f"]]);
|
|
7083
7336
|
}));
|
|
7084
7337
|
//#endregion
|
|
7085
7338
|
//#region src/components/dataGrid/pagination.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -7185,7 +7438,7 @@ var init_pagination = __esmMin((() => {
|
|
|
7185
7438
|
}));
|
|
7186
7439
|
//#endregion
|
|
7187
7440
|
//#region src/components/dataGrid/index.vue?vue&type=script&setup=true&lang.ts
|
|
7188
|
-
var _hoisted_1, _hoisted_2, _hoisted_3, _hoisted_4, _hoisted_5, _hoisted_6, _hoisted_7, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12,
|
|
7441
|
+
var _hoisted_1, _hoisted_2, _hoisted_3, _hoisted_4, _hoisted_5, _hoisted_6, _hoisted_7, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, index_vue_vue_type_script_setup_true_lang_default;
|
|
7189
7442
|
var init_index_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
7190
7443
|
init_vue_runtime_esm_bundler();
|
|
7191
7444
|
init_vue_i18n();
|
|
@@ -7193,29 +7446,28 @@ var init_index_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
7193
7446
|
init_pagination();
|
|
7194
7447
|
_hoisted_1 = { class: "datagrid-container" };
|
|
7195
7448
|
_hoisted_2 = { class: "datagrid-inner" };
|
|
7196
|
-
_hoisted_3 = { class: "table table-
|
|
7197
|
-
_hoisted_4 =
|
|
7198
|
-
_hoisted_5 =
|
|
7199
|
-
_hoisted_6 = {
|
|
7200
|
-
_hoisted_7 = {
|
|
7449
|
+
_hoisted_3 = { class: "table table-striped table-hover" };
|
|
7450
|
+
_hoisted_4 = ["onClick"];
|
|
7451
|
+
_hoisted_5 = { class: "header-content" };
|
|
7452
|
+
_hoisted_6 = {
|
|
7201
7453
|
key: 0,
|
|
7202
7454
|
class: "sort-icon"
|
|
7203
7455
|
};
|
|
7204
|
-
|
|
7456
|
+
_hoisted_7 = {
|
|
7205
7457
|
key: 0,
|
|
7206
7458
|
class: "bi bi-caret-up-fill"
|
|
7207
7459
|
};
|
|
7208
|
-
|
|
7460
|
+
_hoisted_8 = {
|
|
7209
7461
|
key: 1,
|
|
7210
7462
|
class: "bi bi-caret-down-fill"
|
|
7211
7463
|
};
|
|
7212
|
-
|
|
7464
|
+
_hoisted_9 = {
|
|
7213
7465
|
key: 2,
|
|
7214
7466
|
class: "bi bi-caret-up text-muted opacity-50"
|
|
7215
7467
|
};
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7468
|
+
_hoisted_10 = { class: "table-group-divider" };
|
|
7469
|
+
_hoisted_11 = ["onClick"];
|
|
7470
|
+
_hoisted_12 = { key: 1 };
|
|
7219
7471
|
index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7220
7472
|
__name: "index",
|
|
7221
7473
|
props: {
|
|
@@ -7286,16 +7538,16 @@ var init_index_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
7286
7538
|
}
|
|
7287
7539
|
return (_ctx, _cache) => {
|
|
7288
7540
|
return openBlock(), createElementBlock("div", _hoisted_1, [createBaseVNode("div", _hoisted_2, [createBaseVNode("table", _hoisted_3, [
|
|
7289
|
-
createBaseVNode("thead",
|
|
7541
|
+
createBaseVNode("thead", null, [createBaseVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.columns, (column) => {
|
|
7290
7542
|
return openBlock(), createElementBlock("th", {
|
|
7291
7543
|
key: column.name,
|
|
7292
7544
|
scope: "col",
|
|
7293
7545
|
class: normalizeClass(["datagrid-th", { "sortable": column.sortable !== false }]),
|
|
7294
7546
|
style: normalizeStyle(column.headerStyle || ""),
|
|
7295
7547
|
onClick: ($event) => column.sortable !== false && handleSort(column.name)
|
|
7296
|
-
}, [renderSlot(_ctx.$slots, column.name + "_header", { column }, () => [createBaseVNode("div",
|
|
7548
|
+
}, [renderSlot(_ctx.$slots, column.name + "_header", { column }, () => [createBaseVNode("div", _hoisted_5, [createBaseVNode("span", null, toDisplayString(column.text || column.name || ""), 1), column.sortable !== false ? (openBlock(), createElementBlock("span", _hoisted_6, [props.sortField === column.name && props.sortOrder === "ASC" ? (openBlock(), createElementBlock("i", _hoisted_7)) : props.sortField === column.name && props.sortOrder === "DESC" ? (openBlock(), createElementBlock("i", _hoisted_8)) : (openBlock(), createElementBlock("i", _hoisted_9))])) : createCommentVNode("", true)])], true)], 14, _hoisted_4);
|
|
7297
7549
|
}), 128))])]),
|
|
7298
|
-
createBaseVNode("tbody",
|
|
7550
|
+
createBaseVNode("tbody", _hoisted_10, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.data, (row, index) => {
|
|
7299
7551
|
return openBlock(), createElementBlock("tr", {
|
|
7300
7552
|
key: index,
|
|
7301
7553
|
onClick: ($event) => emits("rowClicked", row, index),
|
|
@@ -7304,8 +7556,8 @@ var init_index_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
7304
7556
|
return openBlock(), createElementBlock("td", { key: column.name }, [renderSlot(_ctx.$slots, column.name || column, {
|
|
7305
7557
|
row,
|
|
7306
7558
|
column
|
|
7307
|
-
}, () => [column.component ? (openBlock(), createBlock(resolveDynamicComponent(column.component), { key: 0 })) : (openBlock(), createElementBlock("span",
|
|
7308
|
-
}), 128))], 8,
|
|
7559
|
+
}, () => [column.component ? (openBlock(), createBlock(resolveDynamicComponent(column.component), { key: 0 })) : (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(renderDataItem(row, column)), 1))], true)]);
|
|
7560
|
+
}), 128))], 8, _hoisted_11);
|
|
7309
7561
|
}), 128))]),
|
|
7310
7562
|
createBaseVNode("tfoot", null, [renderSlot(_ctx.$slots, "footer", { columns: props.columns }, void 0, true)])
|
|
7311
7563
|
]), createVNode(loading_default, {
|
|
@@ -7322,17 +7574,17 @@ var init_index_vue_vue_type_script_setup_true_lang = __esmMin((() => {
|
|
|
7322
7574
|
});
|
|
7323
7575
|
}));
|
|
7324
7576
|
//#endregion
|
|
7325
|
-
//#region src/components/dataGrid/index.vue?vue&type=style&index=0&scoped=
|
|
7326
|
-
var
|
|
7577
|
+
//#region src/components/dataGrid/index.vue?vue&type=style&index=0&scoped=6e7b7e09&lang.css
|
|
7578
|
+
var init_index_vue_vue_type_style_index_0_scoped_6e7b7e09_lang = __esmMin((() => {}));
|
|
7327
7579
|
//#endregion
|
|
7328
7580
|
//#region src/components/dataGrid/index.vue
|
|
7329
7581
|
var dataGrid_default;
|
|
7330
7582
|
var init_dataGrid = __esmMin((() => {
|
|
7331
7583
|
init_index_vue_vue_type_script_setup_true_lang();
|
|
7332
7584
|
init_index_vue_vue_type_script_setup_true_lang();
|
|
7333
|
-
|
|
7585
|
+
init_index_vue_vue_type_style_index_0_scoped_6e7b7e09_lang();
|
|
7334
7586
|
init__plugin_vue_export_helper();
|
|
7335
|
-
dataGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
7587
|
+
dataGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6e7b7e09"]]);
|
|
7336
7588
|
}));
|
|
7337
7589
|
//#endregion
|
|
7338
7590
|
//#region src/components/modal/index.ts
|
|
@@ -7507,6 +7759,10 @@ var init_modal = __esmMin((() => {
|
|
|
7507
7759
|
if (window.__INITIAL_STATE__?.dev) __vitePreload(() => import("./vconsole.min.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1)).then((VConsole) => {
|
|
7508
7760
|
new VConsole.default();
|
|
7509
7761
|
}), __vite__mapDeps([6,1]), import.meta.url);
|
|
7762
|
+
if (typeof document !== "undefined") {
|
|
7763
|
+
document.body.classList.add("platform-desktop");
|
|
7764
|
+
document.documentElement.setAttribute("data-bs-theme", "dark");
|
|
7765
|
+
}
|
|
7510
7766
|
var app = createApp(App_default);
|
|
7511
7767
|
var pinia = createPinia();
|
|
7512
7768
|
pinia.use(src_default);
|
|
@@ -7520,4 +7776,4 @@ var init_modal = __esmMin((() => {
|
|
|
7520
7776
|
app.mount("#app");
|
|
7521
7777
|
})))();
|
|
7522
7778
|
//#endregion
|
|
7523
|
-
export {
|
|
7779
|
+
export { defineStore as A, init_rpc as C, vscodeSaveFile as D, vscodePickSaveFolder as E, init_detect as O, blobToBase64 as S, vscodeNotifyExported as T, init__plugin_vue_export_helper as _, dataGrid_default as a, init_base as b, pagination_default as c, init_loading as d, init_toast$1 as f, _plugin_vue_export_helper_default as g, toast_default$1 as h, showConfirm as i, init_pinia as j, isVSCode as k, init_modal$1 as l, init_toast$2 as m, init_modal as n, init_dataGrid as o, toast as p, showAlert as r, init_pagination as s, getModalInstance as t, modal_default$1 as u, getT as v, isVscodeWebview as w, request as x, init_i18n as y };
|