rj-grid 0.2.1 → 0.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/dist/rj-grid.js CHANGED
@@ -204,21 +204,6 @@ function parseNumericInput(raw) {
204
204
  const n = Number(s);
205
205
  return isFinite(n) ? sign * n : null;
206
206
  }
207
- function rankOptions(options, query) {
208
- const q = (query || "").trim().toLowerCase();
209
- if (!q)
210
- return options;
211
- const starts = [];
212
- const contains = [];
213
- for (const o of options) {
214
- const label = String(o.label ?? o.value ?? "").toLowerCase();
215
- if (label.startsWith(q))
216
- starts.push(o);
217
- else if (label.includes(q))
218
- contains.push(o);
219
- }
220
- return [...starts, ...contains];
221
- }
222
207
  let zhCollator;
223
208
  function getZhCollator() {
224
209
  if (zhCollator !== void 0)
@@ -785,7 +770,8 @@ function withCarrierOptions(fields, carrier) {
785
770
  return {
786
771
  ...f,
787
772
  kind: "select",
788
- options: hit.list.map((o) => ({ label: o.label, value: o.value }))
773
+ // 直接透传载体列表(可能为树,带 children),供查询栏下拉按层级渲染 + 搜索
774
+ options: hit.list
789
775
  };
790
776
  });
791
777
  }
@@ -4552,32 +4538,88 @@ function pickLabel(item, labelKey, value) {
4552
4538
  return String(value);
4553
4539
  }
4554
4540
  function normalizeOptions(raw, shape = {}) {
4555
- const out = [];
4556
4541
  if (!Array.isArray(raw))
4557
- return out;
4542
+ return [];
4558
4543
  const ck = shape.childrenKey ?? "children";
4559
4544
  const walk = (arr) => {
4545
+ const res = [];
4560
4546
  for (const it of arr) {
4561
4547
  if (it == null || typeof it !== "object") {
4562
4548
  if (it !== null && it !== void 0)
4563
- out.push({ label: String(it), value: it });
4549
+ res.push({ label: String(it), value: it });
4564
4550
  continue;
4565
4551
  }
4566
4552
  const item = it;
4553
+ let opt;
4567
4554
  if (shape.map) {
4568
- out.push(shape.map(item));
4555
+ opt = shape.map(item);
4569
4556
  } else {
4570
4557
  const value = pickValue(item, shape.valueKey);
4571
4558
  const label = pickLabel(item, shape.labelKey, value);
4572
- out.push({ label, value });
4559
+ opt = { label, value };
4573
4560
  }
4574
- if (Array.isArray(item[ck]))
4575
- walk(item[ck]);
4561
+ const kids = Array.isArray(item[ck]) ? walk(item[ck]) : void 0;
4562
+ if (kids && kids.length)
4563
+ opt.children = kids;
4564
+ res.push(opt);
4576
4565
  }
4566
+ return res;
4577
4567
  };
4578
- walk(raw);
4568
+ return walk(raw);
4569
+ }
4570
+ function flattenOptions(options) {
4571
+ const out = [];
4572
+ const walk = (arr) => {
4573
+ for (const o of arr || []) {
4574
+ out.push({ label: o.label, value: o.value });
4575
+ if (o.children && o.children.length)
4576
+ walk(o.children);
4577
+ }
4578
+ };
4579
+ walk(options || []);
4579
4580
  return out;
4580
4581
  }
4582
+ function filterOptionTree(options, query) {
4583
+ const q = (query || "").trim().toLowerCase();
4584
+ if (!q)
4585
+ return options;
4586
+ const walk = (arr) => {
4587
+ const res = [];
4588
+ for (const o of arr || []) {
4589
+ const kids = o.children && o.children.length ? walk(o.children) : [];
4590
+ const self = String(o.label ?? o.value ?? "").toLowerCase().includes(q);
4591
+ if (self)
4592
+ res.push({ ...o });
4593
+ else if (kids.length)
4594
+ res.push({ label: o.label, value: o.value, children: kids });
4595
+ }
4596
+ return res;
4597
+ };
4598
+ return walk(options);
4599
+ }
4600
+ function flattenTreeForRender(options, expanded) {
4601
+ const rows = [];
4602
+ const walk = (arr, depth) => {
4603
+ for (const o of arr || []) {
4604
+ const hasChildren = !!(o.children && o.children.length);
4605
+ const exp = hasChildren && expanded.has(String(o.value));
4606
+ rows.push({ option: o, depth, hasChildren, expanded: exp });
4607
+ if (hasChildren && exp)
4608
+ walk(o.children, depth + 1);
4609
+ }
4610
+ };
4611
+ walk(options || [], 0);
4612
+ return rows;
4613
+ }
4614
+ function collectParentKeys(options, acc = /* @__PURE__ */ new Set()) {
4615
+ for (const o of options || []) {
4616
+ if (o.children && o.children.length) {
4617
+ acc.add(String(o.value));
4618
+ collectParentKeys(o.children, acc);
4619
+ }
4620
+ }
4621
+ return acc;
4622
+ }
4581
4623
  async function resolveOptions(source, dict, loaders) {
4582
4624
  var _a, _b, _c;
4583
4625
  try {
@@ -6013,14 +6055,14 @@ defineComponent({
6013
6055
  };
6014
6056
  }
6015
6057
  });
6016
- const _hoisted_1$h = ["aria-sort", "draggable", "onClick", "onDragstart", "onDragover", "onDrop"];
6017
- const _hoisted_2$h = ["title"];
6018
- const _hoisted_3$e = { class: "rj-hcell-icons" };
6019
- const _hoisted_4$d = ["title", "onClick"];
6020
- const _hoisted_5$d = ["title", "onClick"];
6021
- const _hoisted_6$d = ["onMousedown", "onDblclick"];
6022
- const _hoisted_7$c = ["value", "placeholder", "onCompositionend", "onInput"];
6023
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
6058
+ const _hoisted_1$i = ["aria-sort", "draggable", "onClick", "onDragstart", "onDragover", "onDrop"];
6059
+ const _hoisted_2$i = ["title"];
6060
+ const _hoisted_3$f = { class: "rj-hcell-icons" };
6061
+ const _hoisted_4$e = ["title", "onClick"];
6062
+ const _hoisted_5$e = ["title", "onClick"];
6063
+ const _hoisted_6$e = ["onMousedown", "onDblclick"];
6064
+ const _hoisted_7$d = ["value", "placeholder", "onCompositionend", "onInput"];
6065
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6024
6066
  ...{ name: "RjHeader" },
6025
6067
  __name: "RjHeader",
6026
6068
  props: {
@@ -6223,8 +6265,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6223
6265
  }, null, 8, ["slots", "name", "params"])) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [
6224
6266
  createTextVNode(toDisplayString(cell.col.title || cell.colId), 1)
6225
6267
  ], 64))
6226
- ], 8, _hoisted_2$h),
6227
- createElementVNode("span", _hoisted_3$e, [
6268
+ ], 8, _hoisted_2$i),
6269
+ createElementVNode("span", _hoisted_3$f, [
6228
6270
  cellSortable(cell) ? (openBlock(), createElementBlock("span", {
6229
6271
  key: 0,
6230
6272
  class: normalizeClass(["rj-sort-icon", { "is-active": !!sortDir(cell) }])
@@ -6234,13 +6276,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6234
6276
  class: normalizeClass(["rj-filter-icon", { "is-active": filterActive(cell) }]),
6235
6277
  title: unref(t)("filter"),
6236
6278
  onClick: withModifiers(($event) => _ctx.$emit("open-filter", cell, $event), ["stop"])
6237
- }, toDisplayString(unref(icons).filter), 11, _hoisted_4$d)) : createCommentVNode("", true),
6279
+ }, toDisplayString(unref(icons).filter), 11, _hoisted_4$e)) : createCommentVNode("", true),
6238
6280
  !cell.isGroup && !cell.col.suppressMenu ? (openBlock(), createElementBlock("span", {
6239
6281
  key: 2,
6240
6282
  class: "rj-menu-btn",
6241
6283
  title: unref(t)("colMenu"),
6242
6284
  onClick: withModifiers(($event) => _ctx.$emit("header-menu", cell, $event), ["stop"])
6243
- }, toDisplayString(unref(icons).columnMenu), 9, _hoisted_5$d)) : createCommentVNode("", true)
6285
+ }, toDisplayString(unref(icons).columnMenu), 9, _hoisted_5$e)) : createCommentVNode("", true)
6244
6286
  ]),
6245
6287
  !cell.isGroup && _ctx.reorderable ? (openBlock(), createElementBlock("span", {
6246
6288
  key: 0,
@@ -6249,8 +6291,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6249
6291
  }, ["stop"])),
6250
6292
  onMousedown: withModifiers(($event) => startResize(cell, $event), ["stop", "prevent"]),
6251
6293
  onDblclick: withModifiers(($event) => autoWidth(cell), ["stop"])
6252
- }, null, 40, _hoisted_6$d)) : createCommentVNode("", true)
6253
- ], 46, _hoisted_1$h);
6294
+ }, null, 40, _hoisted_6$e)) : createCommentVNode("", true)
6295
+ ], 46, _hoisted_1$i);
6254
6296
  }), 128))
6255
6297
  ], 4);
6256
6298
  }), 128)),
@@ -6280,7 +6322,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6280
6322
  onCompositionstart: _cache[7] || (_cache[7] = ($event) => composing.value = true),
6281
6323
  onCompositionend: ($event) => onFloatCompositionEnd(leaf.colId, $event),
6282
6324
  onInput: ($event) => onFloatInputGuarded(leaf.colId, $event.target.value)
6283
- }, null, 40, _hoisted_7$c)) : createCommentVNode("", true)
6325
+ }, null, 40, _hoisted_7$d)) : createCommentVNode("", true)
6284
6326
  ], 4);
6285
6327
  }), 128))
6286
6328
  ], 4)) : createCommentVNode("", true)
@@ -6288,26 +6330,32 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6288
6330
  };
6289
6331
  }
6290
6332
  });
6291
- const _hoisted_1$g = {
6333
+ const _hoisted_1$h = {
6292
6334
  key: 1,
6293
6335
  class: "rj-editor-select"
6294
6336
  };
6295
- const _hoisted_2$g = ["placeholder", "aria-expanded"];
6296
- const _hoisted_3$d = ["onMouseenter", "onClick"];
6297
- const _hoisted_4$c = {
6337
+ const _hoisted_2$h = ["placeholder", "aria-expanded"];
6338
+ const _hoisted_3$e = ["onMouseenter", "onClick"];
6339
+ const _hoisted_4$d = ["onClick"];
6340
+ const _hoisted_5$d = {
6341
+ key: 1,
6342
+ class: "rj-option-caret is-leaf"
6343
+ };
6344
+ const _hoisted_6$d = { class: "rj-option-label" };
6345
+ const _hoisted_7$c = {
6298
6346
  key: 0,
6299
6347
  class: "rj-editor-option",
6300
6348
  style: { "color": "#999" }
6301
6349
  };
6302
- const _hoisted_5$c = ["rows", "placeholder"];
6303
- const _hoisted_6$c = ["checked"];
6304
- const _hoisted_7$b = ["placeholder"];
6305
- const _hoisted_8$a = ["placeholder"];
6306
- const _hoisted_9$8 = {
6350
+ const _hoisted_8$b = ["rows", "placeholder"];
6351
+ const _hoisted_9$8 = ["checked"];
6352
+ const _hoisted_10$8 = ["placeholder"];
6353
+ const _hoisted_11$8 = ["placeholder"];
6354
+ const _hoisted_12$8 = {
6307
6355
  key: 7,
6308
6356
  class: "rj-editor-error"
6309
6357
  };
6310
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
6358
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6311
6359
  ...{ name: "RjEditor" },
6312
6360
  __name: "RjEditor",
6313
6361
  props: {
@@ -6372,11 +6420,32 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6372
6420
  return optionsAccessor.list(props.column) || [];
6373
6421
  return Array.isArray(o) ? o : [];
6374
6422
  });
6375
- const filteredOptions = computed(() => {
6376
- if (!isSelectLike.value)
6377
- return options.value;
6378
- return rankOptions(options.value, query.value);
6423
+ const expanded = ref(/* @__PURE__ */ new Set());
6424
+ watch(
6425
+ options,
6426
+ (opts) => {
6427
+ expanded.value = collectParentKeys(opts);
6428
+ },
6429
+ { immediate: true }
6430
+ );
6431
+ const filteredTree = computed(
6432
+ () => isSelectLike.value ? filterOptionTree(options.value, query.value) : options.value
6433
+ );
6434
+ const visibleRows = computed(() => {
6435
+ const q = (query.value || "").trim();
6436
+ const tree = filteredTree.value;
6437
+ const exp = isSelectLike.value && q ? collectParentKeys(tree) : expanded.value;
6438
+ return flattenTreeForRender(tree, exp);
6379
6439
  });
6440
+ function toggleExpand(opt) {
6441
+ const k = String(opt.value);
6442
+ const next = new Set(expanded.value);
6443
+ if (next.has(k))
6444
+ next.delete(k);
6445
+ else
6446
+ next.add(k);
6447
+ expanded.value = next;
6448
+ }
6380
6449
  const open = ref(false);
6381
6450
  const error = ref(null);
6382
6451
  const inputRef = ref();
@@ -6397,23 +6466,23 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6397
6466
  return;
6398
6467
  open.value = true;
6399
6468
  query.value = "";
6400
- const i = filteredOptions.value.findIndex((o) => o.value === model.value);
6401
- activeIdx.value = i >= 0 ? i : filteredOptions.value.length ? 0 : -1;
6469
+ const i = visibleRows.value.findIndex((r) => r.option.value === model.value);
6470
+ activeIdx.value = i >= 0 ? i : visibleRows.value.length ? 0 : -1;
6402
6471
  scrollToActive();
6403
6472
  }
6404
6473
  function move(dir) {
6405
6474
  if (!open.value)
6406
6475
  return openList();
6407
- const len = filteredOptions.value.length;
6476
+ const len = visibleRows.value.length;
6408
6477
  if (!len)
6409
6478
  return;
6410
6479
  activeIdx.value = Math.min(len - 1, Math.max(0, activeIdx.value + dir));
6411
6480
  scrollToActive();
6412
6481
  }
6413
6482
  function confirmPick() {
6414
- const opt = filteredOptions.value[activeIdx.value];
6415
- if (open.value && opt)
6416
- pick(opt);
6483
+ const row = visibleRows.value[activeIdx.value];
6484
+ if (open.value && row)
6485
+ pick(row.option);
6417
6486
  else
6418
6487
  pickText();
6419
6488
  }
@@ -6424,12 +6493,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6424
6493
  commit(opt.value);
6425
6494
  }
6426
6495
  function pickText() {
6427
- const exact = options.value.find((o) => String(o.label) === text.value);
6496
+ const exact = flattenOptions(options.value).find((o) => String(o.label) === text.value);
6428
6497
  if (exact)
6429
6498
  return pick(exact);
6430
- const first = filteredOptions.value[0];
6499
+ const first = visibleRows.value[0];
6431
6500
  if (first && text.value.trim())
6432
- return pick(first);
6501
+ return pick(first.option);
6433
6502
  commit(text.value);
6434
6503
  }
6435
6504
  function onSelectBlur() {
@@ -6476,7 +6545,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6476
6545
  });
6477
6546
  watch(query, () => {
6478
6547
  if (isSelectLike.value && open.value)
6479
- activeIdx.value = filteredOptions.value.length ? 0 : -1;
6548
+ activeIdx.value = visibleRows.value.length ? 0 : -1;
6480
6549
  });
6481
6550
  return (_ctx, _cache) => {
6482
6551
  var _a;
@@ -6492,7 +6561,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6492
6561
  column: _ctx.column,
6493
6562
  onCommit: commit,
6494
6563
  onCancel: cancel
6495
- }, null, 40, ["value", "row", "column"])) : editorType.value === "select" || editorType.value === "richSelect" ? (openBlock(), createElementBlock("div", _hoisted_1$g, [
6564
+ }, null, 40, ["value", "row", "column"])) : editorType.value === "select" || editorType.value === "richSelect" ? (openBlock(), createElementBlock("div", _hoisted_1$h, [
6496
6565
  withDirectives(createElementVNode("input", {
6497
6566
  ref_key: "inputRef",
6498
6567
  ref: inputRef,
@@ -6510,25 +6579,33 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6510
6579
  _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => confirmPick(), ["prevent"]), ["enter"])),
6511
6580
  _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6512
6581
  ]
6513
- }, null, 40, _hoisted_2$g), [
6582
+ }, null, 40, _hoisted_2$h), [
6514
6583
  [vModelText, text.value]
6515
6584
  ]),
6516
6585
  withDirectives(createElementVNode("div", {
6517
6586
  ref_key: "listRef",
6518
6587
  ref: listRef,
6519
- class: "rj-editor-dropdown",
6588
+ class: "rj-editor-dropdown rj-option-tree",
6520
6589
  onMousedown: _cache[7] || (_cache[7] = withModifiers(() => {
6521
6590
  }, ["prevent"]))
6522
6591
  }, [
6523
- (openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (opt, i) => {
6592
+ (openBlock(true), createElementBlock(Fragment, null, renderList(visibleRows.value, (node, i) => {
6524
6593
  return openBlock(), createElementBlock("div", {
6525
- key: String(opt.value),
6526
- class: normalizeClass(["rj-editor-option", { "is-active": i === activeIdx.value, "is-selected": opt.value === model.value }]),
6594
+ key: String(node.option.value) + ":" + i,
6595
+ class: normalizeClass(["rj-editor-option rj-option-row", { "is-active": i === activeIdx.value, "is-selected": node.option.value === model.value }]),
6596
+ style: normalizeStyle({ paddingLeft: 8 + node.depth * 16 + "px" }),
6527
6597
  onMouseenter: ($event) => activeIdx.value = i,
6528
- onClick: ($event) => pick(opt)
6529
- }, toDisplayString(opt.label), 43, _hoisted_3$d);
6598
+ onClick: ($event) => pick(node.option)
6599
+ }, [
6600
+ node.hasChildren ? (openBlock(), createElementBlock("span", {
6601
+ key: 0,
6602
+ class: "rj-option-caret",
6603
+ onClick: withModifiers(($event) => toggleExpand(node.option), ["stop"])
6604
+ }, toDisplayString(node.expanded ? "▾" : "▸"), 9, _hoisted_4$d)) : (openBlock(), createElementBlock("span", _hoisted_5$d)),
6605
+ createElementVNode("span", _hoisted_6$d, toDisplayString(node.option.label), 1)
6606
+ ], 46, _hoisted_3$e);
6530
6607
  }), 128)),
6531
- !filteredOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_4$c, toDisplayString(unref(t)("noMatches")), 1)) : createCommentVNode("", true)
6608
+ !visibleRows.value.length ? (openBlock(), createElementBlock("div", _hoisted_7$c, toDisplayString(unref(t)("noMatches")), 1)) : createCommentVNode("", true)
6532
6609
  ], 544), [
6533
6610
  [vShow, open.value]
6534
6611
  ])
@@ -6545,7 +6622,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6545
6622
  _cache[10] || (_cache[10] = withKeys(withModifiers(($event) => commit(text.value), ["ctrl", "prevent"]), ["enter"]))
6546
6623
  ],
6547
6624
  onBlur: _cache[11] || (_cache[11] = ($event) => commit(text.value))
6548
- }, null, 40, _hoisted_5$c)), [
6625
+ }, null, 40, _hoisted_8$b)), [
6549
6626
  [vModelText, text.value]
6550
6627
  ]) : editorType.value === "checkbox" ? (openBlock(), createElementBlock("input", {
6551
6628
  key: 3,
@@ -6554,7 +6631,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6554
6631
  type: "checkbox",
6555
6632
  checked: !!model.value,
6556
6633
  onChange: _cache[12] || (_cache[12] = ($event) => commit($event.target.checked))
6557
- }, null, 40, _hoisted_6$c)) : editorType.value === "date" ? withDirectives((openBlock(), createElementBlock("input", {
6634
+ }, null, 40, _hoisted_9$8)) : editorType.value === "date" ? withDirectives((openBlock(), createElementBlock("input", {
6558
6635
  key: 4,
6559
6636
  ref_key: "inputRef",
6560
6637
  ref: inputRef,
@@ -6578,7 +6655,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6578
6655
  _cache[18] || (_cache[18] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6579
6656
  ],
6580
6657
  onBlur: _cache[19] || (_cache[19] = ($event) => commit(text.value))
6581
- }), null, 16, _hoisted_7$b)), [
6658
+ }), null, 16, _hoisted_10$8)), [
6582
6659
  [vModelText, text.value]
6583
6660
  ]) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
6584
6661
  key: 6,
@@ -6593,20 +6670,20 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6593
6670
  _cache[22] || (_cache[22] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6594
6671
  ],
6595
6672
  onBlur: _cache[23] || (_cache[23] = ($event) => commit(text.value))
6596
- }), null, 16, _hoisted_8$a)), [
6673
+ }), null, 16, _hoisted_11$8)), [
6597
6674
  [vModelText, text.value]
6598
6675
  ]),
6599
- error.value ? (openBlock(), createElementBlock("div", _hoisted_9$8, toDisplayString(error.value), 1)) : createCommentVNode("", true)
6676
+ error.value ? (openBlock(), createElementBlock("div", _hoisted_12$8, toDisplayString(error.value), 1)) : createCommentVNode("", true)
6600
6677
  ], 32);
6601
6678
  };
6602
6679
  }
6603
6680
  });
6604
- const _hoisted_1$f = ["src", "alt", "loading", "onClick"];
6605
- const _hoisted_2$f = {
6681
+ const _hoisted_1$g = ["src", "alt", "loading", "onClick"];
6682
+ const _hoisted_2$g = {
6606
6683
  key: 1,
6607
6684
  class: "rj-cell-inner rj-cell-img-fallback"
6608
6685
  };
6609
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
6686
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6610
6687
  ...{ name: "RjImgList" },
6611
6688
  __name: "RjImgList",
6612
6689
  props: {
@@ -6638,14 +6715,14 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6638
6715
  draggable: "false",
6639
6716
  onError: _cache[0] || (_cache[0] = ($event) => failed.value = true),
6640
6717
  onClick: withModifiers(($event) => _ctx.$emit("preview", u), ["stop"])
6641
- }, null, 46, _hoisted_1$f);
6642
- }), 128)) : (openBlock(), createElementBlock("span", _hoisted_2$f, toDisplayString(_ctx.fallback), 1));
6718
+ }, null, 46, _hoisted_1$g);
6719
+ }), 128)) : (openBlock(), createElementBlock("span", _hoisted_2$g, toDisplayString(_ctx.fallback), 1));
6643
6720
  };
6644
6721
  }
6645
6722
  });
6646
- const _hoisted_1$e = { class: "rj-sparkline" };
6647
- const _hoisted_2$e = ["width", "height"];
6648
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
6723
+ const _hoisted_1$f = { class: "rj-sparkline" };
6724
+ const _hoisted_2$f = ["width", "height"];
6725
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6649
6726
  ...{ name: "RjSparkline" },
6650
6727
  __name: "RjSparkline",
6651
6728
  props: {
@@ -6744,33 +6821,33 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6744
6821
  );
6745
6822
  onMounted(draw);
6746
6823
  return (_ctx, _cache) => {
6747
- return openBlock(), createElementBlock("span", _hoisted_1$e, [
6824
+ return openBlock(), createElementBlock("span", _hoisted_1$f, [
6748
6825
  createElementVNode("canvas", {
6749
6826
  ref_key: "cv",
6750
6827
  ref: cv,
6751
6828
  width: _ctx.w * unref(dpr),
6752
6829
  height: _ctx.h * unref(dpr),
6753
6830
  style: normalizeStyle(`width:${_ctx.w}px;height:${_ctx.h}px`)
6754
- }, null, 12, _hoisted_2$e)
6831
+ }, null, 12, _hoisted_2$f)
6755
6832
  ]);
6756
6833
  };
6757
6834
  }
6758
6835
  });
6759
- const _hoisted_1$d = ["data-r", "data-c", "role", "aria-colindex", "aria-selected", "title"];
6760
- const _hoisted_2$d = {
6836
+ const _hoisted_1$e = ["data-r", "data-c", "role", "aria-colindex", "aria-selected", "title"];
6837
+ const _hoisted_2$e = {
6761
6838
  key: 1,
6762
6839
  class: "rj-expand-icon",
6763
6840
  style: { "opacity": "0" }
6764
6841
  };
6765
- const _hoisted_3$c = { class: "rj-cell-inner" };
6766
- const _hoisted_4$b = { style: { "color": "var(--rj-text-secondary)", "margin-left": "6px" } };
6767
- const _hoisted_5$b = {
6842
+ const _hoisted_3$d = { class: "rj-cell-inner" };
6843
+ const _hoisted_4$c = { style: { "color": "var(--rj-text-secondary)", "margin-left": "6px" } };
6844
+ const _hoisted_5$c = {
6768
6845
  key: 2,
6769
6846
  style: { "width": "18px", "display": "inline-block", "flex-shrink": "0" }
6770
6847
  };
6771
- const _hoisted_6$b = ["innerHTML"];
6772
- const _hoisted_7$a = ["innerHTML"];
6773
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
6848
+ const _hoisted_6$c = ["innerHTML"];
6849
+ const _hoisted_7$b = ["innerHTML"];
6850
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6774
6851
  ...{ name: "RjCell", inheritAttrs: false },
6775
6852
  __name: "RjCell",
6776
6853
  props: {
@@ -6986,7 +7063,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
6986
7063
  "aria-selected": _ctx.checked || void 0,
6987
7064
  title: tooltipText.value
6988
7065
  }, [
6989
- _ctx.editing ? (openBlock(), createBlock(_sfc_main$g, {
7066
+ _ctx.editing ? (openBlock(), createBlock(_sfc_main$h, {
6990
7067
  key: 0,
6991
7068
  column: _ctx.leaf.col,
6992
7069
  row: _ctx.drow.data,
@@ -7017,8 +7094,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7017
7094
  key: 0,
7018
7095
  class: "rj-expand-icon",
7019
7096
  onClick: _cache[4] || (_cache[4] = withModifiers(($event) => _ctx.$emit("toggle-expand", _ctx.drow.key), ["stop"]))
7020
- }, toDisplayString(_ctx.drow.expanded ? unref(icons).collapse : unref(icons).expand), 1)) : !isPivot.value ? (openBlock(), createElementBlock("span", _hoisted_2$d, toDisplayString(unref(icons).collapse), 1)) : createCommentVNode("", true),
7021
- createElementVNode("span", _hoisted_3$c, [
7097
+ }, toDisplayString(_ctx.drow.expanded ? unref(icons).collapse : unref(icons).expand), 1)) : !isPivot.value ? (openBlock(), createElementBlock("span", _hoisted_2$e, toDisplayString(unref(icons).collapse), 1)) : createCommentVNode("", true),
7098
+ createElementVNode("span", _hoisted_3$d, [
7022
7099
  _ctx.drow.isFooter ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7023
7100
  createTextVNode(toDisplayString(unref(t)("subtotal")), 1)
7024
7101
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -7030,7 +7107,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7030
7107
  }, null, 8, ["slots", "name", "params"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
7031
7108
  createTextVNode(toDisplayString(groupLabel.value), 1)
7032
7109
  ], 64)),
7033
- createElementVNode("span", _hoisted_4$b, "(" + toDisplayString(_ctx.drow.data.__count) + ")", 1)
7110
+ createElementVNode("span", _hoisted_4$c, "(" + toDisplayString(_ctx.drow.data.__count) + ")", 1)
7034
7111
  ], 64))
7035
7112
  ])
7036
7113
  ], 64)) : _ctx.isAnchor ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
@@ -7046,13 +7123,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7046
7123
  key: 1,
7047
7124
  class: "rj-expand-icon",
7048
7125
  onClick: _cache[6] || (_cache[6] = withModifiers(($event) => _ctx.$emit("toggle-detail", _ctx.drow.key), ["stop"]))
7049
- }, toDisplayString(_ctx.detailOpen ? unref(icons).collapse : unref(icons).expand), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$b)),
7050
- imgUrls.value.length ? (openBlock(), createBlock(_sfc_main$f, mergeProps({ key: 3 }, imgBind.value, { onPreview: onImgPreview }), null, 16)) : (openBlock(), createElementBlock("span", {
7126
+ }, toDisplayString(_ctx.detailOpen ? unref(icons).collapse : unref(icons).expand), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$c)),
7127
+ imgUrls.value.length ? (openBlock(), createBlock(_sfc_main$g, mergeProps({ key: 3 }, imgBind.value, { onPreview: onImgPreview }), null, 16)) : (openBlock(), createElementBlock("span", {
7051
7128
  key: 4,
7052
7129
  class: normalizeClass(["rj-cell-inner", { wrap: _ctx.leaf.col.wrapText }]),
7053
7130
  innerHTML: richContent.value
7054
- }, null, 10, _hoisted_6$b))
7055
- ], 64)) : imgUrls.value.length ? (openBlock(), createBlock(_sfc_main$f, mergeProps({ key: 5 }, imgBind.value, { onPreview: onImgPreview }), null, 16)) : sparkData.value ? (openBlock(), createBlock(_sfc_main$e, {
7131
+ }, null, 10, _hoisted_6$c))
7132
+ ], 64)) : imgUrls.value.length ? (openBlock(), createBlock(_sfc_main$g, mergeProps({ key: 5 }, imgBind.value, { onPreview: onImgPreview }), null, 16)) : sparkData.value ? (openBlock(), createBlock(_sfc_main$f, {
7056
7133
  key: 6,
7057
7134
  data: sparkData.value,
7058
7135
  style: normalizeStyle(((_b = _ctx.leaf.col.sparkline) == null ? void 0 : _b.style) || "bar"),
@@ -7061,22 +7138,22 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7061
7138
  key: 7,
7062
7139
  class: normalizeClass(["rj-cell-inner", { wrap: _ctx.leaf.col.wrapText }]),
7063
7140
  innerHTML: richContent.value
7064
- }, null, 10, _hoisted_7$a))
7065
- ], 14, _hoisted_1$d);
7141
+ }, null, 10, _hoisted_7$b))
7142
+ ], 14, _hoisted_1$e);
7066
7143
  };
7067
7144
  }
7068
7145
  });
7069
- const _hoisted_1$c = {
7146
+ const _hoisted_1$d = {
7070
7147
  class: "rj-popup-row",
7071
7148
  style: { "justify-content": "space-between", "font-size": "12px", "margin-bottom": "4px" }
7072
7149
  };
7073
- const _hoisted_2$c = { class: "rj-check-item" };
7074
- const _hoisted_3$b = ["checked"];
7075
- const _hoisted_4$a = ["title"];
7076
- const _hoisted_5$a = ["placeholder"];
7077
- const _hoisted_6$a = { class: "rj-check-list" };
7078
- const _hoisted_7$9 = ["value"];
7079
- const _hoisted_8$9 = {
7150
+ const _hoisted_2$d = { class: "rj-check-item" };
7151
+ const _hoisted_3$c = ["checked"];
7152
+ const _hoisted_4$b = ["title"];
7153
+ const _hoisted_5$b = ["placeholder"];
7154
+ const _hoisted_6$b = { class: "rj-check-list" };
7155
+ const _hoisted_7$a = ["value"];
7156
+ const _hoisted_8$a = {
7080
7157
  key: 0,
7081
7158
  style: { "padding": "6px", "color": "#999" }
7082
7159
  };
@@ -7088,8 +7165,8 @@ const _hoisted_13$6 = ["onUpdate:modelValue", "type"];
7088
7165
  const _hoisted_14$6 = ["onUpdate:modelValue", "type"];
7089
7166
  const _hoisted_15$5 = ["title", "onClick"];
7090
7167
  const _hoisted_16$5 = { class: "rj-popup-row" };
7091
- const _hoisted_17$5 = { class: "rj-popup-footer" };
7092
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
7168
+ const _hoisted_17$4 = { class: "rj-popup-footer" };
7169
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7093
7170
  ...{ name: "RjFilterMenu" },
7094
7171
  __name: "RjFilterMenu",
7095
7172
  props: {
@@ -7178,13 +7255,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7178
7255
  }, ["stop"]))
7179
7256
  }, [
7180
7257
  _ctx.filterType === "select" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7181
- createElementVNode("div", _hoisted_1$c, [
7182
- createElementVNode("label", _hoisted_2$c, [
7258
+ createElementVNode("div", _hoisted_1$d, [
7259
+ createElementVNode("label", _hoisted_2$d, [
7183
7260
  createElementVNode("input", {
7184
7261
  type: "checkbox",
7185
7262
  checked: allChecked.value,
7186
7263
  onChange: _cache[0] || (_cache[0] = ($event) => toggleAll())
7187
- }, null, 40, _hoisted_3$b),
7264
+ }, null, 40, _hoisted_3$c),
7188
7265
  createTextVNode(" " + toDisplayString(unref(t)("selectAll")), 1)
7189
7266
  ]),
7190
7267
  createElementVNode("label", {
@@ -7198,17 +7275,17 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7198
7275
  [vModelCheckbox, exclude.value]
7199
7276
  ]),
7200
7277
  createTextVNode(" " + toDisplayString(unref(t)("excludeSelected")), 1)
7201
- ], 8, _hoisted_4$a)
7278
+ ], 8, _hoisted_4$b)
7202
7279
  ]),
7203
7280
  withDirectives(createElementVNode("input", {
7204
7281
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => search.value = $event),
7205
7282
  class: "rj-input",
7206
7283
  style: { "width": "100%", "margin-bottom": "6px" },
7207
7284
  placeholder: unref(t)("searchOptions")
7208
- }, null, 8, _hoisted_5$a), [
7285
+ }, null, 8, _hoisted_5$b), [
7209
7286
  [vModelText, search.value]
7210
7287
  ]),
7211
- createElementVNode("div", _hoisted_6$a, [
7288
+ createElementVNode("div", _hoisted_6$b, [
7212
7289
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (opt) => {
7213
7290
  return openBlock(), createElementBlock("label", {
7214
7291
  key: String(opt),
@@ -7218,13 +7295,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7218
7295
  type: "checkbox",
7219
7296
  value: opt,
7220
7297
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => values.value = $event)
7221
- }, null, 8, _hoisted_7$9), [
7298
+ }, null, 8, _hoisted_7$a), [
7222
7299
  [vModelCheckbox, values.value]
7223
7300
  ]),
7224
7301
  createElementVNode("span", null, toDisplayString(displayOf(opt)), 1)
7225
7302
  ]);
7226
7303
  }), 128)),
7227
- !filteredOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_8$9, toDisplayString(unref(t)("noOptions")), 1)) : createCommentVNode("", true)
7304
+ !filteredOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_8$a, toDisplayString(unref(t)("noOptions")), 1)) : createCommentVNode("", true)
7228
7305
  ])
7229
7306
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
7230
7307
  createElementVNode("div", _hoisted_9$7, [
@@ -7294,7 +7371,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7294
7371
  }, toDisplayString(unref(t)("addCondition")), 1)
7295
7372
  ])
7296
7373
  ], 64)),
7297
- createElementVNode("div", _hoisted_17$5, [
7374
+ createElementVNode("div", _hoisted_17$4, [
7298
7375
  createElementVNode("button", {
7299
7376
  class: "rj-btn",
7300
7377
  onClick: _cache[7] || (_cache[7] = ($event) => _ctx.$emit("clear"))
@@ -7312,22 +7389,22 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7312
7389
  };
7313
7390
  }
7314
7391
  });
7315
- const _hoisted_1$b = { class: "rj-adv-head" };
7316
- const _hoisted_2$b = { class: "rj-radio-tabs" };
7317
- const _hoisted_3$a = ["title"];
7318
- const _hoisted_4$9 = {
7392
+ const _hoisted_1$c = { class: "rj-adv-head" };
7393
+ const _hoisted_2$c = { class: "rj-radio-tabs" };
7394
+ const _hoisted_3$b = ["title"];
7395
+ const _hoisted_4$a = {
7319
7396
  key: 1,
7320
7397
  class: "rj-adv-cond"
7321
7398
  };
7322
- const _hoisted_5$9 = ["value", "onChange"];
7323
- const _hoisted_6$9 = ["value"];
7324
- const _hoisted_7$8 = ["onUpdate:modelValue", "onChange"];
7325
- const _hoisted_8$8 = ["value"];
7399
+ const _hoisted_5$a = ["value", "onChange"];
7400
+ const _hoisted_6$a = ["value"];
7401
+ const _hoisted_7$9 = ["onUpdate:modelValue", "onChange"];
7402
+ const _hoisted_8$9 = ["value"];
7326
7403
  const _hoisted_9$6 = ["onUpdate:modelValue", "type"];
7327
7404
  const _hoisted_10$6 = ["onUpdate:modelValue", "type"];
7328
7405
  const _hoisted_11$6 = ["title", "onClick"];
7329
7406
  const _hoisted_12$6 = { class: "rj-adv-actions" };
7330
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
7407
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7331
7408
  ...{ name: "RjAdvGroup" },
7332
7409
  __name: "RjAdvGroup",
7333
7410
  props: {
@@ -7400,8 +7477,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7400
7477
  return openBlock(), createElementBlock("div", {
7401
7478
  class: normalizeClass(["rj-adv-group", { "is-nested": _ctx.depth > 0 }])
7402
7479
  }, [
7403
- createElementVNode("div", _hoisted_1$b, [
7404
- createElementVNode("div", _hoisted_2$b, [
7480
+ createElementVNode("div", _hoisted_1$c, [
7481
+ createElementVNode("div", _hoisted_2$c, [
7405
7482
  createElementVNode("span", {
7406
7483
  class: normalizeClass({ "is-active": _ctx.group.operator === "and" }),
7407
7484
  onClick: _cache[0] || (_cache[0] = ($event) => setOp("and"))
@@ -7416,7 +7493,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7416
7493
  class: "rj-adv-remove",
7417
7494
  title: unref(t)("advDelGroup"),
7418
7495
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("remove"))
7419
- }, "✕", 8, _hoisted_3$a)) : createCommentVNode("", true)
7496
+ }, "✕", 8, _hoisted_3$b)) : createCommentVNode("", true)
7420
7497
  ]),
7421
7498
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.group.items, (item, i) => {
7422
7499
  return openBlock(), createElementBlock("div", {
@@ -7429,7 +7506,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7429
7506
  columns: _ctx.columns,
7430
7507
  depth: _ctx.depth + 1,
7431
7508
  onRemove: ($event) => removeAt(i)
7432
- }, null, 8, ["group", "columns", "depth", "onRemove"])) : (openBlock(), createElementBlock("div", _hoisted_4$9, [
7509
+ }, null, 8, ["group", "columns", "depth", "onRemove"])) : (openBlock(), createElementBlock("div", _hoisted_4$a, [
7433
7510
  createElementVNode("select", {
7434
7511
  class: "rj-input",
7435
7512
  value: ac(item).colId,
@@ -7439,9 +7516,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7439
7516
  return openBlock(), createElementBlock("option", {
7440
7517
  key: c.colId,
7441
7518
  value: c.colId
7442
- }, toDisplayString(c.title || c.colId), 9, _hoisted_6$9);
7519
+ }, toDisplayString(c.title || c.colId), 9, _hoisted_6$a);
7443
7520
  }), 128))
7444
- ], 40, _hoisted_5$9),
7521
+ ], 40, _hoisted_5$a),
7445
7522
  withDirectives(createElementVNode("select", {
7446
7523
  "onUpdate:modelValue": ($event) => ac(item).condition.op = $event,
7447
7524
  class: "rj-input",
@@ -7452,9 +7529,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7452
7529
  return openBlock(), createElementBlock("option", {
7453
7530
  key: op.value,
7454
7531
  value: op.value
7455
- }, toDisplayString(opLabel(op)), 9, _hoisted_8$8);
7532
+ }, toDisplayString(opLabel(op)), 9, _hoisted_8$9);
7456
7533
  }), 128))
7457
- ], 40, _hoisted_7$8), [
7534
+ ], 40, _hoisted_7$9), [
7458
7535
  [vModelSelect, ac(item).condition.op]
7459
7536
  ]),
7460
7537
  !noValue(ac(item).condition.op) ? withDirectives((openBlock(), createElementBlock("input", {
@@ -7496,9 +7573,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7496
7573
  };
7497
7574
  }
7498
7575
  });
7499
- const _hoisted_1$a = { class: "rj-adv-title" };
7500
- const _hoisted_2$a = { class: "rj-popup-footer" };
7501
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
7576
+ const _hoisted_1$b = { class: "rj-adv-title" };
7577
+ const _hoisted_2$b = { class: "rj-popup-footer" };
7578
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7502
7579
  ...{ name: "RjAdvancedFilterDialog" },
7503
7580
  __name: "RjAdvancedFilterDialog",
7504
7581
  props: {
@@ -7556,19 +7633,19 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
7556
7633
  onClick: _cache[3] || (_cache[3] = withModifiers(() => {
7557
7634
  }, ["stop"]))
7558
7635
  }, [
7559
- createElementVNode("div", _hoisted_1$a, [
7636
+ createElementVNode("div", _hoisted_1$b, [
7560
7637
  createTextVNode(toDisplayString(unref(t)("advFilterTitle")) + " ", 1),
7561
7638
  createElementVNode("span", {
7562
7639
  class: "rj-adv-remove",
7563
7640
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
7564
7641
  }, "✕")
7565
7642
  ]),
7566
- createVNode(_sfc_main$b, {
7643
+ createVNode(_sfc_main$c, {
7567
7644
  group: tree,
7568
7645
  columns: _ctx.columns,
7569
7646
  depth: 0
7570
7647
  }, null, 8, ["group", "columns"]),
7571
- createElementVNode("div", _hoisted_2$a, [
7648
+ createElementVNode("div", _hoisted_2$b, [
7572
7649
  createElementVNode("button", {
7573
7650
  class: "rj-btn",
7574
7651
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("clear"))
@@ -7582,27 +7659,27 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
7582
7659
  };
7583
7660
  }
7584
7661
  });
7585
- const _hoisted_1$9 = {
7662
+ const _hoisted_1$a = {
7586
7663
  key: 0,
7587
7664
  class: "rj-menu-divider"
7588
7665
  };
7589
- const _hoisted_2$9 = ["onMouseenter", "onClick"];
7590
- const _hoisted_3$9 = { class: "rj-menu-item-label" };
7591
- const _hoisted_4$8 = {
7666
+ const _hoisted_2$a = ["onMouseenter", "onClick"];
7667
+ const _hoisted_3$a = { class: "rj-menu-item-label" };
7668
+ const _hoisted_4$9 = {
7592
7669
  key: 0,
7593
7670
  class: "rj-menu-sub-arrow"
7594
7671
  };
7595
- const _hoisted_5$8 = {
7672
+ const _hoisted_5$9 = {
7596
7673
  key: 1,
7597
7674
  class: "rj-menu rj-menu-sub"
7598
7675
  };
7599
- const _hoisted_6$8 = {
7676
+ const _hoisted_6$9 = {
7600
7677
  key: 0,
7601
7678
  class: "rj-menu-divider"
7602
7679
  };
7603
- const _hoisted_7$7 = ["onClick"];
7604
- const _hoisted_8$7 = { class: "rj-menu-item-label" };
7605
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7680
+ const _hoisted_7$8 = ["onClick"];
7681
+ const _hoisted_8$8 = { class: "rj-menu-item-label" };
7682
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
7606
7683
  ...{ name: "RjContextMenu" },
7607
7684
  __name: "RjContextMenu",
7608
7685
  props: {
@@ -7638,7 +7715,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7638
7715
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, i) => {
7639
7716
  var _a, _b, _c, _d;
7640
7717
  return openBlock(), createElementBlock(Fragment, { key: i }, [
7641
- item.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_1$9)) : (openBlock(), createElementBlock("div", {
7718
+ item.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_1$a)) : (openBlock(), createElementBlock("div", {
7642
7719
  key: 1,
7643
7720
  class: normalizeClass(["rj-menu-item", { "is-disabled": (_a = item.disabled) == null ? void 0 : _a.call(item), "has-sub": (_b = item.children) == null ? void 0 : _b.length }]),
7644
7721
  onMouseenter: ($event) => {
@@ -7647,42 +7724,42 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7647
7724
  },
7648
7725
  onClick: ($event) => onClick(item)
7649
7726
  }, [
7650
- createElementVNode("span", _hoisted_3$9, toDisplayString(item.name), 1),
7651
- ((_c = item.children) == null ? void 0 : _c.length) ? (openBlock(), createElementBlock("span", _hoisted_4$8, "▸")) : createCommentVNode("", true),
7652
- ((_d = item.children) == null ? void 0 : _d.length) && hoverIdx.value === i ? (openBlock(), createElementBlock("div", _hoisted_5$8, [
7727
+ createElementVNode("span", _hoisted_3$a, toDisplayString(item.name), 1),
7728
+ ((_c = item.children) == null ? void 0 : _c.length) ? (openBlock(), createElementBlock("span", _hoisted_4$9, "▸")) : createCommentVNode("", true),
7729
+ ((_d = item.children) == null ? void 0 : _d.length) && hoverIdx.value === i ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
7653
7730
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sub) => {
7654
7731
  var _a2;
7655
7732
  return openBlock(), createElementBlock(Fragment, {
7656
7733
  key: sub.name || String(sub.isSeparator)
7657
7734
  }, [
7658
- sub.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_6$8)) : (openBlock(), createElementBlock("div", {
7735
+ sub.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_6$9)) : (openBlock(), createElementBlock("div", {
7659
7736
  key: 1,
7660
7737
  class: normalizeClass(["rj-menu-item", { "is-disabled": (_a2 = sub.disabled) == null ? void 0 : _a2.call(sub) }]),
7661
7738
  onClick: withModifiers(($event) => onClick(sub), ["stop"])
7662
7739
  }, [
7663
- createElementVNode("span", _hoisted_8$7, toDisplayString(sub.name), 1)
7664
- ], 10, _hoisted_7$7))
7740
+ createElementVNode("span", _hoisted_8$8, toDisplayString(sub.name), 1)
7741
+ ], 10, _hoisted_7$8))
7665
7742
  ], 64);
7666
7743
  }), 128))
7667
7744
  ])) : createCommentVNode("", true)
7668
- ], 42, _hoisted_2$9))
7745
+ ], 42, _hoisted_2$a))
7669
7746
  ], 64);
7670
7747
  }), 128))
7671
7748
  ], 4);
7672
7749
  };
7673
7750
  }
7674
7751
  });
7675
- const _hoisted_1$8 = { class: "rj-colmenu-tabs" };
7676
- const _hoisted_2$8 = ["onClick"];
7677
- const _hoisted_3$8 = { class: "rj-colmenu-tab-ic" };
7678
- const _hoisted_4$7 = { class: "rj-colmenu-body" };
7679
- const _hoisted_5$7 = { class: "rj-colmenu-title" };
7680
- const _hoisted_6$7 = { class: "rj-colmenu-ic" };
7681
- const _hoisted_7$6 = {
7752
+ const _hoisted_1$9 = { class: "rj-colmenu-tabs" };
7753
+ const _hoisted_2$9 = ["onClick"];
7754
+ const _hoisted_3$9 = { class: "rj-colmenu-tab-ic" };
7755
+ const _hoisted_4$8 = { class: "rj-colmenu-body" };
7756
+ const _hoisted_5$8 = { class: "rj-colmenu-title" };
7757
+ const _hoisted_6$8 = { class: "rj-colmenu-ic" };
7758
+ const _hoisted_7$7 = {
7682
7759
  key: 0,
7683
7760
  class: "rj-colmenu-cur"
7684
7761
  };
7685
- const _hoisted_8$6 = { class: "rj-colmenu-ic" };
7762
+ const _hoisted_8$7 = { class: "rj-colmenu-ic" };
7686
7763
  const _hoisted_9$5 = {
7687
7764
  key: 0,
7688
7765
  class: "rj-colmenu-cur"
@@ -7700,11 +7777,11 @@ const _hoisted_16$4 = {
7700
7777
  key: 0,
7701
7778
  class: "rj-colmenu-cur"
7702
7779
  };
7703
- const _hoisted_17$4 = { class: "rj-colmenu-ic" };
7704
- const _hoisted_18$4 = { class: "rj-colmenu-title" };
7705
- const _hoisted_19$3 = { class: "rj-colmenu-draghint" };
7706
- const _hoisted_20$3 = { class: "rj-colmenu-list" };
7707
- const _hoisted_21$3 = ["onDragstart", "onDragover", "onDragleave", "onDrop"];
7780
+ const _hoisted_17$3 = { class: "rj-colmenu-ic" };
7781
+ const _hoisted_18$3 = { class: "rj-colmenu-title" };
7782
+ const _hoisted_19$2 = { class: "rj-colmenu-draghint" };
7783
+ const _hoisted_20$2 = { class: "rj-colmenu-list" };
7784
+ const _hoisted_21$2 = ["onDragstart", "onDragover", "onDragleave", "onDrop"];
7708
7785
  const _hoisted_22$2 = {
7709
7786
  class: "rj-colmenu-grip",
7710
7787
  title: ""
@@ -7712,7 +7789,7 @@ const _hoisted_22$2 = {
7712
7789
  const _hoisted_23$2 = ["title", "onClick"];
7713
7790
  const _hoisted_24$2 = ["title", "onClick"];
7714
7791
  const _hoisted_25$2 = { class: "rj-colmenu-foot" };
7715
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7792
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7716
7793
  ...{ name: "RjColumnMenu" },
7717
7794
  __name: "RjColumnMenu",
7718
7795
  props: {
@@ -7801,35 +7878,35 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7801
7878
  onMousedown: _cache[16] || (_cache[16] = withModifiers(() => {
7802
7879
  }, ["stop"]))
7803
7880
  }, [
7804
- createElementVNode("div", _hoisted_1$8, [
7881
+ createElementVNode("div", _hoisted_1$9, [
7805
7882
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visibleTabs), (tb) => {
7806
7883
  return openBlock(), createElementBlock("div", {
7807
7884
  key: tb.k,
7808
7885
  class: normalizeClass(["rj-colmenu-tab", { "is-active": tab.value === tb.k }]),
7809
7886
  onClick: ($event) => tab.value = tb.k
7810
7887
  }, [
7811
- createElementVNode("span", _hoisted_3$8, toDisplayString(tb.icon), 1),
7888
+ createElementVNode("span", _hoisted_3$9, toDisplayString(tb.icon), 1),
7812
7889
  createTextVNode(toDisplayString(tb.label), 1)
7813
- ], 10, _hoisted_2$8);
7890
+ ], 10, _hoisted_2$9);
7814
7891
  }), 128))
7815
7892
  ]),
7816
- createElementVNode("div", _hoisted_4$7, [
7893
+ createElementVNode("div", _hoisted_4$8, [
7817
7894
  tab.value === "general" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7818
- createElementVNode("div", _hoisted_5$7, toDisplayString(_ctx.col.title || _ctx.colId), 1),
7895
+ createElementVNode("div", _hoisted_5$8, toDisplayString(_ctx.col.title || _ctx.colId), 1),
7819
7896
  _ctx.canSort ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7820
7897
  createElementVNode("div", {
7821
7898
  class: "rj-colmenu-item",
7822
7899
  onClick: _cache[0] || (_cache[0] = ($event) => pick(() => _ctx.$emit("sort", "asc")))
7823
7900
  }, [
7824
- createElementVNode("span", _hoisted_6$7, toDisplayString(unref(icons).sortAscending), 1),
7901
+ createElementVNode("span", _hoisted_6$8, toDisplayString(unref(icons).sortAscending), 1),
7825
7902
  createTextVNode(toDisplayString(unref(t)("sortAsc")) + " ", 1),
7826
- _ctx.sortDir === "asc" ? (openBlock(), createElementBlock("span", _hoisted_7$6, toDisplayString(unref(icons).checked), 1)) : createCommentVNode("", true)
7903
+ _ctx.sortDir === "asc" ? (openBlock(), createElementBlock("span", _hoisted_7$7, toDisplayString(unref(icons).checked), 1)) : createCommentVNode("", true)
7827
7904
  ]),
7828
7905
  createElementVNode("div", {
7829
7906
  class: "rj-colmenu-item",
7830
7907
  onClick: _cache[1] || (_cache[1] = ($event) => pick(() => _ctx.$emit("sort", "desc")))
7831
7908
  }, [
7832
- createElementVNode("span", _hoisted_8$6, toDisplayString(unref(icons).sortDescending), 1),
7909
+ createElementVNode("span", _hoisted_8$7, toDisplayString(unref(icons).sortDescending), 1),
7833
7910
  createTextVNode(toDisplayString(unref(t)("sortDesc")) + " ", 1),
7834
7911
  _ctx.sortDir === "desc" ? (openBlock(), createElementBlock("span", _hoisted_9$5, toDisplayString(unref(icons).checked), 1)) : createCommentVNode("", true)
7835
7912
  ]),
@@ -7878,7 +7955,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7878
7955
  class: "rj-colmenu-item",
7879
7956
  onClick: _cache[8] || (_cache[8] = ($event) => pick(() => _ctx.$emit("hide")))
7880
7957
  }, [
7881
- createElementVNode("span", _hoisted_17$4, toDisplayString(unref(icons).hidden), 1),
7958
+ createElementVNode("span", _hoisted_17$3, toDisplayString(unref(icons).hidden), 1),
7882
7959
  createTextVNode(toDisplayString(unref(t)("hideColumn")), 1)
7883
7960
  ]),
7884
7961
  _ctx.canGroup ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
@@ -7888,7 +7965,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7888
7965
  onClick: _cache[9] || (_cache[9] = ($event) => pick(() => _ctx.$emit("group")))
7889
7966
  }, toDisplayString(unref(t)("groupBy")), 1)
7890
7967
  ], 64)) : createCommentVNode("", true)
7891
- ], 64)) : tab.value === "filter" ? (openBlock(), createBlock(_sfc_main$c, {
7968
+ ], 64)) : tab.value === "filter" ? (openBlock(), createBlock(_sfc_main$d, {
7892
7969
  key: 1,
7893
7970
  inline: "",
7894
7971
  column: _ctx.col,
@@ -7899,9 +7976,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7899
7976
  onClear: _cache[11] || (_cache[11] = ($event) => _ctx.$emit("clear-filter")),
7900
7977
  onAdvanced: _cache[12] || (_cache[12] = ($event) => _ctx.$emit("advanced"))
7901
7978
  }, null, 8, ["column", "filter-type", "model", "unique-values"])) : tab.value === "columns" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
7902
- createElementVNode("div", _hoisted_18$4, toDisplayString(unref(t)("columnsCount", { n: _ctx.columns.length })), 1),
7903
- createElementVNode("div", _hoisted_19$3, toDisplayString(unref(t)("colDragHint")), 1),
7904
- createElementVNode("div", _hoisted_20$3, [
7979
+ createElementVNode("div", _hoisted_18$3, toDisplayString(unref(t)("columnsCount", { n: _ctx.columns.length })), 1),
7980
+ createElementVNode("div", _hoisted_19$2, toDisplayString(unref(t)("colDragHint")), 1),
7981
+ createElementVNode("div", _hoisted_20$2, [
7905
7982
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (c) => {
7906
7983
  return openBlock(), createElementBlock("div", {
7907
7984
  key: c.colId,
@@ -7935,7 +8012,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7935
8012
  title: c.pinned === "left" ? unref(t)("pinnedLeft") + " · " + unref(t)("unpin") : c.pinned === "right" ? unref(t)("pinnedRight") + " · " + unref(t)("unpin") : unref(t)("pinColumn"),
7936
8013
  onClick: ($event) => toggleColPin(c)
7937
8014
  }, toDisplayString(unref(icons).pin), 11, _hoisted_24$2)
7938
- ], 42, _hoisted_21$3);
8015
+ ], 42, _hoisted_21$2);
7939
8016
  }), 128))
7940
8017
  ]),
7941
8018
  createElementVNode("div", _hoisted_25$2, [
@@ -7952,14 +8029,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7952
8029
  };
7953
8030
  }
7954
8031
  });
7955
- const _hoisted_1$7 = { class: "rj-panel" };
7956
- const _hoisted_2$7 = { class: "rj-panel-tabs" };
7957
- const _hoisted_3$7 = ["onClick"];
7958
- const _hoisted_4$6 = { class: "rj-panel-body" };
7959
- const _hoisted_5$6 = { class: "rj-panel-section" };
7960
- const _hoisted_6$6 = ["onDragstart", "onDragover", "onDrop"];
7961
- const _hoisted_7$5 = { class: "rj-panel-item-ops" };
7962
- const _hoisted_8$5 = {
8032
+ const _hoisted_1$8 = { class: "rj-panel" };
8033
+ const _hoisted_2$8 = { class: "rj-panel-tabs" };
8034
+ const _hoisted_3$8 = ["onClick"];
8035
+ const _hoisted_4$7 = { class: "rj-panel-body" };
8036
+ const _hoisted_5$7 = { class: "rj-panel-section" };
8037
+ const _hoisted_6$7 = ["onDragstart", "onDragover", "onDrop"];
8038
+ const _hoisted_7$6 = { class: "rj-panel-item-ops" };
8039
+ const _hoisted_8$6 = {
7963
8040
  key: 0,
7964
8041
  class: "rj-panel-pin-tag"
7965
8042
  };
@@ -7974,11 +8051,11 @@ const _hoisted_16$3 = {
7974
8051
  class: "rj-panel-section",
7975
8052
  style: { "margin-top": "10px" }
7976
8053
  };
7977
- const _hoisted_17$3 = ["onClick"];
7978
- const _hoisted_18$3 = { class: "rj-panel-item-title" };
7979
- const _hoisted_19$2 = { class: "rj-popup-row" };
7980
- const _hoisted_20$2 = { style: { "display": "flex", "align-items": "center", "gap": "6px", "cursor": "pointer" } };
7981
- const _hoisted_21$2 = ["checked"];
8054
+ const _hoisted_17$2 = ["onClick"];
8055
+ const _hoisted_18$2 = { class: "rj-panel-item-title" };
8056
+ const _hoisted_19$1 = { class: "rj-popup-row" };
8057
+ const _hoisted_20$1 = { style: { "display": "flex", "align-items": "center", "gap": "6px", "cursor": "pointer" } };
8058
+ const _hoisted_21$1 = ["checked"];
7982
8059
  const _hoisted_22$1 = { class: "rj-panel-section" };
7983
8060
  const _hoisted_23$1 = ["onClick"];
7984
8061
  const _hoisted_24$1 = ["checked"];
@@ -8010,7 +8087,7 @@ const _hoisted_39$1 = {
8010
8087
  class: "rj-panel-section"
8011
8088
  };
8012
8089
  const _hoisted_40$1 = { class: "rj-panel-item-title" };
8013
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8090
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8014
8091
  ...{ name: "RjToolPanel" },
8015
8092
  __name: "RjToolPanel",
8016
8093
  props: {
@@ -8107,19 +8184,19 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8107
8184
  }
8108
8185
  return (_ctx, _cache) => {
8109
8186
  var _a, _b;
8110
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
8111
- createElementVNode("div", _hoisted_2$7, [
8187
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
8188
+ createElementVNode("div", _hoisted_2$8, [
8112
8189
  (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tb) => {
8113
8190
  return openBlock(), createElementBlock("div", {
8114
8191
  key: tb.k,
8115
8192
  class: normalizeClass(["rj-panel-tab", { "is-active": tab.value === tb.k }]),
8116
8193
  onClick: ($event) => tab.value = tb.k
8117
- }, toDisplayString(tb.label), 11, _hoisted_3$7);
8194
+ }, toDisplayString(tb.label), 11, _hoisted_3$8);
8118
8195
  }), 128))
8119
8196
  ]),
8120
- createElementVNode("div", _hoisted_4$6, [
8197
+ createElementVNode("div", _hoisted_4$7, [
8121
8198
  tab.value === "cols" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
8122
- createElementVNode("div", _hoisted_5$6, toDisplayString(unref(t)("panelColsHint")), 1),
8199
+ createElementVNode("div", _hoisted_5$7, toDisplayString(unref(t)("panelColsHint")), 1),
8123
8200
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.leafList, (c) => {
8124
8201
  return openBlock(), createElementBlock("div", {
8125
8202
  key: c.colId,
@@ -8133,8 +8210,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8133
8210
  style: normalizeStyle({ opacity: c.hidden ? 0.4 : 1 }),
8134
8211
  class: "rj-panel-item-title"
8135
8212
  }, toDisplayString(c.title || c.colId), 5),
8136
- createElementVNode("span", _hoisted_7$5, [
8137
- c.pinned ? (openBlock(), createElementBlock("span", _hoisted_8$5, toDisplayString(c.pinned === "right" ? unref(t)("pinTagRight") : unref(t)("pinTagLeft")), 1)) : createCommentVNode("", true),
8213
+ createElementVNode("span", _hoisted_7$6, [
8214
+ c.pinned ? (openBlock(), createElementBlock("span", _hoisted_8$6, toDisplayString(c.pinned === "right" ? unref(t)("pinTagRight") : unref(t)("pinTagLeft")), 1)) : createCommentVNode("", true),
8138
8215
  createElementVNode("span", {
8139
8216
  class: normalizeClass(["rj-panel-pin", { "is-on": !!c.pinned }]),
8140
8217
  title: c.pinned === "left" ? unref(t)("pinnedLeft") + " · " + unref(t)("unpin") : c.pinned === "right" ? unref(t)("pinnedRight") + " · " + unref(t)("unpin") : unref(t)("pinColumn"),
@@ -8145,7 +8222,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8145
8222
  onClick: withModifiers(($event) => _ctx.$emit("toggle-hide", c.colId), ["stop"])
8146
8223
  }, toDisplayString(c.hidden ? unref(icons).hidden : unref(icons).visible), 9, _hoisted_10$4)
8147
8224
  ])
8148
- ], 42, _hoisted_6$6);
8225
+ ], 42, _hoisted_6$7);
8149
8226
  }), 128))
8150
8227
  ], 64)) : tab.value === "group" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
8151
8228
  createElementVNode("div", _hoisted_11$4, toDisplayString(unref(t)("groupHere")), 1),
@@ -8183,18 +8260,18 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8183
8260
  style: { "cursor": "pointer" },
8184
8261
  onClick: ($event) => _ctx.$emit("group-add", dimKey(c))
8185
8262
  }, [
8186
- createElementVNode("span", _hoisted_18$3, toDisplayString(unref(icons).add) + " " + toDisplayString(c.title || c.colId), 1)
8187
- ], 8, _hoisted_17$3);
8263
+ createElementVNode("span", _hoisted_18$2, toDisplayString(unref(icons).add) + " " + toDisplayString(c.title || c.colId), 1)
8264
+ ], 8, _hoisted_17$2);
8188
8265
  }), 128))
8189
8266
  ], 64)) : createCommentVNode("", true)
8190
8267
  ], 64)) : tab.value === "pivot" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
8191
- createElementVNode("div", _hoisted_19$2, [
8192
- createElementVNode("label", _hoisted_20$2, [
8268
+ createElementVNode("div", _hoisted_19$1, [
8269
+ createElementVNode("label", _hoisted_20$1, [
8193
8270
  createElementVNode("input", {
8194
8271
  type: "checkbox",
8195
8272
  checked: _ctx.pivot.active,
8196
8273
  onChange: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("pivot-enable", $event.target.checked))
8197
- }, null, 40, _hoisted_21$2),
8274
+ }, null, 40, _hoisted_21$1),
8198
8275
  createTextVNode(" " + toDisplayString(unref(t)("enablePivot")), 1)
8199
8276
  ])
8200
8277
  ]),
@@ -8276,18 +8353,18 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8276
8353
  };
8277
8354
  }
8278
8355
  });
8279
- const _hoisted_1$6 = {
8356
+ const _hoisted_1$7 = {
8280
8357
  class: "rj-pager-opt rj-pager-total",
8281
8358
  style: { "color": "var(--rj-text-secondary)" }
8282
8359
  };
8283
- const _hoisted_2$6 = ["value"];
8284
- const _hoisted_3$6 = ["value"];
8285
- const _hoisted_4$5 = { class: "rj-pager-nav" };
8286
- const _hoisted_5$5 = ["disabled"];
8287
- const _hoisted_6$5 = ["disabled"];
8288
- const _hoisted_7$4 = ["disabled"];
8289
- const _hoisted_8$4 = ["disabled"];
8290
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8360
+ const _hoisted_2$7 = ["value"];
8361
+ const _hoisted_3$7 = ["value"];
8362
+ const _hoisted_4$6 = { class: "rj-pager-nav" };
8363
+ const _hoisted_5$6 = ["disabled"];
8364
+ const _hoisted_6$6 = ["disabled"];
8365
+ const _hoisted_7$5 = ["disabled"];
8366
+ const _hoisted_8$5 = ["disabled"];
8367
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8291
8368
  ...{ name: "RjPager" },
8292
8369
  __name: "RjPager",
8293
8370
  props: {
@@ -8305,7 +8382,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8305
8382
  return openBlock(), createElementBlock("div", {
8306
8383
  class: normalizeClass(["rj-pager", _ctx.variant === "top" ? "rj-pager-top" : "rj-pager-bottom"])
8307
8384
  }, [
8308
- createElementVNode("span", _hoisted_1$6, toDisplayString(unref(t)("pagerTotal", { n: _ctx.total })), 1),
8385
+ createElementVNode("span", _hoisted_1$7, toDisplayString(unref(t)("pagerTotal", { n: _ctx.total })), 1),
8309
8386
  createElementVNode("select", {
8310
8387
  class: "rj-input rj-pager-opt rj-pager-size",
8311
8388
  value: _ctx.pageSize,
@@ -8315,44 +8392,44 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8315
8392
  return createElementVNode("option", {
8316
8393
  key: s,
8317
8394
  value: s
8318
- }, toDisplayString(unref(t)("perPage", { n: s })), 9, _hoisted_3$6);
8395
+ }, toDisplayString(unref(t)("perPage", { n: s })), 9, _hoisted_3$7);
8319
8396
  }), 64))
8320
- ], 40, _hoisted_2$6),
8321
- createElementVNode("div", _hoisted_4$5, [
8397
+ ], 40, _hoisted_2$7),
8398
+ createElementVNode("div", _hoisted_4$6, [
8322
8399
  createElementVNode("button", {
8323
8400
  class: "rj-btn",
8324
8401
  disabled: _ctx.page <= 1,
8325
8402
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:page", 1))
8326
- }, toDisplayString(unref(t)("first")), 9, _hoisted_5$5),
8403
+ }, toDisplayString(unref(t)("first")), 9, _hoisted_5$6),
8327
8404
  createElementVNode("button", {
8328
8405
  class: "rj-btn",
8329
8406
  disabled: _ctx.page <= 1,
8330
8407
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:page", _ctx.page - 1))
8331
- }, toDisplayString(unref(t)("prev")), 9, _hoisted_6$5),
8408
+ }, toDisplayString(unref(t)("prev")), 9, _hoisted_6$6),
8332
8409
  createElementVNode("span", null, toDisplayString(_ctx.page) + " / " + toDisplayString(pages.value || 1), 1),
8333
8410
  createElementVNode("button", {
8334
8411
  class: "rj-btn",
8335
8412
  disabled: _ctx.page >= pages.value,
8336
8413
  onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("update:page", _ctx.page + 1))
8337
- }, toDisplayString(unref(t)("next")), 9, _hoisted_7$4),
8414
+ }, toDisplayString(unref(t)("next")), 9, _hoisted_7$5),
8338
8415
  createElementVNode("button", {
8339
8416
  class: "rj-btn",
8340
8417
  disabled: _ctx.page >= pages.value,
8341
8418
  onClick: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("update:page", pages.value))
8342
- }, toDisplayString(unref(t)("last")), 9, _hoisted_8$4)
8419
+ }, toDisplayString(unref(t)("last")), 9, _hoisted_8$5)
8343
8420
  ])
8344
8421
  ], 2);
8345
8422
  };
8346
8423
  }
8347
8424
  });
8348
- const _hoisted_1$5 = { class: "rj-chart-dialog" };
8349
- const _hoisted_2$5 = { class: "rj-chart-header" };
8350
- const _hoisted_3$5 = { class: "rj-chart-body" };
8351
- const _hoisted_4$4 = { style: { "display": "flex", "gap": "8px", "flex-wrap": "wrap", "align-items": "center" } };
8352
- const _hoisted_5$4 = { class: "rj-radio-tabs" };
8353
- const _hoisted_6$4 = ["onClick"];
8354
- const _hoisted_7$3 = { value: "" };
8355
- const _hoisted_8$3 = ["value"];
8425
+ const _hoisted_1$6 = { class: "rj-chart-dialog" };
8426
+ const _hoisted_2$6 = { class: "rj-chart-header" };
8427
+ const _hoisted_3$6 = { class: "rj-chart-body" };
8428
+ const _hoisted_4$5 = { style: { "display": "flex", "gap": "8px", "flex-wrap": "wrap", "align-items": "center" } };
8429
+ const _hoisted_5$5 = { class: "rj-radio-tabs" };
8430
+ const _hoisted_6$5 = ["onClick"];
8431
+ const _hoisted_7$4 = { value: "" };
8432
+ const _hoisted_8$4 = ["value"];
8356
8433
  const _hoisted_9$3 = { value: "" };
8357
8434
  const _hoisted_10$3 = ["value"];
8358
8435
  const _hoisted_11$3 = ["value"];
@@ -8362,7 +8439,7 @@ const _hoisted_14$3 = {
8362
8439
  key: 0,
8363
8440
  class: "rj-chart-warn"
8364
8441
  };
8365
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8442
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8366
8443
  ...{ name: "RjChartDialog" },
8367
8444
  __name: "RjChartDialog",
8368
8445
  props: {
@@ -8534,23 +8611,23 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8534
8611
  class: "rj-chart-mask",
8535
8612
  onClick: _cache[5] || (_cache[5] = withModifiers(($event) => _ctx.$emit("close"), ["self"]))
8536
8613
  }, [
8537
- createElementVNode("div", _hoisted_1$5, [
8538
- createElementVNode("div", _hoisted_2$5, [
8614
+ createElementVNode("div", _hoisted_1$6, [
8615
+ createElementVNode("div", _hoisted_2$6, [
8539
8616
  createTextVNode(toDisplayString(unref(t)("chartTitle")) + " ", 1),
8540
8617
  createElementVNode("span", {
8541
8618
  class: "rj-chart-close",
8542
8619
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
8543
8620
  }, toDisplayString(unref(icons).remove), 1)
8544
8621
  ]),
8545
- createElementVNode("div", _hoisted_3$5, [
8546
- createElementVNode("div", _hoisted_4$4, [
8547
- createElementVNode("div", _hoisted_5$4, [
8622
+ createElementVNode("div", _hoisted_3$6, [
8623
+ createElementVNode("div", _hoisted_4$5, [
8624
+ createElementVNode("div", _hoisted_5$5, [
8548
8625
  (openBlock(), createElementBlock(Fragment, null, renderList(TYPE_KEYS, (tt) => {
8549
8626
  return createElementVNode("span", {
8550
8627
  key: tt.k,
8551
8628
  class: normalizeClass({ "is-active": chartType.value === tt.k }),
8552
8629
  onClick: ($event) => chartType.value = tt.k
8553
- }, toDisplayString(unref(t)(tt.labelKey)), 11, _hoisted_6$4);
8630
+ }, toDisplayString(unref(t)(tt.labelKey)), 11, _hoisted_6$5);
8554
8631
  }), 64))
8555
8632
  ]),
8556
8633
  withDirectives(createElementVNode("select", {
@@ -8558,12 +8635,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8558
8635
  class: "rj-input",
8559
8636
  style: { "padding": "0 4px" }
8560
8637
  }, [
8561
- createElementVNode("option", _hoisted_7$3, toDisplayString(unref(t)("chartPickX")), 1),
8638
+ createElementVNode("option", _hoisted_7$4, toDisplayString(unref(t)("chartPickX")), 1),
8562
8639
  (openBlock(true), createElementBlock(Fragment, null, renderList(dimCols.value, (c) => {
8563
8640
  return openBlock(), createElementBlock("option", {
8564
8641
  key: c.field,
8565
8642
  value: c.field
8566
- }, toDisplayString(c.title || c.field), 9, _hoisted_8$3);
8643
+ }, toDisplayString(c.title || c.field), 9, _hoisted_8$4);
8567
8644
  }), 128))
8568
8645
  ], 512), [
8569
8646
  [vModelSelect, xCat.value]
@@ -8728,41 +8805,251 @@ function queryActionConfirm(action, rows) {
8728
8805
  return "";
8729
8806
  return typeof action.confirm === "function" ? action.confirm(rows) : action.confirm;
8730
8807
  }
8808
+ const _hoisted_1$5 = { class: "rj-opt-text" };
8809
+ const _hoisted_2$5 = ["placeholder"];
8810
+ const _hoisted_3$5 = ["onMouseenter", "onClick"];
8811
+ const _hoisted_4$4 = ["onClick"];
8812
+ const _hoisted_5$4 = {
8813
+ key: 1,
8814
+ class: "rj-option-caret is-leaf"
8815
+ };
8816
+ const _hoisted_6$4 = ["checked", "onChange"];
8817
+ const _hoisted_7$3 = { class: "rj-option-label" };
8818
+ const _hoisted_8$3 = {
8819
+ key: 0,
8820
+ class: "rj-opt-empty"
8821
+ };
8822
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8823
+ ...{ name: "RjOptionSelect" },
8824
+ __name: "RjOptionSelect",
8825
+ props: {
8826
+ options: { default: () => [] },
8827
+ modelValue: { default: void 0 },
8828
+ multiple: { type: Boolean, default: false },
8829
+ placeholder: { default: "" }
8830
+ },
8831
+ emits: ["update:modelValue"],
8832
+ setup(__props, { emit: __emit }) {
8833
+ const props = __props;
8834
+ const emit = __emit;
8835
+ const t = inject(RJ_LOCALE_KEY, defaultTranslate);
8836
+ const rootRef = ref();
8837
+ const searchRef = ref();
8838
+ const listRef = ref();
8839
+ const open = ref(false);
8840
+ const query = ref("");
8841
+ const activeIdx = ref(-1);
8842
+ const expanded = ref(new Set(collectParentKeys(props.options)));
8843
+ watch(
8844
+ () => props.options,
8845
+ (opts) => {
8846
+ expanded.value = collectParentKeys(opts);
8847
+ }
8848
+ );
8849
+ const filteredTree = computed(() => filterOptionTree(props.options, query.value));
8850
+ const visibleRows = computed(() => {
8851
+ const q = (query.value || "").trim();
8852
+ const tree = filteredTree.value;
8853
+ const exp = q ? collectParentKeys(tree) : expanded.value;
8854
+ return flattenTreeForRender(tree, exp);
8855
+ });
8856
+ const flat = computed(() => flattenOptions(props.options));
8857
+ function labelOf(value) {
8858
+ const hit = flat.value.find((o) => String(o.value) === String(value));
8859
+ return hit ? String(hit.label) : String(value ?? "");
8860
+ }
8861
+ const chosen = computed(
8862
+ () => props.multiple ? Array.isArray(props.modelValue) ? props.modelValue : [] : props.modelValue == null || props.modelValue === "" ? [] : [props.modelValue]
8863
+ );
8864
+ const displayText = computed(() => {
8865
+ if (!chosen.value.length)
8866
+ return "";
8867
+ if (props.multiple)
8868
+ return chosen.value.map((v) => labelOf(v)).join("、");
8869
+ return labelOf(chosen.value[0]);
8870
+ });
8871
+ function isChosen(value) {
8872
+ return chosen.value.some((v) => String(v) === String(value));
8873
+ }
8874
+ function toggle() {
8875
+ if (open.value)
8876
+ close();
8877
+ else
8878
+ openList();
8879
+ }
8880
+ function openList() {
8881
+ open.value = true;
8882
+ query.value = "";
8883
+ activeIdx.value = visibleRows.value.length ? 0 : -1;
8884
+ nextTick(() => {
8885
+ var _a;
8886
+ return (_a = searchRef.value) == null ? void 0 : _a.focus();
8887
+ });
8888
+ document.addEventListener("mousedown", onDocDown);
8889
+ }
8890
+ function close() {
8891
+ open.value = false;
8892
+ document.removeEventListener("mousedown", onDocDown);
8893
+ }
8894
+ function onDocDown(e) {
8895
+ if (rootRef.value && !rootRef.value.contains(e.target))
8896
+ close();
8897
+ }
8898
+ function toggleExpand(opt) {
8899
+ const k = String(opt.value);
8900
+ const next = new Set(expanded.value);
8901
+ if (next.has(k))
8902
+ next.delete(k);
8903
+ else
8904
+ next.add(k);
8905
+ expanded.value = next;
8906
+ }
8907
+ function move(dir) {
8908
+ const len = visibleRows.value.length;
8909
+ if (!len)
8910
+ return;
8911
+ activeIdx.value = Math.min(len - 1, Math.max(0, activeIdx.value + dir));
8912
+ nextTick(() => {
8913
+ var _a, _b, _c;
8914
+ const el = (_b = (_a = listRef.value) == null ? void 0 : _a.children) == null ? void 0 : _b[activeIdx.value];
8915
+ (_c = el == null ? void 0 : el.scrollIntoView) == null ? void 0 : _c.call(el, { block: "nearest" });
8916
+ });
8917
+ }
8918
+ function emitValue(v) {
8919
+ emit("update:modelValue", v);
8920
+ }
8921
+ function pickSingle(opt) {
8922
+ emitValue(opt.value);
8923
+ close();
8924
+ }
8925
+ function toggleValue(opt) {
8926
+ const cur = chosen.value.slice();
8927
+ const i = cur.findIndex((v) => String(v) === String(opt.value));
8928
+ if (i >= 0)
8929
+ cur.splice(i, 1);
8930
+ else
8931
+ cur.push(opt.value);
8932
+ emitValue(cur);
8933
+ }
8934
+ function onRowClick(row) {
8935
+ if (props.multiple)
8936
+ toggleValue(row.option);
8937
+ else
8938
+ pickSingle(row.option);
8939
+ }
8940
+ function confirmActive() {
8941
+ const row = visibleRows.value[activeIdx.value];
8942
+ if (row)
8943
+ onRowClick(row);
8944
+ }
8945
+ onBeforeUnmount(() => document.removeEventListener("mousedown", onDocDown));
8946
+ return (_ctx, _cache) => {
8947
+ return openBlock(), createElementBlock("div", {
8948
+ ref_key: "rootRef",
8949
+ ref: rootRef,
8950
+ class: normalizeClass(["rj-opt-select", { "is-open": open.value }])
8951
+ }, [
8952
+ createElementVNode("button", {
8953
+ type: "button",
8954
+ class: normalizeClass(["rj-opt-trigger", { "is-placeholder": !displayText.value }]),
8955
+ onClick: _cache[0] || (_cache[0] = ($event) => toggle())
8956
+ }, [
8957
+ createElementVNode("span", _hoisted_1$5, toDisplayString(displayText.value || _ctx.placeholder), 1),
8958
+ _cache[8] || (_cache[8] = createElementVNode("span", {
8959
+ class: "rj-opt-arrow",
8960
+ "aria-hidden": "true"
8961
+ }, "▾", -1))
8962
+ ], 2),
8963
+ withDirectives(createElementVNode("div", {
8964
+ class: "rj-opt-panel",
8965
+ onMousedown: _cache[7] || (_cache[7] = withModifiers(() => {
8966
+ }, ["stop"]))
8967
+ }, [
8968
+ withDirectives(createElementVNode("input", {
8969
+ ref_key: "searchRef",
8970
+ ref: searchRef,
8971
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => query.value = $event),
8972
+ class: "rj-opt-search",
8973
+ type: "text",
8974
+ placeholder: unref(t)("searchOptions"),
8975
+ onKeydown: [
8976
+ _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => move(1), ["prevent"]), ["down"])),
8977
+ _cache[3] || (_cache[3] = withKeys(withModifiers(($event) => move(-1), ["prevent"]), ["up"])),
8978
+ _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => confirmActive(), ["prevent"]), ["enter"])),
8979
+ _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => close(), ["prevent"]), ["esc"]))
8980
+ ]
8981
+ }, null, 40, _hoisted_2$5), [
8982
+ [vModelText, query.value]
8983
+ ]),
8984
+ createElementVNode("div", {
8985
+ ref_key: "listRef",
8986
+ ref: listRef,
8987
+ class: "rj-opt-list rj-option-tree"
8988
+ }, [
8989
+ (openBlock(true), createElementBlock(Fragment, null, renderList(visibleRows.value, (row, i) => {
8990
+ return openBlock(), createElementBlock("div", {
8991
+ key: String(row.option.value) + ":" + i,
8992
+ class: normalizeClass(["rj-opt-row", { "is-active": i === activeIdx.value, "is-selected": isChosen(row.option.value) }]),
8993
+ style: normalizeStyle({ paddingLeft: 8 + row.depth * 16 + "px" }),
8994
+ onMouseenter: ($event) => activeIdx.value = i,
8995
+ onClick: ($event) => onRowClick(row)
8996
+ }, [
8997
+ row.hasChildren ? (openBlock(), createElementBlock("span", {
8998
+ key: 0,
8999
+ class: "rj-option-caret",
9000
+ onClick: withModifiers(($event) => toggleExpand(row.option), ["stop"])
9001
+ }, toDisplayString(row.expanded ? "▾" : "▸"), 9, _hoisted_4$4)) : (openBlock(), createElementBlock("span", _hoisted_5$4)),
9002
+ _ctx.multiple ? (openBlock(), createElementBlock("input", {
9003
+ key: 2,
9004
+ type: "checkbox",
9005
+ class: "rj-opt-check",
9006
+ checked: isChosen(row.option.value),
9007
+ onClick: _cache[6] || (_cache[6] = withModifiers(() => {
9008
+ }, ["stop"])),
9009
+ onChange: ($event) => toggleValue(row.option)
9010
+ }, null, 40, _hoisted_6$4)) : createCommentVNode("", true),
9011
+ createElementVNode("span", _hoisted_7$3, toDisplayString(row.option.label), 1)
9012
+ ], 46, _hoisted_3$5);
9013
+ }), 128)),
9014
+ !visibleRows.value.length ? (openBlock(), createElementBlock("div", _hoisted_8$3, toDisplayString(unref(t)("noOptions")), 1)) : createCommentVNode("", true)
9015
+ ], 512)
9016
+ ], 544), [
9017
+ [vShow, open.value]
9018
+ ])
9019
+ ], 2);
9020
+ };
9021
+ }
9022
+ });
8731
9023
  const _hoisted_1$4 = { class: "rj-query-bar" };
8732
9024
  const _hoisted_2$4 = { class: "rj-query-label" };
8733
9025
  const _hoisted_3$4 = ["value", "onChange"];
8734
9026
  const _hoisted_4$3 = ["value"];
8735
- const _hoisted_5$3 = ["value", "onChange"];
8736
- const _hoisted_6$3 = ["value"];
8737
- const _hoisted_7$2 = ["value", "onChange"];
8738
- const _hoisted_8$2 = { value: void 0 };
8739
- const _hoisted_9$2 = ["value"];
8740
- const _hoisted_10$2 = ["value", "placeholder", "onInput"];
8741
- const _hoisted_11$2 = ["value", "placeholder", "onInput"];
8742
- const _hoisted_12$2 = ["onClick"];
8743
- const _hoisted_13$2 = {
9027
+ const _hoisted_5$3 = ["value", "placeholder", "onInput"];
9028
+ const _hoisted_6$3 = ["value", "placeholder", "onInput"];
9029
+ const _hoisted_7$2 = ["onClick"];
9030
+ const _hoisted_8$2 = {
8744
9031
  value: "",
8745
9032
  disabled: ""
8746
9033
  };
8747
- const _hoisted_14$2 = ["value"];
8748
- const _hoisted_15$2 = {
9034
+ const _hoisted_9$2 = ["value"];
9035
+ const _hoisted_10$2 = {
8749
9036
  key: 0,
8750
9037
  value: "",
8751
9038
  disabled: ""
8752
9039
  };
8753
- const _hoisted_16$2 = { class: "rj-query-actions" };
8754
- const _hoisted_17$2 = { class: "rj-query-core" };
8755
- const _hoisted_18$2 = {
9040
+ const _hoisted_11$2 = { class: "rj-query-actions" };
9041
+ const _hoisted_12$2 = { class: "rj-query-core" };
9042
+ const _hoisted_13$2 = {
8756
9043
  key: 0,
8757
9044
  class: "rj-query-sep",
8758
9045
  "aria-hidden": "true"
8759
9046
  };
8760
- const _hoisted_19$1 = {
9047
+ const _hoisted_14$2 = {
8761
9048
  key: 1,
8762
9049
  class: "rj-query-action-btns"
8763
9050
  };
8764
- const _hoisted_20$1 = ["disabled", "onClick"];
8765
- const _hoisted_21$1 = {
9051
+ const _hoisted_15$2 = ["disabled", "onClick"];
9052
+ const _hoisted_16$2 = {
8766
9053
  key: 2,
8767
9054
  class: "rj-query-slot-btns"
8768
9055
  };
@@ -8872,12 +9159,19 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8872
9159
  c[key] = readVal(ev, numeric);
8873
9160
  emitList(list.value.slice());
8874
9161
  }
8875
- function setIn(c, ev) {
8876
- const sel = ev.target;
8877
- const vals = Array.from(sel.selectedOptions).map(
8878
- (o) => kindOf(c.field) === "number" ? Number(o.value) : o.value
8879
- );
8880
- c.value = vals;
9162
+ function labelOf(field, value) {
9163
+ const hit = flattenOptions(optionsOf(field)).find((o) => String(o.value) === String(value));
9164
+ return hit ? String(hit.label) : String(value ?? "");
9165
+ }
9166
+ function setSingle(c, v) {
9167
+ c.value = v;
9168
+ c.valueText = v == null || v === "" ? "" : labelOf(c.field, v);
9169
+ emitList(list.value.slice());
9170
+ }
9171
+ function setMulti(c, v) {
9172
+ const arr = Array.isArray(v) ? v : [];
9173
+ c.value = arr;
9174
+ c.valueText = arr.map((x) => labelOf(c.field, x)).join("、");
8881
9175
  emitList(list.value.slice());
8882
9176
  }
8883
9177
  function onOp(c, ev) {
@@ -8931,33 +9225,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8931
9225
  placeholder: unref(t)("queryTo"),
8932
9226
  onInput: ($event) => setVal(c, "value2", $event)
8933
9227
  }, null, 40, ["type", "value", "placeholder", "onInput"]))
8934
- ], 64)) : c.operator === "in" ? (openBlock(), createElementBlock("select", {
9228
+ ], 64)) : c.operator === "in" ? (openBlock(), createBlock(_sfc_main$5, {
8935
9229
  key: 1,
8936
- class: "rj-query-val",
9230
+ class: "rj-query-select",
8937
9231
  multiple: "",
8938
- value: Array.isArray(c.value) ? c.value : [],
8939
- onChange: ($event) => setIn(c, $event)
8940
- }, [
8941
- (openBlock(true), createElementBlock(Fragment, null, renderList(optionsOf(c.field), (o) => {
8942
- return openBlock(), createElementBlock("option", {
8943
- key: String(o.value),
8944
- value: o.value
8945
- }, toDisplayString(o.label), 9, _hoisted_6$3);
8946
- }), 128))
8947
- ], 40, _hoisted_5$3)) : kindOf(c.field) === "select" ? (openBlock(), createElementBlock("select", {
9232
+ options: optionsOf(c.field),
9233
+ "model-value": Array.isArray(c.value) ? c.value : [],
9234
+ placeholder: unref(t)("querySelect"),
9235
+ "onUpdate:modelValue": ($event) => setMulti(c, $event)
9236
+ }, null, 8, ["options", "model-value", "placeholder", "onUpdate:modelValue"])) : kindOf(c.field) === "select" ? (openBlock(), createBlock(_sfc_main$5, {
8948
9237
  key: 2,
8949
- class: "rj-query-val",
8950
- value: c.value,
8951
- onChange: ($event) => setVal(c, "value", $event, true)
8952
- }, [
8953
- createElementVNode("option", _hoisted_8$2, toDisplayString(unref(t)("querySelect")), 1),
8954
- (openBlock(true), createElementBlock(Fragment, null, renderList(optionsOf(c.field), (o) => {
8955
- return openBlock(), createElementBlock("option", {
8956
- key: String(o.value),
8957
- value: o.value
8958
- }, toDisplayString(o.label), 9, _hoisted_9$2);
8959
- }), 128))
8960
- ], 40, _hoisted_7$2)) : kindOf(c.field) === "number" ? (openBlock(), createElementBlock("input", {
9238
+ class: "rj-query-select",
9239
+ options: optionsOf(c.field),
9240
+ "model-value": c.value,
9241
+ placeholder: unref(t)("querySelect"),
9242
+ "onUpdate:modelValue": ($event) => setSingle(c, $event)
9243
+ }, null, 8, ["options", "model-value", "placeholder", "onUpdate:modelValue"])) : kindOf(c.field) === "number" ? (openBlock(), createElementBlock("input", {
8961
9244
  key: 3,
8962
9245
  class: "rj-query-val",
8963
9246
  type: "number",
@@ -8965,7 +9248,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8965
9248
  placeholder: unref(t)("queryInput"),
8966
9249
  onInput: ($event) => setVal(c, "value", $event),
8967
9250
  onKeyup: _cache[0] || (_cache[0] = withKeys(($event) => emit("search"), ["enter"]))
8968
- }, null, 40, _hoisted_10$2)) : (openBlock(), createElementBlock("input", {
9251
+ }, null, 40, _hoisted_5$3)) : (openBlock(), createElementBlock("input", {
8969
9252
  key: 4,
8970
9253
  class: "rj-query-val",
8971
9254
  type: "text",
@@ -8973,12 +9256,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8973
9256
  placeholder: unref(t)("queryInput"),
8974
9257
  onInput: ($event) => setVal(c, "value", $event),
8975
9258
  onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => emit("search"), ["enter"]))
8976
- }, null, 40, _hoisted_11$2)),
9259
+ }, null, 40, _hoisted_6$3)),
8977
9260
  createElementVNode("span", {
8978
9261
  class: "rj-query-del",
8979
9262
  title: "移除",
8980
9263
  onClick: ($event) => remove(i)
8981
- }, "✕", 8, _hoisted_12$2)
9264
+ }, "✕", 8, _hoisted_7$2)
8982
9265
  ]);
8983
9266
  }), 128)),
8984
9267
  createElementVNode("select", {
@@ -8986,17 +9269,17 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8986
9269
  value: "",
8987
9270
  onChange: _cache[2] || (_cache[2] = ($event) => add($event))
8988
9271
  }, [
8989
- createElementVNode("option", _hoisted_13$2, "+ " + toDisplayString(unref(t)("queryAddField")), 1),
9272
+ createElementVNode("option", _hoisted_8$2, "+ " + toDisplayString(unref(t)("queryAddField")), 1),
8990
9273
  (openBlock(true), createElementBlock(Fragment, null, renderList(available.value, (f) => {
8991
9274
  return openBlock(), createElementBlock("option", {
8992
9275
  key: f.field,
8993
9276
  value: f.field
8994
- }, toDisplayString(f.title) + "(" + toDisplayString(kindText(f.kind)) + ") ", 9, _hoisted_14$2);
9277
+ }, toDisplayString(f.title) + "(" + toDisplayString(kindText(f.kind)) + ") ", 9, _hoisted_9$2);
8995
9278
  }), 128)),
8996
- !available.value.length ? (openBlock(), createElementBlock("option", _hoisted_15$2, toDisplayString(unref(t)("queryAllAdded")), 1)) : createCommentVNode("", true)
9279
+ !available.value.length ? (openBlock(), createElementBlock("option", _hoisted_10$2, toDisplayString(unref(t)("queryAllAdded")), 1)) : createCommentVNode("", true)
8997
9280
  ], 32),
8998
- createElementVNode("span", _hoisted_16$2, [
8999
- createElementVNode("span", _hoisted_17$2, [
9281
+ createElementVNode("span", _hoisted_11$2, [
9282
+ createElementVNode("span", _hoisted_12$2, [
9000
9283
  createElementVNode("button", {
9001
9284
  class: "rj-btn rj-btn-primary",
9002
9285
  onClick: _cache[3] || (_cache[3] = ($event) => emit("search"))
@@ -9006,8 +9289,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9006
9289
  onClick: clearAll
9007
9290
  }, toDisplayString(unref(t)("queryReset")), 1)
9008
9291
  ]),
9009
- hasActions.value ? (openBlock(), createElementBlock("span", _hoisted_18$2)) : createCommentVNode("", true),
9010
- actionList.value.length ? (openBlock(), createElementBlock("span", _hoisted_19$1, [
9292
+ hasActions.value ? (openBlock(), createElementBlock("span", _hoisted_13$2)) : createCommentVNode("", true),
9293
+ actionList.value.length ? (openBlock(), createElementBlock("span", _hoisted_14$2, [
9011
9294
  (openBlock(true), createElementBlock(Fragment, null, renderList(actionList.value, (a, i) => {
9012
9295
  return openBlock(), createElementBlock("button", {
9013
9296
  key: i,
@@ -9019,10 +9302,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9019
9302
  createTextVNode(toDisplayString(a.icon), 1)
9020
9303
  ], 64)) : createCommentVNode("", true),
9021
9304
  createTextVNode(toDisplayString(a.name), 1)
9022
- ], 10, _hoisted_20$1);
9305
+ ], 10, _hoisted_15$2);
9023
9306
  }), 128))
9024
9307
  ])) : createCommentVNode("", true),
9025
- _ctx.$slots.actions ? (openBlock(), createElementBlock("span", _hoisted_21$1, [
9308
+ _ctx.$slots.actions ? (openBlock(), createElementBlock("span", _hoisted_16$2, [
9026
9309
  renderSlot(_ctx.$slots, "actions", { rows: selRows.value })
9027
9310
  ])) : createCommentVNode("", true)
9028
9311
  ])
@@ -9880,7 +10163,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9880
10163
  if (!list || !list.length)
9881
10164
  continue;
9882
10165
  const labelMap = /* @__PURE__ */ new Map();
9883
- for (const o of list)
10166
+ for (const o of flattenOptions(list))
9884
10167
  labelMap.set(String(o.value), String(o.label));
9885
10168
  m.set(colIdOf(col), { list, labelMap });
9886
10169
  }
@@ -10789,7 +11072,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10789
11072
  if (type === "select") {
10790
11073
  const optList = colOptionList(col);
10791
11074
  if (optList && optList.length) {
10792
- unique = optList.map((o) => String(o.value));
11075
+ unique = flattenOptions(optList).map((o) => String(o.value));
10793
11076
  } else {
10794
11077
  unique = Array.from(
10795
11078
  new Set(
@@ -12363,7 +12646,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12363
12646
  if (type === "select") {
12364
12647
  const optList = colOptionList(col);
12365
12648
  if (optList && optList.length) {
12366
- unique = optList.map((o) => String(o.value));
12649
+ unique = flattenOptions(optList).map((o) => String(o.value));
12367
12650
  } else {
12368
12651
  unique = Array.from(
12369
12652
  new Set(
@@ -12993,7 +13276,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12993
13276
  strictOptions = true;
12994
13277
  } else if (resolvedOpts && resolvedOpts.length) {
12995
13278
  filterType = "select";
12996
- options = resolvedOpts.map((o) => String(o.label ?? o.value));
13279
+ options = flattenOptions(resolvedOpts).map((o) => String(o.label ?? o.value));
12997
13280
  strictOptions = true;
12998
13281
  } else if (filterType === "select") {
12999
13282
  const set = /* @__PURE__ */ new Set();
@@ -13461,7 +13744,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13461
13744
  selection.size ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(t("selRows", { n: selection.size })), 1)) : createCommentVNode("", true)
13462
13745
  ]),
13463
13746
  createElementVNode("div", _hoisted_5, [
13464
- pagerAtTop.value ? (openBlock(), createBlock(_sfc_main$6, {
13747
+ pagerAtTop.value ? (openBlock(), createBlock(_sfc_main$7, {
13465
13748
  key: 0,
13466
13749
  class: "rj-pager-inline",
13467
13750
  variant: "top",
@@ -13616,7 +13899,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13616
13899
  class: "rj-header",
13617
13900
  style: normalizeStyle({ height: headerTotalHeight.value + frowH.value + "px" })
13618
13901
  }, [
13619
- createVNode(_sfc_main$h, {
13902
+ createVNode(_sfc_main$i, {
13620
13903
  "level-cells": levelCells.value,
13621
13904
  "total-width": layout.value.totalWidth,
13622
13905
  "scroll-left": scrollLeft.value,
@@ -13646,7 +13929,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13646
13929
  style: normalizeStyle(headerClipStyle("left")),
13647
13930
  "aria-hidden": "true"
13648
13931
  }, [
13649
- createVNode(_sfc_main$h, {
13932
+ createVNode(_sfc_main$i, {
13650
13933
  "level-cells": levelCells.value,
13651
13934
  "total-width": layout.value.totalWidth,
13652
13935
  "scroll-left": 0,
@@ -13675,7 +13958,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13675
13958
  style: normalizeStyle(headerClipStyle("right")),
13676
13959
  "aria-hidden": "true"
13677
13960
  }, [
13678
- createVNode(_sfc_main$h, {
13961
+ createVNode(_sfc_main$i, {
13679
13962
  "level-cells": levelCells.value,
13680
13963
  "total-width": layout.value.totalWidth,
13681
13964
  "scroll-left": Math.max(layout.value.totalWidth - layout.value.rightWidth, 0),
@@ -13738,7 +14021,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13738
14021
  [vShow, isHoverRow(vr.row)]
13739
14022
  ]),
13740
14023
  vr.row.type === "row" || vr.row.type === "group" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(cellsOf(vr.row, vr.i, windowLeaves.value), (cell) => {
13741
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14024
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13742
14025
  key: cell.leaf.colId,
13743
14026
  ref_for: true
13744
14027
  }, cellProps(cell, vr), {
@@ -13826,7 +14109,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13826
14109
  [vShow, isHoverRow(vr.row)]
13827
14110
  ]),
13828
14111
  vr.row.type === "row" || vr.row.type === "group" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(cellsOf(vr.row, vr.i, layout.value.leftLeaves), (cell) => {
13829
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14112
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13830
14113
  key: cell.leaf.colId,
13831
14114
  ref_for: true
13832
14115
  }, cellProps(cell, vr, "left"), {
@@ -13878,7 +14161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13878
14161
  [vShow, isHoverRow(vr.row)]
13879
14162
  ]),
13880
14163
  vr.row.type === "row" || vr.row.type === "group" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(cellsOf(vr.row, vr.i, layout.value.rightLeaves), (cell) => {
13881
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14164
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13882
14165
  key: cell.leaf.colId,
13883
14166
  ref_for: true
13884
14167
  }, cellProps(cell, vr, "right"), {
@@ -13958,7 +14241,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13958
14241
  })
13959
14242
  }, [
13960
14243
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCells(prow), (cell) => {
13961
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14244
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13962
14245
  key: cell.leaf.colId,
13963
14246
  ref_for: true
13964
14247
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -13981,7 +14264,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13981
14264
  })
13982
14265
  }, [
13983
14266
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCellsSide(prow, side.leaves), (cell) => {
13984
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14267
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13985
14268
  key: cell.leaf.colId,
13986
14269
  ref_for: true
13987
14270
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14003,7 +14286,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14003
14286
  })
14004
14287
  }, [
14005
14288
  (openBlock(true), createElementBlock(Fragment, null, renderList(gridCols.value, (leaf) => {
14006
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14289
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14007
14290
  key: leaf.colId,
14008
14291
  ref_for: true
14009
14292
  }, pinRowCellProps(leaf, unref(rowModel).summaryRow.value, true), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14026,7 +14309,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14026
14309
  })
14027
14310
  }, [
14028
14311
  (openBlock(true), createElementBlock(Fragment, null, renderList(side.leaves, (leaf) => {
14029
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14312
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14030
14313
  key: leaf.colId,
14031
14314
  ref_for: true
14032
14315
  }, pinRowCellProps(leaf, unref(rowModel).summaryRow.value, true), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14051,7 +14334,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14051
14334
  })
14052
14335
  }, [
14053
14336
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCells(prow), (cell) => {
14054
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14337
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14055
14338
  key: cell.leaf.colId,
14056
14339
  ref_for: true
14057
14340
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14074,7 +14357,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14074
14357
  })
14075
14358
  }, [
14076
14359
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCellsSide(prow, side.leaves), (cell) => {
14077
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14360
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14078
14361
  key: cell.leaf.colId,
14079
14362
  ref_for: true
14080
14363
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14086,7 +14369,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14086
14369
  }), 128)),
14087
14370
  _ctx.dataMode === "infinite" && unref(rowModel).loadingMore.value ? (openBlock(), createElementBlock("div", _hoisted_38, toDisplayString(t("loadMore")), 1)) : createCommentVNode("", true)
14088
14371
  ], 8, _hoisted_21),
14089
- _ctx.toolPanel && panelOpen.value ? (openBlock(), createBlock(_sfc_main$7, {
14372
+ _ctx.toolPanel && panelOpen.value ? (openBlock(), createBlock(_sfc_main$8, {
14090
14373
  key: 0,
14091
14374
  "leaf-list": panelLeaves.value,
14092
14375
  "pivot-leaf-list": panelCandidateLeaves.value,
@@ -14111,7 +14394,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14111
14394
  }, null, 8, ["leaf-list", "pivot-leaf-list", "pivot-value-default", "grouped-fields", "pivot", "filters", "quick-filter"])) : createCommentVNode("", true)
14112
14395
  ]),
14113
14396
  pagerAtBottom.value ? (openBlock(), createElementBlock("div", _hoisted_39, [
14114
- createVNode(_sfc_main$6, {
14397
+ createVNode(_sfc_main$7, {
14115
14398
  page: pagerPage.value,
14116
14399
  "onUpdate:page": _cache[41] || (_cache[41] = ($event) => pagerPage.value = $event),
14117
14400
  "page-size": pagerSize.value,
@@ -14147,7 +14430,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14147
14430
  rangeStats.value.perCol.length > 6 ? (openBlock(), createElementBlock("span", _hoisted_48, toDisplayString(t("moreCols", { n: rangeStats.value.perCol.length - 6 })), 1)) : createCommentVNode("", true)
14148
14431
  ])) : createCommentVNode("", true)
14149
14432
  ])) : createCommentVNode("", true),
14150
- filterMenu.value ? (openBlock(), createBlock(_sfc_main$c, {
14433
+ filterMenu.value ? (openBlock(), createBlock(_sfc_main$d, {
14151
14434
  key: 6,
14152
14435
  column: filterMenu.value.col,
14153
14436
  "filter-type": filterMenu.value.type,
@@ -14159,7 +14442,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14159
14442
  onClear: clearFilterMenu,
14160
14443
  onAdvanced: openAdvancedFilter
14161
14444
  }, null, 8, ["column", "filter-type", "model", "x", "y", "unique-values"])) : createCommentVNode("", true),
14162
- advDialog.value ? (openBlock(), createBlock(_sfc_main$a, {
14445
+ advDialog.value ? (openBlock(), createBlock(_sfc_main$b, {
14163
14446
  key: 7,
14164
14447
  model: unref(rowModel).advancedFilter.value,
14165
14448
  columns: advFilterColumns.value,
@@ -14169,7 +14452,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14169
14452
  onClear: clearAdvancedFilter,
14170
14453
  onClose: _cache[43] || (_cache[43] = ($event) => advDialog.value = null)
14171
14454
  }, null, 8, ["model", "columns", "x", "y"])) : createCommentVNode("", true),
14172
- menu.value ? (openBlock(), createBlock(_sfc_main$9, {
14455
+ menu.value ? (openBlock(), createBlock(_sfc_main$a, {
14173
14456
  key: 8,
14174
14457
  items: menu.value.items,
14175
14458
  x: menu.value.x,
@@ -14177,7 +14460,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14177
14460
  onSelect: onMenuSelect,
14178
14461
  onReposition: onMenuReposition
14179
14462
  }, null, 8, ["items", "x", "y"])) : createCommentVNode("", true),
14180
- colMenu.value ? (openBlock(), createBlock(_sfc_main$8, {
14463
+ colMenu.value ? (openBlock(), createBlock(_sfc_main$9, {
14181
14464
  key: 9,
14182
14465
  col: colMenu.value.col,
14183
14466
  "col-id": colMenu.value.colId,
@@ -14205,7 +14488,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14205
14488
  onToggleColPin: colMenuToggleColPin,
14206
14489
  onColDrop
14207
14490
  }, null, 8, ["col", "col-id", "x", "y", "can-sort", "can-filter", "can-group", "sort-dir", "pinned", "filter-type", "filter-model", "unique-values", "columns"])) : createCommentVNode("", true),
14208
- chartOpen.value ? (openBlock(), createBlock(_sfc_main$5, {
14491
+ chartOpen.value ? (openBlock(), createBlock(_sfc_main$6, {
14209
14492
  key: 10,
14210
14493
  columns: pipelineCols.value,
14211
14494
  rows: chartRows.value,