@g1cloud/open-bluesea-grid 1.0.0-alpha.2 → 1.0.0-alpha.3
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/dist/icons.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/open-bluesea-grid.css +207 -133
- package/dist/open-bluesea-grid.es.js +146 -75
- package/dist/open-bluesea-grid.umd.js +146 -75
- package/package.json +3 -2
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
(function(global, factory) {
|
|
2
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("
|
|
3
|
-
})(this, (function(exports2, vue, dayjs
|
|
2
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@g1cloud/open-bluesea-core"), require("vue"), require("dayjs")) : typeof define === "function" && define.amd ? define(["exports", "@g1cloud/open-bluesea-core", "vue", "dayjs"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.OpenBlueseaGrid = {}, global.OpenBlueseaCore, global.Vue, global.dayjs));
|
|
3
|
+
})(this, (function(exports2, openBlueseaCore, vue, dayjs) {
|
|
4
4
|
"use strict";
|
|
5
|
+
const checkBoxIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-9 14l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>';
|
|
6
|
+
const checkBoxOutlineBlankIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>';
|
|
7
|
+
const numbersIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.5 10l.5-2h-4l1-4h-2l-1 4h-4l1-4h-2L9 8H5l-.5 2h4l-1 4h-4L3 16h4l-1 4h2l1-4h4l-1 4h2l1-4h4l.5-2h-4l1-4h4zm-7 4h-4l1-4h4l-1 4z"/></svg>';
|
|
8
|
+
const dragHandleIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 9H4v2h16V9zM4 15h16v-2H4v2z"/></svg>';
|
|
9
|
+
const editIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83l3.75 3.75l1.83-1.83z"/></svg>';
|
|
10
|
+
const replayIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6s-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8s-3.58-8-8-8z"/></svg>';
|
|
11
|
+
const searchIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5A6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5S14 7.01 14 9.5S11.99 14 9.5 14z"/></svg>';
|
|
12
|
+
const tableChartIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"/></svg>';
|
|
13
|
+
const syncIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6c0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6c0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4l-4-4v3z"/></svg>';
|
|
14
|
+
const filterAltOffIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19.79 5.61A.998.998 0 0 0 19 4H6.83l7.97 7.97l4.99-6.36zM2.81 2.81L1.39 4.22L10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-2.17l5.78 5.78l1.41-1.41L2.81 2.81z"/></svg>';
|
|
15
|
+
const addIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>';
|
|
16
|
+
const removeIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13H5v-2h14v2z"/></svg>';
|
|
17
|
+
openBlueseaCore.registerIcons({
|
|
18
|
+
check_box: checkBoxIcon,
|
|
19
|
+
check_box_outline_blank: checkBoxOutlineBlankIcon,
|
|
20
|
+
numbers: numbersIcon,
|
|
21
|
+
drag_handle: dragHandleIcon,
|
|
22
|
+
edit: editIcon,
|
|
23
|
+
replay: replayIcon,
|
|
24
|
+
search: searchIcon,
|
|
25
|
+
data_table: tableChartIcon,
|
|
26
|
+
sync: syncIcon,
|
|
27
|
+
filter_alt_off: filterAltOffIcon,
|
|
28
|
+
add: addIcon,
|
|
29
|
+
remove: removeIcon
|
|
30
|
+
});
|
|
5
31
|
class AbstractFilter {
|
|
6
32
|
type;
|
|
7
33
|
constructor(type) {
|
|
@@ -1115,10 +1141,9 @@
|
|
|
1115
1141
|
return target;
|
|
1116
1142
|
};
|
|
1117
1143
|
const BSGridHeaderCellResizeHandle = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3bda3a20"]]);
|
|
1118
|
-
const _hoisted_1$
|
|
1119
|
-
const _hoisted_2$
|
|
1144
|
+
const _hoisted_1$c = ["data-property-id"];
|
|
1145
|
+
const _hoisted_2$5 = { class: "flex items-center w-full" };
|
|
1120
1146
|
const _hoisted_3$4 = ["textContent"];
|
|
1121
|
-
const _hoisted_4$4 = ["textContent"];
|
|
1122
1147
|
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
1123
1148
|
__name: "BSGridHeaderCell",
|
|
1124
1149
|
props: {
|
|
@@ -1199,20 +1224,20 @@
|
|
|
1199
1224
|
class: vue.normalizeClass([styleClass.value, "position-relative"]),
|
|
1200
1225
|
style: vue.normalizeStyle(styleCss.value)
|
|
1201
1226
|
}, [
|
|
1202
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1227
|
+
vue.createElementVNode("div", _hoisted_2$5, [
|
|
1203
1228
|
vue.createElementVNode("span", {
|
|
1204
1229
|
textContent: vue.toDisplayString(__props.column.caption),
|
|
1205
1230
|
class: "grow text-truncate"
|
|
1206
1231
|
}, null, 8, _hoisted_3$4),
|
|
1207
|
-
__props.column.sortable ? (vue.openBlock(), vue.
|
|
1232
|
+
__props.column.sortable ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
1208
1233
|
key: 0,
|
|
1234
|
+
name: ascending.value === void 0 ? "swap_vert" : "straight",
|
|
1209
1235
|
class: vue.normalizeClass([{
|
|
1210
1236
|
"text-gray-400": ascending.value === void 0,
|
|
1211
1237
|
descending: !ascending.value
|
|
1212
|
-
}, "sort-icon
|
|
1213
|
-
onClick: sort
|
|
1214
|
-
|
|
1215
|
-
}, null, 10, _hoisted_4$4)) : vue.createCommentVNode("", true)
|
|
1238
|
+
}, "sort-icon bs-clickable"]),
|
|
1239
|
+
onClick: sort
|
|
1240
|
+
}, null, 8, ["name", "class"])) : vue.createCommentVNode("", true)
|
|
1216
1241
|
]),
|
|
1217
1242
|
vue.renderSlot(_ctx.$slots, "filter", {}, void 0, true),
|
|
1218
1243
|
vue.createVNode(BSGridHeaderCellResizeHandle, {
|
|
@@ -1220,13 +1245,12 @@
|
|
|
1220
1245
|
onColumnResized: columnResized
|
|
1221
1246
|
}, null, 8, ["column"])
|
|
1222
1247
|
], 6)
|
|
1223
|
-
], 46, _hoisted_1$
|
|
1248
|
+
], 46, _hoisted_1$c);
|
|
1224
1249
|
};
|
|
1225
1250
|
}
|
|
1226
1251
|
});
|
|
1227
|
-
const BSGridHeaderCell = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-
|
|
1228
|
-
const _hoisted_1$
|
|
1229
|
-
const _hoisted_2$7 = { class: "font-icon" };
|
|
1252
|
+
const BSGridHeaderCell = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-37a577b0"]]);
|
|
1253
|
+
const _hoisted_1$b = { class: "checkbox bs-clickable" };
|
|
1230
1254
|
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
1231
1255
|
__name: "BSGridHeaderCellCheckbox",
|
|
1232
1256
|
props: {
|
|
@@ -1242,24 +1266,29 @@
|
|
|
1242
1266
|
class: vue.normalizeClass([{ checked: checked.value }, "fixed func-cell"]),
|
|
1243
1267
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("click"))
|
|
1244
1268
|
}, [
|
|
1245
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
1246
|
-
vue.
|
|
1269
|
+
vue.createElementVNode("div", _hoisted_1$b, [
|
|
1270
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
1271
|
+
name: checked.value ? "check_box" : "check_box_outline_blank"
|
|
1272
|
+
}, null, 8, ["name"])
|
|
1247
1273
|
])
|
|
1248
1274
|
], 2);
|
|
1249
1275
|
};
|
|
1250
1276
|
}
|
|
1251
1277
|
});
|
|
1252
|
-
const
|
|
1253
|
-
const
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
vue.
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1278
|
+
const _hoisted_1$a = { class: "fixed func-cell serial-no min-w-48" };
|
|
1279
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
1280
|
+
__name: "BSGridHeaderCellSerialNo",
|
|
1281
|
+
setup(__props) {
|
|
1282
|
+
return (_ctx, _cache) => {
|
|
1283
|
+
return vue.openBlock(), vue.createElementBlock("th", _hoisted_1$a, [
|
|
1284
|
+
vue.createElementVNode("div", null, [
|
|
1285
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), { name: "numbers" })
|
|
1286
|
+
])
|
|
1287
|
+
]);
|
|
1288
|
+
};
|
|
1289
|
+
}
|
|
1290
|
+
});
|
|
1291
|
+
const _hoisted_1$9 = ["data-property-id"];
|
|
1263
1292
|
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
1264
1293
|
__name: "BSGridCell",
|
|
1265
1294
|
props: {
|
|
@@ -1366,11 +1395,11 @@
|
|
|
1366
1395
|
], 6)), [
|
|
1367
1396
|
[vue.unref(openBlueseaCore.vTooltip), { content: tooltipText.value }]
|
|
1368
1397
|
])
|
|
1369
|
-
], 14, _hoisted_1$
|
|
1398
|
+
], 14, _hoisted_1$9);
|
|
1370
1399
|
};
|
|
1371
1400
|
}
|
|
1372
1401
|
});
|
|
1373
|
-
const _hoisted_1$
|
|
1402
|
+
const _hoisted_1$8 = { class: "fixed func-cell serial-no text-right" };
|
|
1374
1403
|
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
1375
1404
|
__name: "BSGridCellSerialNo",
|
|
1376
1405
|
props: {
|
|
@@ -1378,13 +1407,12 @@
|
|
|
1378
1407
|
},
|
|
1379
1408
|
setup(__props) {
|
|
1380
1409
|
return (_ctx, _cache) => {
|
|
1381
|
-
return vue.openBlock(), vue.createElementBlock("td", _hoisted_1$
|
|
1410
|
+
return vue.openBlock(), vue.createElementBlock("td", _hoisted_1$8, [
|
|
1382
1411
|
vue.createElementVNode("div", null, vue.toDisplayString(__props.serialNo), 1)
|
|
1383
1412
|
]);
|
|
1384
1413
|
};
|
|
1385
1414
|
}
|
|
1386
1415
|
});
|
|
1387
|
-
const _hoisted_1$8 = { class: "font-icon" };
|
|
1388
1416
|
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
1389
1417
|
__name: "BSGridCellCheckbox",
|
|
1390
1418
|
props: {
|
|
@@ -1406,15 +1434,16 @@
|
|
|
1406
1434
|
vue.createElementVNode("div", {
|
|
1407
1435
|
class: vue.normalizeClass([{ "bs-clickable": !__props.disabled }, "checkbox"])
|
|
1408
1436
|
}, [
|
|
1409
|
-
vue.
|
|
1437
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
1438
|
+
name: __props.checked ? "check_box" : "check_box_outline_blank"
|
|
1439
|
+
}, null, 8, ["name"])
|
|
1410
1440
|
], 2)
|
|
1411
1441
|
], 2);
|
|
1412
1442
|
};
|
|
1413
1443
|
}
|
|
1414
1444
|
});
|
|
1415
|
-
const BSGridCellCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-
|
|
1445
|
+
const BSGridCellCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-704bd1b5"]]);
|
|
1416
1446
|
const _hoisted_1$7 = { class: "fixed func-cell cursor-pointer" };
|
|
1417
|
-
const _hoisted_2$6 = { class: "font-icon" };
|
|
1418
1447
|
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
1419
1448
|
__name: "BSGridCellEdit",
|
|
1420
1449
|
props: {
|
|
@@ -1430,7 +1459,9 @@
|
|
|
1430
1459
|
key: 0,
|
|
1431
1460
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emit("toggleEditMode"), ["stop"]))
|
|
1432
1461
|
}, [
|
|
1433
|
-
vue.
|
|
1462
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
1463
|
+
name: __props.isEditing ? "replay" : "edit"
|
|
1464
|
+
}, null, 8, ["name"])
|
|
1434
1465
|
])) : vue.createCommentVNode("", true)
|
|
1435
1466
|
]);
|
|
1436
1467
|
};
|
|
@@ -1541,9 +1572,9 @@
|
|
|
1541
1572
|
},
|
|
1542
1573
|
setup(__props) {
|
|
1543
1574
|
return (_ctx, _cache) => {
|
|
1544
|
-
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("td", _hoisted_1$6, [
|
|
1545
|
-
vue.
|
|
1546
|
-
])
|
|
1575
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("td", _hoisted_1$6, [
|
|
1576
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), { name: "drag_handle" })
|
|
1577
|
+
])), [
|
|
1547
1578
|
[vue.unref(vDragSupport), {
|
|
1548
1579
|
draggable: true,
|
|
1549
1580
|
sourceProvider: (td) => td.parentElement,
|
|
@@ -1695,7 +1726,7 @@
|
|
|
1695
1726
|
}
|
|
1696
1727
|
});
|
|
1697
1728
|
const _hoisted_1$5 = { class: "table-wrap" };
|
|
1698
|
-
const _hoisted_2$
|
|
1729
|
+
const _hoisted_2$4 = { class: "header-row" };
|
|
1699
1730
|
const _hoisted_3$3 = {
|
|
1700
1731
|
key: 0,
|
|
1701
1732
|
class: "fixed func-cell"
|
|
@@ -1705,8 +1736,9 @@
|
|
|
1705
1736
|
class: "fixed func-cell edit-icon"
|
|
1706
1737
|
};
|
|
1707
1738
|
const _hoisted_5$2 = { key: 0 };
|
|
1708
|
-
const _hoisted_6$1 = {
|
|
1709
|
-
const _hoisted_7$1 =
|
|
1739
|
+
const _hoisted_6$1 = { class: "absolute" };
|
|
1740
|
+
const _hoisted_7$1 = { key: 1 };
|
|
1741
|
+
const _hoisted_8$1 = ["textContent"];
|
|
1710
1742
|
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
1711
1743
|
__name: "BSGrid",
|
|
1712
1744
|
props: {
|
|
@@ -1987,7 +2019,7 @@
|
|
|
1987
2019
|
ref: table
|
|
1988
2020
|
}, [
|
|
1989
2021
|
vue.createElementVNode("thead", null, [
|
|
1990
|
-
vue.createElementVNode("tr", _hoisted_2$
|
|
2022
|
+
vue.createElementVNode("tr", _hoisted_2$4, [
|
|
1991
2023
|
__props.showDragHandle ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_3$3, [..._cache[0] || (_cache[0] = [
|
|
1992
2024
|
vue.createElementVNode("div", null, null, -1)
|
|
1993
2025
|
])])) : vue.createCommentVNode("", true),
|
|
@@ -1999,7 +2031,7 @@
|
|
|
1999
2031
|
__props.editable && !__props.hideEditIcon ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$3, [..._cache[1] || (_cache[1] = [
|
|
2000
2032
|
vue.createElementVNode("div", null, null, -1)
|
|
2001
2033
|
])])) : vue.createCommentVNode("", true),
|
|
2002
|
-
__props.showSerial ? (vue.openBlock(), vue.createBlock(
|
|
2034
|
+
__props.showSerial ? (vue.openBlock(), vue.createBlock(_sfc_main$e, { key: 3 })) : vue.createCommentVNode("", true),
|
|
2003
2035
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(internalColumns.value, (column) => {
|
|
2004
2036
|
return vue.openBlock(), vue.createBlock(BSGridHeaderCell, {
|
|
2005
2037
|
key: column.propertyId,
|
|
@@ -2027,15 +2059,15 @@
|
|
|
2027
2059
|
]),
|
|
2028
2060
|
vue.createElementVNode("tbody", null, [
|
|
2029
2061
|
__props.loading ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_5$2, [
|
|
2030
|
-
vue.createElementVNode("td",
|
|
2062
|
+
vue.createElementVNode("td", _hoisted_6$1, [
|
|
2031
2063
|
vue.createVNode(vue.unref(openBlueseaCore.BSLoadingIcon), { class: "position-absolute pa-8" })
|
|
2032
2064
|
])
|
|
2033
|
-
])) : __props.data && __props.data.length === 0 ? (vue.openBlock(), vue.createElementBlock("tr",
|
|
2065
|
+
])) : __props.data && __props.data.length === 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_7$1, [
|
|
2034
2066
|
vue.createElementVNode("td", null, [
|
|
2035
2067
|
vue.createElementVNode("div", {
|
|
2036
2068
|
textContent: vue.toDisplayString(__props.emptyMessage),
|
|
2037
2069
|
class: "position-absolute text-nowrap pa-8"
|
|
2038
|
-
}, null, 8,
|
|
2070
|
+
}, null, 8, _hoisted_8$1)
|
|
2039
2071
|
])
|
|
2040
2072
|
])) : __props.data ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(__props.data, (row, index) => {
|
|
2041
2073
|
return vue.openBlock(), vue.createBlock(_sfc_main$8, {
|
|
@@ -2098,9 +2130,9 @@
|
|
|
2098
2130
|
}
|
|
2099
2131
|
});
|
|
2100
2132
|
const _hoisted_1$4 = { class: "text-center" };
|
|
2101
|
-
const _hoisted_2$
|
|
2133
|
+
const _hoisted_2$3 = { class: "text-center" };
|
|
2102
2134
|
const _hoisted_3$2 = { class: "flex" };
|
|
2103
|
-
const _hoisted_4$2 = { class: "flex grow justify-
|
|
2135
|
+
const _hoisted_4$2 = { class: "flex grow justify-end gap-1" };
|
|
2104
2136
|
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
2105
2137
|
__name: "BSGridColumnSettingModal",
|
|
2106
2138
|
props: {
|
|
@@ -2204,7 +2236,7 @@
|
|
|
2204
2236
|
])
|
|
2205
2237
|
]),
|
|
2206
2238
|
fixed: vue.withCtx(({ row }) => [
|
|
2207
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
2239
|
+
vue.createElementVNode("div", _hoisted_2$3, [
|
|
2208
2240
|
vue.createVNode(vue.unref(openBlueseaCore.BSCheckbox), {
|
|
2209
2241
|
modelValue: row.fixed,
|
|
2210
2242
|
"onUpdate:modelValue": [($event) => row.fixed = $event, ($event) => updateFixedColumn($event, row)],
|
|
@@ -2254,7 +2286,7 @@
|
|
|
2254
2286
|
default: _sfc_main$6
|
|
2255
2287
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2256
2288
|
const _hoisted_1$3 = { class: "bs-grid-control" };
|
|
2257
|
-
const _hoisted_2$
|
|
2289
|
+
const _hoisted_2$2 = { key: 0 };
|
|
2258
2290
|
const _hoisted_3$1 = { key: 1 };
|
|
2259
2291
|
const _hoisted_4$1 = { key: 2 };
|
|
2260
2292
|
const _hoisted_5$1 = { key: 3 };
|
|
@@ -2322,44 +2354,73 @@
|
|
|
2322
2354
|
};
|
|
2323
2355
|
return (_ctx, _cache) => {
|
|
2324
2356
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
2325
|
-
__props.showSetting ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
2357
|
+
__props.showSetting ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
|
|
2326
2358
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
2327
2359
|
caption: "Column Settings",
|
|
2328
2360
|
"data-id": "columnSettingBtn",
|
|
2329
|
-
"left-icon": "data_table",
|
|
2330
2361
|
onClick: openSettingModal
|
|
2362
|
+
}, {
|
|
2363
|
+
left: vue.withCtx(() => [
|
|
2364
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
2365
|
+
class: "mt-0.5",
|
|
2366
|
+
name: "data_table"
|
|
2367
|
+
})
|
|
2368
|
+
]),
|
|
2369
|
+
_: 1
|
|
2331
2370
|
})
|
|
2332
2371
|
])) : vue.createCommentVNode("", true),
|
|
2333
2372
|
__props.showRefresh ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, [
|
|
2334
2373
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
2335
2374
|
caption: "Refresh",
|
|
2336
2375
|
"data-id": "refreshBtn",
|
|
2337
|
-
"left-icon": "sync",
|
|
2338
2376
|
onClick: refreshGrid
|
|
2377
|
+
}, {
|
|
2378
|
+
left: vue.withCtx(() => [
|
|
2379
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
2380
|
+
class: "mt-0.5",
|
|
2381
|
+
name: "sync"
|
|
2382
|
+
})
|
|
2383
|
+
]),
|
|
2384
|
+
_: 1
|
|
2339
2385
|
})
|
|
2340
2386
|
])) : vue.createCommentVNode("", true),
|
|
2341
2387
|
__props.showClearFilter ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
|
|
2342
2388
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
2343
2389
|
caption: "Clear Settings",
|
|
2344
2390
|
"data-id": "clearSettingBtn",
|
|
2345
|
-
"left-icon": "filter_alt_off",
|
|
2346
2391
|
onClick: clearGridFilter
|
|
2392
|
+
}, {
|
|
2393
|
+
left: vue.withCtx(() => [
|
|
2394
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
2395
|
+
class: "mt-0.5",
|
|
2396
|
+
name: "filter_alt_off"
|
|
2397
|
+
})
|
|
2398
|
+
]),
|
|
2399
|
+
_: 1
|
|
2347
2400
|
})
|
|
2348
2401
|
])) : vue.createCommentVNode("", true),
|
|
2349
2402
|
__props.showAddButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
2350
2403
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
2351
2404
|
caption: "Add Row",
|
|
2352
2405
|
"data-id": "addRowBtn",
|
|
2353
|
-
"left-icon": "add",
|
|
2354
2406
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("clickAdd"))
|
|
2407
|
+
}, {
|
|
2408
|
+
left: vue.withCtx(() => [
|
|
2409
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), { name: "add" })
|
|
2410
|
+
]),
|
|
2411
|
+
_: 1
|
|
2355
2412
|
})
|
|
2356
2413
|
])) : vue.createCommentVNode("", true),
|
|
2357
2414
|
__props.showRemoveButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
2358
2415
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
2359
2416
|
caption: "Remove Row",
|
|
2360
2417
|
"data-id": "removeRowBtn",
|
|
2361
|
-
"left-icon": "remove",
|
|
2362
2418
|
onClick: _cache[1] || (_cache[1] = ($event) => emit("clickRemove"))
|
|
2419
|
+
}, {
|
|
2420
|
+
left: vue.withCtx(() => [
|
|
2421
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), { name: "remove" })
|
|
2422
|
+
]),
|
|
2423
|
+
_: 1
|
|
2363
2424
|
})
|
|
2364
2425
|
])) : vue.createCommentVNode("", true),
|
|
2365
2426
|
vue.createElementVNode("div", null, [
|
|
@@ -2395,7 +2456,7 @@
|
|
|
2395
2456
|
}
|
|
2396
2457
|
});
|
|
2397
2458
|
const _hoisted_1$2 = { class: "bs-text-filter" };
|
|
2398
|
-
const _hoisted_2$
|
|
2459
|
+
const _hoisted_2$1 = { class: "input-wrap" };
|
|
2399
2460
|
const _hoisted_3 = { class: "textarea-wrap" };
|
|
2400
2461
|
const _hoisted_4 = {
|
|
2401
2462
|
class: "filter-caption text-nowrap",
|
|
@@ -2530,7 +2591,7 @@
|
|
|
2530
2591
|
);
|
|
2531
2592
|
return (_ctx, _cache) => {
|
|
2532
2593
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
|
|
2533
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
2594
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$1, [
|
|
2534
2595
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
2535
2596
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputText.value = $event),
|
|
2536
2597
|
"data-id": "textFilterInput",
|
|
@@ -2541,11 +2602,12 @@
|
|
|
2541
2602
|
}, null, 544), [
|
|
2542
2603
|
[vue.vModelText, inputText.value]
|
|
2543
2604
|
]),
|
|
2544
|
-
hasTextAreaFilterItem.value ? (vue.openBlock(), vue.
|
|
2605
|
+
hasTextAreaFilterItem.value ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
2545
2606
|
key: 0,
|
|
2546
|
-
|
|
2607
|
+
name: "south",
|
|
2608
|
+
class: "bs-clickable m-1.5",
|
|
2547
2609
|
onClick: _cache[2] || (_cache[2] = ($event) => changeFilterMode("TEXTAREA"))
|
|
2548
|
-
}
|
|
2610
|
+
})) : vue.createCommentVNode("", true)
|
|
2549
2611
|
], 512), [
|
|
2550
2612
|
[vue.vShow, filterMode.value === "INPUT"]
|
|
2551
2613
|
]),
|
|
@@ -2557,10 +2619,11 @@
|
|
|
2557
2619
|
}, null, 544), [
|
|
2558
2620
|
[vue.vModelText, textareaText.value]
|
|
2559
2621
|
]),
|
|
2560
|
-
vue.
|
|
2561
|
-
|
|
2622
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
2623
|
+
name: "north",
|
|
2624
|
+
class: "bs-clickable m-1.5",
|
|
2562
2625
|
onClick: _cache[4] || (_cache[4] = ($event) => changeFilterMode("INPUT"))
|
|
2563
|
-
}
|
|
2626
|
+
})
|
|
2564
2627
|
], 512), [
|
|
2565
2628
|
[vue.vShow, filterMode.value === "TEXTAREA"]
|
|
2566
2629
|
]),
|
|
@@ -2894,7 +2957,7 @@
|
|
|
2894
2957
|
nameTo: {},
|
|
2895
2958
|
modelValue: {},
|
|
2896
2959
|
disabled: { type: Boolean },
|
|
2897
|
-
width: { default: "
|
|
2960
|
+
width: { default: "360px" },
|
|
2898
2961
|
resolution: { default: "DAY" },
|
|
2899
2962
|
displayFormat: {},
|
|
2900
2963
|
popupDisplayFormat: {},
|
|
@@ -2958,7 +3021,6 @@
|
|
|
2958
3021
|
key: 0,
|
|
2959
3022
|
class: "date-filters flex flex-col"
|
|
2960
3023
|
};
|
|
2961
|
-
const _hoisted_2$1 = ["onClick"];
|
|
2962
3024
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
2963
3025
|
__name: "BSDateRangeFilters",
|
|
2964
3026
|
props: {
|
|
@@ -3081,19 +3143,21 @@
|
|
|
3081
3143
|
key: index,
|
|
3082
3144
|
class: "flex gap-1 mb-1 flex-align-center"
|
|
3083
3145
|
}, [
|
|
3084
|
-
index === 0 ? (vue.openBlock(), vue.
|
|
3146
|
+
index === 0 ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
3085
3147
|
key: 0,
|
|
3148
|
+
name: "add",
|
|
3086
3149
|
class: vue.normalizeClass([{
|
|
3087
3150
|
disabled: dateFilterValues.value.length >= __props.dateFilter.filterItems.length
|
|
3088
|
-
}, "
|
|
3151
|
+
}, "bs-clickable"]),
|
|
3089
3152
|
"data-id": "addDateFilterBtn",
|
|
3090
3153
|
onClick: addDateFilter
|
|
3091
|
-
}, "
|
|
3154
|
+
}, null, 8, ["class"])) : (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
3092
3155
|
key: 1,
|
|
3093
|
-
|
|
3156
|
+
name: "remove",
|
|
3157
|
+
class: "bs-clickable",
|
|
3094
3158
|
"data-id": "removeDateFilterBtn",
|
|
3095
3159
|
onClick: ($event) => removeDateFilter(index)
|
|
3096
|
-
},
|
|
3160
|
+
}, null, 8, ["onClick"])),
|
|
3097
3161
|
vue.createVNode(vue.unref(openBlueseaCore.BSSelect), {
|
|
3098
3162
|
items: __props.dateFilter.filterItems,
|
|
3099
3163
|
"label-provider": (filter) => filter.caption,
|
|
@@ -3255,9 +3319,16 @@
|
|
|
3255
3319
|
vue.createElementVNode("div", _hoisted_2, [
|
|
3256
3320
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
3257
3321
|
caption: "Search",
|
|
3258
|
-
|
|
3259
|
-
"left-icon": "search",
|
|
3322
|
+
"button-color": "blue",
|
|
3260
3323
|
onClick: emitSearch
|
|
3324
|
+
}, {
|
|
3325
|
+
left: vue.withCtx(() => [
|
|
3326
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
3327
|
+
class: "mt-0.5",
|
|
3328
|
+
name: "search"
|
|
3329
|
+
})
|
|
3330
|
+
]),
|
|
3331
|
+
_: 1
|
|
3261
3332
|
}),
|
|
3262
3333
|
__props.config?.dateFilter ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSButton), {
|
|
3263
3334
|
key: 0,
|
|
@@ -3289,7 +3360,7 @@
|
|
|
3289
3360
|
exports2.BSGridHeaderCell = BSGridHeaderCell;
|
|
3290
3361
|
exports2.BSGridHeaderCellCheckbox = _sfc_main$f;
|
|
3291
3362
|
exports2.BSGridHeaderCellResizeHandle = BSGridHeaderCellResizeHandle;
|
|
3292
|
-
exports2.BSGridHeaderCellSerialNo =
|
|
3363
|
+
exports2.BSGridHeaderCellSerialNo = _sfc_main$e;
|
|
3293
3364
|
exports2.BSGridLookup = _sfc_main;
|
|
3294
3365
|
exports2.BSGridRow = _sfc_main$8;
|
|
3295
3366
|
exports2.BSTextFilter = _sfc_main$4;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Vue Data Grid Component for Management Console.",
|
|
4
4
|
"license": "Proprietary",
|
|
5
5
|
"private": false,
|
|
6
|
-
"version": "1.0.0-alpha.
|
|
6
|
+
"version": "1.0.0-alpha.3",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"engines": {
|
|
9
9
|
"node": ">= 24.3.0"
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"css"
|
|
27
27
|
],
|
|
28
28
|
"devDependencies": {
|
|
29
|
+
"@material-icons/svg": "^1.0.33",
|
|
29
30
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
30
31
|
"@tailwindcss/vite": "^4.1.16",
|
|
31
32
|
"@types/node": "^24.3.0",
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"dayjs": "^1.11.19",
|
|
40
41
|
"tslib": "^2.8.1",
|
|
41
42
|
"vue": "^3.5.22",
|
|
42
|
-
"@g1cloud/open-bluesea-core": "1.0.0-alpha.
|
|
43
|
+
"@g1cloud/open-bluesea-core": "1.0.0-alpha.9"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
|
45
46
|
"@g1cloud/open-bluesea-core": "^1.0.0",
|