@g1cloud/open-bluesea-grid 1.0.0-alpha.1 → 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 +2 -0
- package/dist/open-bluesea-grid.css +712 -108
- package/dist/open-bluesea-grid.es.js +281 -180
- package/dist/open-bluesea-grid.umd.js +281 -180
- 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$
|
|
2102
|
-
const _hoisted_3$2 = { class: "
|
|
2103
|
-
const _hoisted_4$2 = { class: "
|
|
2133
|
+
const _hoisted_2$3 = { class: "text-center" };
|
|
2134
|
+
const _hoisted_3$2 = { class: "flex" };
|
|
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",
|
|
@@ -2413,15 +2474,31 @@
|
|
|
2413
2474
|
setup(__props, { emit: __emit }) {
|
|
2414
2475
|
const props = __props;
|
|
2415
2476
|
const emit = __emit;
|
|
2416
|
-
const likeTextFilterItems = vue.computed(
|
|
2417
|
-
|
|
2418
|
-
|
|
2477
|
+
const likeTextFilterItems = vue.computed(
|
|
2478
|
+
() => props.textFilterItems
|
|
2479
|
+
);
|
|
2480
|
+
const inTextFilterItems = vue.computed(
|
|
2481
|
+
() => props.textFilterItems.filter((filter) => filter.allowMultiLineFilter)
|
|
2482
|
+
);
|
|
2483
|
+
const hasTextAreaFilterItem = vue.computed(
|
|
2484
|
+
() => inTextFilterItems.value.length > 0
|
|
2485
|
+
);
|
|
2419
2486
|
const filterMode = vue.ref("INPUT");
|
|
2420
2487
|
const changeFilterMode = (mode) => filterMode.value = mode;
|
|
2421
|
-
const likeFilterItems = vue.computed(
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2488
|
+
const likeFilterItems = vue.computed(
|
|
2489
|
+
() => likeTextFilterItems.value.filter(
|
|
2490
|
+
(item) => !item.filterCreator && item.filterType !== "NUMBER"
|
|
2491
|
+
)
|
|
2492
|
+
);
|
|
2493
|
+
const equalFilterItemPropertyIds = vue.computed(
|
|
2494
|
+
() => likeTextFilterItems.value.filter((item) => !item.filterCreator && item.filterType === "NUMBER").map((item) => item.propertyId)
|
|
2495
|
+
);
|
|
2496
|
+
const customFilterItems = vue.computed(
|
|
2497
|
+
() => likeTextFilterItems.value.filter((item) => item.filterCreator)
|
|
2498
|
+
);
|
|
2499
|
+
const inFilterItemPropertyIds = vue.computed(
|
|
2500
|
+
() => inTextFilterItems.value.map((filter) => filter.propertyId)
|
|
2501
|
+
);
|
|
2425
2502
|
const getFilterKeyword = (filter) => {
|
|
2426
2503
|
const actualFilter = filter instanceof OrFilter ? filter.filters[0] : filter;
|
|
2427
2504
|
if (actualFilter && "getFilterValueString" in actualFilter) {
|
|
@@ -2452,13 +2529,31 @@
|
|
|
2452
2529
|
};
|
|
2453
2530
|
const makeLikeFilters = (items, keyword) => {
|
|
2454
2531
|
if (items.length === 0) return [];
|
|
2455
|
-
const prefixSuffix = items.map(
|
|
2532
|
+
const prefixSuffix = items.map(
|
|
2533
|
+
(item) => (item.prefix === false ? "f" : "t") + (item.suffix === false ? "f" : "t")
|
|
2534
|
+
);
|
|
2456
2535
|
if (prefixSuffix.every((val) => val === prefixSuffix[0])) {
|
|
2457
2536
|
const likeNames = likeFilterItems.value.map((item) => item.propertyId);
|
|
2458
2537
|
const first = items[0];
|
|
2459
|
-
return [
|
|
2538
|
+
return [
|
|
2539
|
+
likeFilter(
|
|
2540
|
+
likeNames,
|
|
2541
|
+
keyword,
|
|
2542
|
+
first.prefix !== false,
|
|
2543
|
+
first.suffix !== false,
|
|
2544
|
+
true
|
|
2545
|
+
)
|
|
2546
|
+
];
|
|
2460
2547
|
} else {
|
|
2461
|
-
return items.map(
|
|
2548
|
+
return items.map(
|
|
2549
|
+
(item) => likeFilter(
|
|
2550
|
+
[item.propertyId],
|
|
2551
|
+
keyword,
|
|
2552
|
+
item.prefix !== false,
|
|
2553
|
+
item.suffix !== false,
|
|
2554
|
+
true
|
|
2555
|
+
)
|
|
2556
|
+
);
|
|
2462
2557
|
}
|
|
2463
2558
|
};
|
|
2464
2559
|
const createFilter = async (text) => {
|
|
@@ -2468,13 +2563,15 @@
|
|
|
2468
2563
|
const like = makeLikeFilters(likeFilterItems.value, keyword);
|
|
2469
2564
|
const equalNames = equalFilterItemPropertyIds.value;
|
|
2470
2565
|
const equal = equalNames.length > 0 && !Number.isNaN(Number(keyword)) ? equalFilter(equalNames, Number(keyword), true) : void 0;
|
|
2471
|
-
const customFilters = (await Promise.all(
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
created
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2566
|
+
const customFilters = (await Promise.all(
|
|
2567
|
+
customFilterItems.value.map(async (item) => {
|
|
2568
|
+
let created = item.filterCreator?.(item.propertyId, keyword);
|
|
2569
|
+
if (created && created instanceof Promise) {
|
|
2570
|
+
created = await created;
|
|
2571
|
+
}
|
|
2572
|
+
return created || [];
|
|
2573
|
+
})
|
|
2574
|
+
)).flatMap((item) => item);
|
|
2478
2575
|
const allFilters = [...like, equal, ...customFilters].filter(openBlueseaCore.notNull);
|
|
2479
2576
|
if (allFilters.length >= 2) return orFilter(allFilters);
|
|
2480
2577
|
else return allFilters[0];
|
|
@@ -2494,7 +2591,7 @@
|
|
|
2494
2591
|
);
|
|
2495
2592
|
return (_ctx, _cache) => {
|
|
2496
2593
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
|
|
2497
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
2594
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$1, [
|
|
2498
2595
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
2499
2596
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputText.value = $event),
|
|
2500
2597
|
"data-id": "textFilterInput",
|
|
@@ -2505,11 +2602,12 @@
|
|
|
2505
2602
|
}, null, 544), [
|
|
2506
2603
|
[vue.vModelText, inputText.value]
|
|
2507
2604
|
]),
|
|
2508
|
-
hasTextAreaFilterItem.value ? (vue.openBlock(), vue.
|
|
2605
|
+
hasTextAreaFilterItem.value ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
2509
2606
|
key: 0,
|
|
2510
|
-
|
|
2607
|
+
name: "south",
|
|
2608
|
+
class: "bs-clickable m-1.5",
|
|
2511
2609
|
onClick: _cache[2] || (_cache[2] = ($event) => changeFilterMode("TEXTAREA"))
|
|
2512
|
-
}
|
|
2610
|
+
})) : vue.createCommentVNode("", true)
|
|
2513
2611
|
], 512), [
|
|
2514
2612
|
[vue.vShow, filterMode.value === "INPUT"]
|
|
2515
2613
|
]),
|
|
@@ -2521,10 +2619,11 @@
|
|
|
2521
2619
|
}, null, 544), [
|
|
2522
2620
|
[vue.vModelText, textareaText.value]
|
|
2523
2621
|
]),
|
|
2524
|
-
vue.
|
|
2525
|
-
|
|
2622
|
+
vue.createVNode(vue.unref(openBlueseaCore.BSIcon), {
|
|
2623
|
+
name: "north",
|
|
2624
|
+
class: "bs-clickable m-1.5",
|
|
2526
2625
|
onClick: _cache[4] || (_cache[4] = ($event) => changeFilterMode("INPUT"))
|
|
2527
|
-
}
|
|
2626
|
+
})
|
|
2528
2627
|
], 512), [
|
|
2529
2628
|
[vue.vShow, filterMode.value === "TEXTAREA"]
|
|
2530
2629
|
]),
|
|
@@ -2849,12 +2948,80 @@
|
|
|
2849
2948
|
};
|
|
2850
2949
|
}
|
|
2851
2950
|
});
|
|
2951
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
2952
|
+
__name: "BSDateRangeFilter",
|
|
2953
|
+
props: {
|
|
2954
|
+
idFrom: {},
|
|
2955
|
+
idTo: {},
|
|
2956
|
+
nameFrom: {},
|
|
2957
|
+
nameTo: {},
|
|
2958
|
+
modelValue: {},
|
|
2959
|
+
disabled: { type: Boolean },
|
|
2960
|
+
width: { default: "360px" },
|
|
2961
|
+
resolution: { default: "DAY" },
|
|
2962
|
+
displayFormat: {},
|
|
2963
|
+
popupDisplayFormat: {},
|
|
2964
|
+
popupStartYear: {},
|
|
2965
|
+
popupEndYear: {},
|
|
2966
|
+
timeZone: {}
|
|
2967
|
+
},
|
|
2968
|
+
emits: ["update:modelValue"],
|
|
2969
|
+
setup(__props, { emit: __emit }) {
|
|
2970
|
+
const props = __props;
|
|
2971
|
+
const emit = __emit;
|
|
2972
|
+
const fromValue = vue.ref();
|
|
2973
|
+
const toValue = vue.ref();
|
|
2974
|
+
vue.watch(
|
|
2975
|
+
() => props.modelValue,
|
|
2976
|
+
() => {
|
|
2977
|
+
fromValue.value = props.modelValue?.from;
|
|
2978
|
+
toValue.value = props.modelValue?.to;
|
|
2979
|
+
},
|
|
2980
|
+
{ immediate: true }
|
|
2981
|
+
);
|
|
2982
|
+
const emitValue = () => {
|
|
2983
|
+
const value = {
|
|
2984
|
+
from: fromValue.value,
|
|
2985
|
+
to: toValue.value
|
|
2986
|
+
};
|
|
2987
|
+
emit("update:modelValue", value);
|
|
2988
|
+
};
|
|
2989
|
+
return (_ctx, _cache) => {
|
|
2990
|
+
return vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSDateRange), {
|
|
2991
|
+
"from-value": fromValue.value,
|
|
2992
|
+
"onUpdate:fromValue": [
|
|
2993
|
+
_cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
2994
|
+
emitValue
|
|
2995
|
+
],
|
|
2996
|
+
"to-value": toValue.value,
|
|
2997
|
+
"onUpdate:toValue": [
|
|
2998
|
+
_cache[1] || (_cache[1] = ($event) => toValue.value = $event),
|
|
2999
|
+
emitValue
|
|
3000
|
+
],
|
|
3001
|
+
"disabled-from": __props.disabled,
|
|
3002
|
+
"disabled-to": __props.disabled,
|
|
3003
|
+
"display-format": __props.displayFormat,
|
|
3004
|
+
"id-from": __props.idFrom,
|
|
3005
|
+
"id-to": __props.idTo,
|
|
3006
|
+
"name-from": __props.nameFrom,
|
|
3007
|
+
"name-to": __props.nameTo,
|
|
3008
|
+
"popup-display-format": __props.popupDisplayFormat,
|
|
3009
|
+
"popup-end-year": __props.popupEndYear,
|
|
3010
|
+
"popup-start-year": __props.popupStartYear,
|
|
3011
|
+
resolution: __props.resolution,
|
|
3012
|
+
"time-zone": __props.timeZone,
|
|
3013
|
+
"validate-date-order": false,
|
|
3014
|
+
width: __props.width,
|
|
3015
|
+
"hide-extra-date": ""
|
|
3016
|
+
}, null, 8, ["from-value", "to-value", "disabled-from", "disabled-to", "display-format", "id-from", "id-to", "name-from", "name-to", "popup-display-format", "popup-end-year", "popup-start-year", "resolution", "time-zone", "width"]);
|
|
3017
|
+
};
|
|
3018
|
+
}
|
|
3019
|
+
});
|
|
2852
3020
|
const _hoisted_1$1 = {
|
|
2853
3021
|
key: 0,
|
|
2854
|
-
class: "date-filters
|
|
3022
|
+
class: "date-filters flex flex-col"
|
|
2855
3023
|
};
|
|
2856
|
-
const
|
|
2857
|
-
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
3024
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
2858
3025
|
__name: "BSDateRangeFilters",
|
|
2859
3026
|
props: {
|
|
2860
3027
|
dateFilter: {},
|
|
@@ -2970,37 +3137,37 @@
|
|
|
2970
3137
|
return props.dateFilter.filterItems.find((item) => item.propertyId === propertyId)?.filterWidth || props.filterWidth;
|
|
2971
3138
|
};
|
|
2972
3139
|
return (_ctx, _cache) => {
|
|
2973
|
-
const _component_BSDateRangeFilter = vue.resolveComponent("BSDateRangeFilter");
|
|
2974
3140
|
return __props.dateFilter.filterItems ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
|
|
2975
3141
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(dateFilterValues.value, (item, index) => {
|
|
2976
3142
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2977
3143
|
key: index,
|
|
2978
|
-
class: "
|
|
3144
|
+
class: "flex gap-1 mb-1 flex-align-center"
|
|
2979
3145
|
}, [
|
|
2980
|
-
index === 0 ? (vue.openBlock(), vue.
|
|
3146
|
+
index === 0 ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
2981
3147
|
key: 0,
|
|
3148
|
+
name: "add",
|
|
2982
3149
|
class: vue.normalizeClass([{
|
|
2983
3150
|
disabled: dateFilterValues.value.length >= __props.dateFilter.filterItems.length
|
|
2984
|
-
}, "
|
|
3151
|
+
}, "bs-clickable"]),
|
|
2985
3152
|
"data-id": "addDateFilterBtn",
|
|
2986
3153
|
onClick: addDateFilter
|
|
2987
|
-
}, "
|
|
3154
|
+
}, null, 8, ["class"])) : (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSIcon), {
|
|
2988
3155
|
key: 1,
|
|
2989
|
-
|
|
3156
|
+
name: "remove",
|
|
3157
|
+
class: "bs-clickable",
|
|
2990
3158
|
"data-id": "removeDateFilterBtn",
|
|
2991
3159
|
onClick: ($event) => removeDateFilter(index)
|
|
2992
|
-
},
|
|
3160
|
+
}, null, 8, ["onClick"])),
|
|
2993
3161
|
vue.createVNode(vue.unref(openBlueseaCore.BSSelect), {
|
|
2994
3162
|
items: __props.dateFilter.filterItems,
|
|
2995
3163
|
"label-provider": (filter) => filter.caption,
|
|
2996
3164
|
"model-value": item.propertyId,
|
|
2997
3165
|
style: vue.normalizeStyle({ minWidth: __props.captionMinWidth }),
|
|
2998
3166
|
"value-provider": (filter) => filter.propertyId,
|
|
2999
|
-
class: "mr-4",
|
|
3000
3167
|
"data-id": "filterItemSelect",
|
|
3001
3168
|
"onUpdate:modelValue": ($event) => setDateFilterPropertyId(index, $event)
|
|
3002
3169
|
}, null, 8, ["items", "label-provider", "model-value", "style", "value-provider", "onUpdate:modelValue"]),
|
|
3003
|
-
vue.createVNode(
|
|
3170
|
+
vue.createVNode(_sfc_main$2, {
|
|
3004
3171
|
"display-format": dateFormatOfFilterItem(item.propertyId),
|
|
3005
3172
|
"from-id": `${item.propertyId}From`,
|
|
3006
3173
|
"model-value": item.value,
|
|
@@ -3022,8 +3189,7 @@
|
|
|
3022
3189
|
(value, preset) => setDateFilterValue(index, value, preset)
|
|
3023
3190
|
],
|
|
3024
3191
|
presets: __props.presets,
|
|
3025
|
-
"time-zone": timeZoneOfFilterItem(item.propertyId)
|
|
3026
|
-
class: "ml-4"
|
|
3192
|
+
"time-zone": timeZoneOfFilterItem(item.propertyId)
|
|
3027
3193
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "presets", "time-zone"])
|
|
3028
3194
|
]);
|
|
3029
3195
|
}), 128))
|
|
@@ -3031,9 +3197,9 @@
|
|
|
3031
3197
|
};
|
|
3032
3198
|
}
|
|
3033
3199
|
});
|
|
3034
|
-
const _hoisted_1 = { class: "bs-grid-lookup
|
|
3035
|
-
const _hoisted_2 = { class: "text-nowrap" };
|
|
3036
|
-
const _sfc_main
|
|
3200
|
+
const _hoisted_1 = { class: "bs-grid-lookup flex flex-align-start" };
|
|
3201
|
+
const _hoisted_2 = { class: "text-nowrap flex gap-1" };
|
|
3202
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
3037
3203
|
__name: "BSGridLookup",
|
|
3038
3204
|
props: {
|
|
3039
3205
|
gridId: {},
|
|
@@ -3131,10 +3297,9 @@
|
|
|
3131
3297
|
emitUpdateModelValueAndSearch
|
|
3132
3298
|
],
|
|
3133
3299
|
keyword: __props.keyword,
|
|
3134
|
-
"text-filter-items": __props.config.textFilter.filterItems
|
|
3135
|
-
class: "mr-16"
|
|
3300
|
+
"text-filter-items": __props.config.textFilter.filterItems
|
|
3136
3301
|
}, null, 8, ["modelValue", "keyword", "text-filter-items"])) : vue.createCommentVNode("", true),
|
|
3137
|
-
__props.config?.dateFilter ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3302
|
+
__props.config?.dateFilter ? (vue.openBlock(), vue.createBlock(_sfc_main$1, {
|
|
3138
3303
|
key: 1,
|
|
3139
3304
|
modelValue: dateFilterValue.value,
|
|
3140
3305
|
"onUpdate:modelValue": [
|
|
@@ -3154,19 +3319,24 @@
|
|
|
3154
3319
|
vue.createElementVNode("div", _hoisted_2, [
|
|
3155
3320
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
3156
3321
|
caption: "Search",
|
|
3157
|
-
|
|
3158
|
-
"left-icon": "search",
|
|
3322
|
+
"button-color": "blue",
|
|
3159
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
|
|
3160
3332
|
}),
|
|
3161
3333
|
__props.config?.dateFilter ? (vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSButton), {
|
|
3162
3334
|
key: 0,
|
|
3163
3335
|
caption: "Save",
|
|
3164
|
-
class: "ml-4",
|
|
3165
3336
|
onClick: saveSearchCondition
|
|
3166
3337
|
})) : vue.createCommentVNode("", true),
|
|
3167
3338
|
vue.createVNode(vue.unref(openBlueseaCore.BSButton), {
|
|
3168
3339
|
caption: "Reset",
|
|
3169
|
-
class: "ml-4",
|
|
3170
3340
|
onClick: resetSearchCondition
|
|
3171
3341
|
})
|
|
3172
3342
|
])
|
|
@@ -3174,79 +3344,10 @@
|
|
|
3174
3344
|
};
|
|
3175
3345
|
}
|
|
3176
3346
|
});
|
|
3177
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
3178
|
-
__name: "BSDateRangeFilter",
|
|
3179
|
-
props: {
|
|
3180
|
-
idFrom: {},
|
|
3181
|
-
idTo: {},
|
|
3182
|
-
nameFrom: {},
|
|
3183
|
-
nameTo: {},
|
|
3184
|
-
modelValue: {},
|
|
3185
|
-
disabled: { type: Boolean },
|
|
3186
|
-
width: { default: "300px" },
|
|
3187
|
-
resolution: { default: "DAY" },
|
|
3188
|
-
displayFormat: {},
|
|
3189
|
-
popupDisplayFormat: {},
|
|
3190
|
-
popupStartYear: {},
|
|
3191
|
-
popupEndYear: {},
|
|
3192
|
-
timeZone: {}
|
|
3193
|
-
},
|
|
3194
|
-
emits: ["update:modelValue"],
|
|
3195
|
-
setup(__props, { emit: __emit }) {
|
|
3196
|
-
const props = __props;
|
|
3197
|
-
const emit = __emit;
|
|
3198
|
-
const fromValue = vue.ref();
|
|
3199
|
-
const toValue = vue.ref();
|
|
3200
|
-
vue.watch(
|
|
3201
|
-
() => props.modelValue,
|
|
3202
|
-
() => {
|
|
3203
|
-
fromValue.value = props.modelValue?.from;
|
|
3204
|
-
toValue.value = props.modelValue?.to;
|
|
3205
|
-
},
|
|
3206
|
-
{ immediate: true }
|
|
3207
|
-
);
|
|
3208
|
-
const emitValue = () => {
|
|
3209
|
-
const value = {
|
|
3210
|
-
from: fromValue.value,
|
|
3211
|
-
to: toValue.value
|
|
3212
|
-
};
|
|
3213
|
-
emit("update:modelValue", value);
|
|
3214
|
-
};
|
|
3215
|
-
return (_ctx, _cache) => {
|
|
3216
|
-
return vue.openBlock(), vue.createBlock(vue.unref(openBlueseaCore.BSDateRange), {
|
|
3217
|
-
"from-value": fromValue.value,
|
|
3218
|
-
"onUpdate:fromValue": [
|
|
3219
|
-
_cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
3220
|
-
emitValue
|
|
3221
|
-
],
|
|
3222
|
-
"to-value": toValue.value,
|
|
3223
|
-
"onUpdate:toValue": [
|
|
3224
|
-
_cache[1] || (_cache[1] = ($event) => toValue.value = $event),
|
|
3225
|
-
emitValue
|
|
3226
|
-
],
|
|
3227
|
-
"disabled-from": __props.disabled,
|
|
3228
|
-
"disabled-to": __props.disabled,
|
|
3229
|
-
"display-format": __props.displayFormat,
|
|
3230
|
-
"id-from": __props.idFrom,
|
|
3231
|
-
"id-to": __props.idTo,
|
|
3232
|
-
"name-from": __props.nameFrom,
|
|
3233
|
-
"name-to": __props.nameTo,
|
|
3234
|
-
"popup-display-format": __props.popupDisplayFormat,
|
|
3235
|
-
"popup-end-year": __props.popupEndYear,
|
|
3236
|
-
"popup-start-year": __props.popupStartYear,
|
|
3237
|
-
resolution: __props.resolution,
|
|
3238
|
-
"time-zone": __props.timeZone,
|
|
3239
|
-
"validate-date-order": false,
|
|
3240
|
-
width: __props.width,
|
|
3241
|
-
"hide-extra-date": ""
|
|
3242
|
-
}, null, 8, ["from-value", "to-value", "disabled-from", "disabled-to", "display-format", "id-from", "id-to", "name-from", "name-to", "popup-display-format", "popup-end-year", "popup-start-year", "resolution", "time-zone", "width"]);
|
|
3243
|
-
};
|
|
3244
|
-
}
|
|
3245
|
-
});
|
|
3246
3347
|
exports2.AbstractFilter = AbstractFilter;
|
|
3247
3348
|
exports2.AndFilter = AndFilter;
|
|
3248
|
-
exports2.BSDateRangeFilter = _sfc_main;
|
|
3249
|
-
exports2.BSDateRangeFilters = _sfc_main$
|
|
3349
|
+
exports2.BSDateRangeFilter = _sfc_main$2;
|
|
3350
|
+
exports2.BSDateRangeFilters = _sfc_main$1;
|
|
3250
3351
|
exports2.BSDateRangePresets = _sfc_main$3;
|
|
3251
3352
|
exports2.BSGrid = _sfc_main$7;
|
|
3252
3353
|
exports2.BSGridCell = _sfc_main$d;
|
|
@@ -3259,8 +3360,8 @@
|
|
|
3259
3360
|
exports2.BSGridHeaderCell = BSGridHeaderCell;
|
|
3260
3361
|
exports2.BSGridHeaderCellCheckbox = _sfc_main$f;
|
|
3261
3362
|
exports2.BSGridHeaderCellResizeHandle = BSGridHeaderCellResizeHandle;
|
|
3262
|
-
exports2.BSGridHeaderCellSerialNo =
|
|
3263
|
-
exports2.BSGridLookup = _sfc_main
|
|
3363
|
+
exports2.BSGridHeaderCellSerialNo = _sfc_main$e;
|
|
3364
|
+
exports2.BSGridLookup = _sfc_main;
|
|
3264
3365
|
exports2.BSGridRow = _sfc_main$8;
|
|
3265
3366
|
exports2.BSTextFilter = _sfc_main$4;
|
|
3266
3367
|
exports2.BetweenDateFilter = BetweenDateFilter;
|