rj-grid 0.2.0 → 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)
@@ -773,6 +758,23 @@ function deriveQueryFields(columns, override) {
773
758
  }
774
759
  return out;
775
760
  }
761
+ function withCarrierOptions(fields, carrier) {
762
+ if (!fields.length || !carrier || !carrier.size)
763
+ return fields;
764
+ return fields.map((f) => {
765
+ if (f.options && f.options.length)
766
+ return f;
767
+ const hit = carrier.get(f.field);
768
+ if (!hit || !hit.list || !hit.list.length)
769
+ return f;
770
+ return {
771
+ ...f,
772
+ kind: "select",
773
+ // 直接透传载体列表(可能为树,带 children),供查询栏下拉按层级渲染 + 搜索
774
+ options: hit.list
775
+ };
776
+ });
777
+ }
776
778
  function queryOpsOfKind(kind) {
777
779
  if (kind === "number")
778
780
  return ["eq", "gt", "gte", "lt", "lte", "between"];
@@ -4536,32 +4538,88 @@ function pickLabel(item, labelKey, value) {
4536
4538
  return String(value);
4537
4539
  }
4538
4540
  function normalizeOptions(raw, shape = {}) {
4539
- const out = [];
4540
4541
  if (!Array.isArray(raw))
4541
- return out;
4542
+ return [];
4542
4543
  const ck = shape.childrenKey ?? "children";
4543
4544
  const walk = (arr) => {
4545
+ const res = [];
4544
4546
  for (const it of arr) {
4545
4547
  if (it == null || typeof it !== "object") {
4546
4548
  if (it !== null && it !== void 0)
4547
- out.push({ label: String(it), value: it });
4549
+ res.push({ label: String(it), value: it });
4548
4550
  continue;
4549
4551
  }
4550
4552
  const item = it;
4553
+ let opt;
4551
4554
  if (shape.map) {
4552
- out.push(shape.map(item));
4555
+ opt = shape.map(item);
4553
4556
  } else {
4554
4557
  const value = pickValue(item, shape.valueKey);
4555
4558
  const label = pickLabel(item, shape.labelKey, value);
4556
- out.push({ label, value });
4559
+ opt = { label, value };
4557
4560
  }
4558
- if (Array.isArray(item[ck]))
4559
- 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);
4560
4565
  }
4566
+ return res;
4561
4567
  };
4562
- 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 || []);
4563
4580
  return out;
4564
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
+ }
4565
4623
  async function resolveOptions(source, dict, loaders) {
4566
4624
  var _a, _b, _c;
4567
4625
  try {
@@ -5997,14 +6055,14 @@ defineComponent({
5997
6055
  };
5998
6056
  }
5999
6057
  });
6000
- const _hoisted_1$h = ["aria-sort", "draggable", "onClick", "onDragstart", "onDragover", "onDrop"];
6001
- const _hoisted_2$h = ["title"];
6002
- const _hoisted_3$e = { class: "rj-hcell-icons" };
6003
- const _hoisted_4$d = ["title", "onClick"];
6004
- const _hoisted_5$d = ["title", "onClick"];
6005
- const _hoisted_6$d = ["onMousedown", "onDblclick"];
6006
- const _hoisted_7$c = ["value", "placeholder", "onCompositionend", "onInput"];
6007
- 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({
6008
6066
  ...{ name: "RjHeader" },
6009
6067
  __name: "RjHeader",
6010
6068
  props: {
@@ -6207,8 +6265,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6207
6265
  }, null, 8, ["slots", "name", "params"])) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [
6208
6266
  createTextVNode(toDisplayString(cell.col.title || cell.colId), 1)
6209
6267
  ], 64))
6210
- ], 8, _hoisted_2$h),
6211
- createElementVNode("span", _hoisted_3$e, [
6268
+ ], 8, _hoisted_2$i),
6269
+ createElementVNode("span", _hoisted_3$f, [
6212
6270
  cellSortable(cell) ? (openBlock(), createElementBlock("span", {
6213
6271
  key: 0,
6214
6272
  class: normalizeClass(["rj-sort-icon", { "is-active": !!sortDir(cell) }])
@@ -6218,13 +6276,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6218
6276
  class: normalizeClass(["rj-filter-icon", { "is-active": filterActive(cell) }]),
6219
6277
  title: unref(t)("filter"),
6220
6278
  onClick: withModifiers(($event) => _ctx.$emit("open-filter", cell, $event), ["stop"])
6221
- }, toDisplayString(unref(icons).filter), 11, _hoisted_4$d)) : createCommentVNode("", true),
6279
+ }, toDisplayString(unref(icons).filter), 11, _hoisted_4$e)) : createCommentVNode("", true),
6222
6280
  !cell.isGroup && !cell.col.suppressMenu ? (openBlock(), createElementBlock("span", {
6223
6281
  key: 2,
6224
6282
  class: "rj-menu-btn",
6225
6283
  title: unref(t)("colMenu"),
6226
6284
  onClick: withModifiers(($event) => _ctx.$emit("header-menu", cell, $event), ["stop"])
6227
- }, toDisplayString(unref(icons).columnMenu), 9, _hoisted_5$d)) : createCommentVNode("", true)
6285
+ }, toDisplayString(unref(icons).columnMenu), 9, _hoisted_5$e)) : createCommentVNode("", true)
6228
6286
  ]),
6229
6287
  !cell.isGroup && _ctx.reorderable ? (openBlock(), createElementBlock("span", {
6230
6288
  key: 0,
@@ -6233,8 +6291,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6233
6291
  }, ["stop"])),
6234
6292
  onMousedown: withModifiers(($event) => startResize(cell, $event), ["stop", "prevent"]),
6235
6293
  onDblclick: withModifiers(($event) => autoWidth(cell), ["stop"])
6236
- }, null, 40, _hoisted_6$d)) : createCommentVNode("", true)
6237
- ], 46, _hoisted_1$h);
6294
+ }, null, 40, _hoisted_6$e)) : createCommentVNode("", true)
6295
+ ], 46, _hoisted_1$i);
6238
6296
  }), 128))
6239
6297
  ], 4);
6240
6298
  }), 128)),
@@ -6264,7 +6322,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6264
6322
  onCompositionstart: _cache[7] || (_cache[7] = ($event) => composing.value = true),
6265
6323
  onCompositionend: ($event) => onFloatCompositionEnd(leaf.colId, $event),
6266
6324
  onInput: ($event) => onFloatInputGuarded(leaf.colId, $event.target.value)
6267
- }, null, 40, _hoisted_7$c)) : createCommentVNode("", true)
6325
+ }, null, 40, _hoisted_7$d)) : createCommentVNode("", true)
6268
6326
  ], 4);
6269
6327
  }), 128))
6270
6328
  ], 4)) : createCommentVNode("", true)
@@ -6272,26 +6330,32 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6272
6330
  };
6273
6331
  }
6274
6332
  });
6275
- const _hoisted_1$g = {
6333
+ const _hoisted_1$h = {
6276
6334
  key: 1,
6277
6335
  class: "rj-editor-select"
6278
6336
  };
6279
- const _hoisted_2$g = ["placeholder", "aria-expanded"];
6280
- const _hoisted_3$d = ["onMouseenter", "onClick"];
6281
- 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 = {
6282
6346
  key: 0,
6283
6347
  class: "rj-editor-option",
6284
6348
  style: { "color": "#999" }
6285
6349
  };
6286
- const _hoisted_5$c = ["rows", "placeholder"];
6287
- const _hoisted_6$c = ["checked"];
6288
- const _hoisted_7$b = ["placeholder"];
6289
- const _hoisted_8$a = ["placeholder"];
6290
- 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 = {
6291
6355
  key: 7,
6292
6356
  class: "rj-editor-error"
6293
6357
  };
6294
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
6358
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6295
6359
  ...{ name: "RjEditor" },
6296
6360
  __name: "RjEditor",
6297
6361
  props: {
@@ -6356,11 +6420,32 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6356
6420
  return optionsAccessor.list(props.column) || [];
6357
6421
  return Array.isArray(o) ? o : [];
6358
6422
  });
6359
- const filteredOptions = computed(() => {
6360
- if (!isSelectLike.value)
6361
- return options.value;
6362
- 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);
6363
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
+ }
6364
6449
  const open = ref(false);
6365
6450
  const error = ref(null);
6366
6451
  const inputRef = ref();
@@ -6381,23 +6466,23 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6381
6466
  return;
6382
6467
  open.value = true;
6383
6468
  query.value = "";
6384
- const i = filteredOptions.value.findIndex((o) => o.value === model.value);
6385
- 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;
6386
6471
  scrollToActive();
6387
6472
  }
6388
6473
  function move(dir) {
6389
6474
  if (!open.value)
6390
6475
  return openList();
6391
- const len = filteredOptions.value.length;
6476
+ const len = visibleRows.value.length;
6392
6477
  if (!len)
6393
6478
  return;
6394
6479
  activeIdx.value = Math.min(len - 1, Math.max(0, activeIdx.value + dir));
6395
6480
  scrollToActive();
6396
6481
  }
6397
6482
  function confirmPick() {
6398
- const opt = filteredOptions.value[activeIdx.value];
6399
- if (open.value && opt)
6400
- pick(opt);
6483
+ const row = visibleRows.value[activeIdx.value];
6484
+ if (open.value && row)
6485
+ pick(row.option);
6401
6486
  else
6402
6487
  pickText();
6403
6488
  }
@@ -6408,12 +6493,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6408
6493
  commit(opt.value);
6409
6494
  }
6410
6495
  function pickText() {
6411
- const exact = options.value.find((o) => String(o.label) === text.value);
6496
+ const exact = flattenOptions(options.value).find((o) => String(o.label) === text.value);
6412
6497
  if (exact)
6413
6498
  return pick(exact);
6414
- const first = filteredOptions.value[0];
6499
+ const first = visibleRows.value[0];
6415
6500
  if (first && text.value.trim())
6416
- return pick(first);
6501
+ return pick(first.option);
6417
6502
  commit(text.value);
6418
6503
  }
6419
6504
  function onSelectBlur() {
@@ -6460,7 +6545,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6460
6545
  });
6461
6546
  watch(query, () => {
6462
6547
  if (isSelectLike.value && open.value)
6463
- activeIdx.value = filteredOptions.value.length ? 0 : -1;
6548
+ activeIdx.value = visibleRows.value.length ? 0 : -1;
6464
6549
  });
6465
6550
  return (_ctx, _cache) => {
6466
6551
  var _a;
@@ -6476,7 +6561,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6476
6561
  column: _ctx.column,
6477
6562
  onCommit: commit,
6478
6563
  onCancel: cancel
6479
- }, 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, [
6480
6565
  withDirectives(createElementVNode("input", {
6481
6566
  ref_key: "inputRef",
6482
6567
  ref: inputRef,
@@ -6494,25 +6579,33 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6494
6579
  _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => confirmPick(), ["prevent"]), ["enter"])),
6495
6580
  _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6496
6581
  ]
6497
- }, null, 40, _hoisted_2$g), [
6582
+ }, null, 40, _hoisted_2$h), [
6498
6583
  [vModelText, text.value]
6499
6584
  ]),
6500
6585
  withDirectives(createElementVNode("div", {
6501
6586
  ref_key: "listRef",
6502
6587
  ref: listRef,
6503
- class: "rj-editor-dropdown",
6588
+ class: "rj-editor-dropdown rj-option-tree",
6504
6589
  onMousedown: _cache[7] || (_cache[7] = withModifiers(() => {
6505
6590
  }, ["prevent"]))
6506
6591
  }, [
6507
- (openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (opt, i) => {
6592
+ (openBlock(true), createElementBlock(Fragment, null, renderList(visibleRows.value, (node, i) => {
6508
6593
  return openBlock(), createElementBlock("div", {
6509
- key: String(opt.value),
6510
- 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" }),
6511
6597
  onMouseenter: ($event) => activeIdx.value = i,
6512
- onClick: ($event) => pick(opt)
6513
- }, 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);
6514
6607
  }), 128)),
6515
- !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)
6516
6609
  ], 544), [
6517
6610
  [vShow, open.value]
6518
6611
  ])
@@ -6529,7 +6622,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6529
6622
  _cache[10] || (_cache[10] = withKeys(withModifiers(($event) => commit(text.value), ["ctrl", "prevent"]), ["enter"]))
6530
6623
  ],
6531
6624
  onBlur: _cache[11] || (_cache[11] = ($event) => commit(text.value))
6532
- }, null, 40, _hoisted_5$c)), [
6625
+ }, null, 40, _hoisted_8$b)), [
6533
6626
  [vModelText, text.value]
6534
6627
  ]) : editorType.value === "checkbox" ? (openBlock(), createElementBlock("input", {
6535
6628
  key: 3,
@@ -6538,7 +6631,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6538
6631
  type: "checkbox",
6539
6632
  checked: !!model.value,
6540
6633
  onChange: _cache[12] || (_cache[12] = ($event) => commit($event.target.checked))
6541
- }, 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", {
6542
6635
  key: 4,
6543
6636
  ref_key: "inputRef",
6544
6637
  ref: inputRef,
@@ -6562,7 +6655,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6562
6655
  _cache[18] || (_cache[18] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6563
6656
  ],
6564
6657
  onBlur: _cache[19] || (_cache[19] = ($event) => commit(text.value))
6565
- }), null, 16, _hoisted_7$b)), [
6658
+ }), null, 16, _hoisted_10$8)), [
6566
6659
  [vModelText, text.value]
6567
6660
  ]) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
6568
6661
  key: 6,
@@ -6577,20 +6670,20 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6577
6670
  _cache[22] || (_cache[22] = withKeys(withModifiers(($event) => cancel(), ["prevent"]), ["esc"]))
6578
6671
  ],
6579
6672
  onBlur: _cache[23] || (_cache[23] = ($event) => commit(text.value))
6580
- }), null, 16, _hoisted_8$a)), [
6673
+ }), null, 16, _hoisted_11$8)), [
6581
6674
  [vModelText, text.value]
6582
6675
  ]),
6583
- 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)
6584
6677
  ], 32);
6585
6678
  };
6586
6679
  }
6587
6680
  });
6588
- const _hoisted_1$f = ["src", "alt", "loading", "onClick"];
6589
- const _hoisted_2$f = {
6681
+ const _hoisted_1$g = ["src", "alt", "loading", "onClick"];
6682
+ const _hoisted_2$g = {
6590
6683
  key: 1,
6591
6684
  class: "rj-cell-inner rj-cell-img-fallback"
6592
6685
  };
6593
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
6686
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6594
6687
  ...{ name: "RjImgList" },
6595
6688
  __name: "RjImgList",
6596
6689
  props: {
@@ -6622,14 +6715,14 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6622
6715
  draggable: "false",
6623
6716
  onError: _cache[0] || (_cache[0] = ($event) => failed.value = true),
6624
6717
  onClick: withModifiers(($event) => _ctx.$emit("preview", u), ["stop"])
6625
- }, null, 46, _hoisted_1$f);
6626
- }), 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));
6627
6720
  };
6628
6721
  }
6629
6722
  });
6630
- const _hoisted_1$e = { class: "rj-sparkline" };
6631
- const _hoisted_2$e = ["width", "height"];
6632
- 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({
6633
6726
  ...{ name: "RjSparkline" },
6634
6727
  __name: "RjSparkline",
6635
6728
  props: {
@@ -6728,33 +6821,33 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6728
6821
  );
6729
6822
  onMounted(draw);
6730
6823
  return (_ctx, _cache) => {
6731
- return openBlock(), createElementBlock("span", _hoisted_1$e, [
6824
+ return openBlock(), createElementBlock("span", _hoisted_1$f, [
6732
6825
  createElementVNode("canvas", {
6733
6826
  ref_key: "cv",
6734
6827
  ref: cv,
6735
6828
  width: _ctx.w * unref(dpr),
6736
6829
  height: _ctx.h * unref(dpr),
6737
6830
  style: normalizeStyle(`width:${_ctx.w}px;height:${_ctx.h}px`)
6738
- }, null, 12, _hoisted_2$e)
6831
+ }, null, 12, _hoisted_2$f)
6739
6832
  ]);
6740
6833
  };
6741
6834
  }
6742
6835
  });
6743
- const _hoisted_1$d = ["data-r", "data-c", "role", "aria-colindex", "aria-selected", "title"];
6744
- const _hoisted_2$d = {
6836
+ const _hoisted_1$e = ["data-r", "data-c", "role", "aria-colindex", "aria-selected", "title"];
6837
+ const _hoisted_2$e = {
6745
6838
  key: 1,
6746
6839
  class: "rj-expand-icon",
6747
6840
  style: { "opacity": "0" }
6748
6841
  };
6749
- const _hoisted_3$c = { class: "rj-cell-inner" };
6750
- const _hoisted_4$b = { style: { "color": "var(--rj-text-secondary)", "margin-left": "6px" } };
6751
- 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 = {
6752
6845
  key: 2,
6753
6846
  style: { "width": "18px", "display": "inline-block", "flex-shrink": "0" }
6754
6847
  };
6755
- const _hoisted_6$b = ["innerHTML"];
6756
- const _hoisted_7$a = ["innerHTML"];
6757
- 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({
6758
6851
  ...{ name: "RjCell", inheritAttrs: false },
6759
6852
  __name: "RjCell",
6760
6853
  props: {
@@ -6970,7 +7063,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
6970
7063
  "aria-selected": _ctx.checked || void 0,
6971
7064
  title: tooltipText.value
6972
7065
  }, [
6973
- _ctx.editing ? (openBlock(), createBlock(_sfc_main$g, {
7066
+ _ctx.editing ? (openBlock(), createBlock(_sfc_main$h, {
6974
7067
  key: 0,
6975
7068
  column: _ctx.leaf.col,
6976
7069
  row: _ctx.drow.data,
@@ -7001,8 +7094,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7001
7094
  key: 0,
7002
7095
  class: "rj-expand-icon",
7003
7096
  onClick: _cache[4] || (_cache[4] = withModifiers(($event) => _ctx.$emit("toggle-expand", _ctx.drow.key), ["stop"]))
7004
- }, 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),
7005
- 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, [
7006
7099
  _ctx.drow.isFooter ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7007
7100
  createTextVNode(toDisplayString(unref(t)("subtotal")), 1)
7008
7101
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -7014,7 +7107,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7014
7107
  }, null, 8, ["slots", "name", "params"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
7015
7108
  createTextVNode(toDisplayString(groupLabel.value), 1)
7016
7109
  ], 64)),
7017
- createElementVNode("span", _hoisted_4$b, "(" + toDisplayString(_ctx.drow.data.__count) + ")", 1)
7110
+ createElementVNode("span", _hoisted_4$c, "(" + toDisplayString(_ctx.drow.data.__count) + ")", 1)
7018
7111
  ], 64))
7019
7112
  ])
7020
7113
  ], 64)) : _ctx.isAnchor ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
@@ -7030,13 +7123,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7030
7123
  key: 1,
7031
7124
  class: "rj-expand-icon",
7032
7125
  onClick: _cache[6] || (_cache[6] = withModifiers(($event) => _ctx.$emit("toggle-detail", _ctx.drow.key), ["stop"]))
7033
- }, toDisplayString(_ctx.detailOpen ? unref(icons).collapse : unref(icons).expand), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$b)),
7034
- 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", {
7035
7128
  key: 4,
7036
7129
  class: normalizeClass(["rj-cell-inner", { wrap: _ctx.leaf.col.wrapText }]),
7037
7130
  innerHTML: richContent.value
7038
- }, null, 10, _hoisted_6$b))
7039
- ], 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, {
7040
7133
  key: 6,
7041
7134
  data: sparkData.value,
7042
7135
  style: normalizeStyle(((_b = _ctx.leaf.col.sparkline) == null ? void 0 : _b.style) || "bar"),
@@ -7045,22 +7138,22 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7045
7138
  key: 7,
7046
7139
  class: normalizeClass(["rj-cell-inner", { wrap: _ctx.leaf.col.wrapText }]),
7047
7140
  innerHTML: richContent.value
7048
- }, null, 10, _hoisted_7$a))
7049
- ], 14, _hoisted_1$d);
7141
+ }, null, 10, _hoisted_7$b))
7142
+ ], 14, _hoisted_1$e);
7050
7143
  };
7051
7144
  }
7052
7145
  });
7053
- const _hoisted_1$c = {
7146
+ const _hoisted_1$d = {
7054
7147
  class: "rj-popup-row",
7055
7148
  style: { "justify-content": "space-between", "font-size": "12px", "margin-bottom": "4px" }
7056
7149
  };
7057
- const _hoisted_2$c = { class: "rj-check-item" };
7058
- const _hoisted_3$b = ["checked"];
7059
- const _hoisted_4$a = ["title"];
7060
- const _hoisted_5$a = ["placeholder"];
7061
- const _hoisted_6$a = { class: "rj-check-list" };
7062
- const _hoisted_7$9 = ["value"];
7063
- 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 = {
7064
7157
  key: 0,
7065
7158
  style: { "padding": "6px", "color": "#999" }
7066
7159
  };
@@ -7072,8 +7165,8 @@ const _hoisted_13$6 = ["onUpdate:modelValue", "type"];
7072
7165
  const _hoisted_14$6 = ["onUpdate:modelValue", "type"];
7073
7166
  const _hoisted_15$5 = ["title", "onClick"];
7074
7167
  const _hoisted_16$5 = { class: "rj-popup-row" };
7075
- const _hoisted_17$5 = { class: "rj-popup-footer" };
7076
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
7168
+ const _hoisted_17$4 = { class: "rj-popup-footer" };
7169
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7077
7170
  ...{ name: "RjFilterMenu" },
7078
7171
  __name: "RjFilterMenu",
7079
7172
  props: {
@@ -7162,13 +7255,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7162
7255
  }, ["stop"]))
7163
7256
  }, [
7164
7257
  _ctx.filterType === "select" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7165
- createElementVNode("div", _hoisted_1$c, [
7166
- createElementVNode("label", _hoisted_2$c, [
7258
+ createElementVNode("div", _hoisted_1$d, [
7259
+ createElementVNode("label", _hoisted_2$d, [
7167
7260
  createElementVNode("input", {
7168
7261
  type: "checkbox",
7169
7262
  checked: allChecked.value,
7170
7263
  onChange: _cache[0] || (_cache[0] = ($event) => toggleAll())
7171
- }, null, 40, _hoisted_3$b),
7264
+ }, null, 40, _hoisted_3$c),
7172
7265
  createTextVNode(" " + toDisplayString(unref(t)("selectAll")), 1)
7173
7266
  ]),
7174
7267
  createElementVNode("label", {
@@ -7182,17 +7275,17 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7182
7275
  [vModelCheckbox, exclude.value]
7183
7276
  ]),
7184
7277
  createTextVNode(" " + toDisplayString(unref(t)("excludeSelected")), 1)
7185
- ], 8, _hoisted_4$a)
7278
+ ], 8, _hoisted_4$b)
7186
7279
  ]),
7187
7280
  withDirectives(createElementVNode("input", {
7188
7281
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => search.value = $event),
7189
7282
  class: "rj-input",
7190
7283
  style: { "width": "100%", "margin-bottom": "6px" },
7191
7284
  placeholder: unref(t)("searchOptions")
7192
- }, null, 8, _hoisted_5$a), [
7285
+ }, null, 8, _hoisted_5$b), [
7193
7286
  [vModelText, search.value]
7194
7287
  ]),
7195
- createElementVNode("div", _hoisted_6$a, [
7288
+ createElementVNode("div", _hoisted_6$b, [
7196
7289
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (opt) => {
7197
7290
  return openBlock(), createElementBlock("label", {
7198
7291
  key: String(opt),
@@ -7202,13 +7295,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7202
7295
  type: "checkbox",
7203
7296
  value: opt,
7204
7297
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => values.value = $event)
7205
- }, null, 8, _hoisted_7$9), [
7298
+ }, null, 8, _hoisted_7$a), [
7206
7299
  [vModelCheckbox, values.value]
7207
7300
  ]),
7208
7301
  createElementVNode("span", null, toDisplayString(displayOf(opt)), 1)
7209
7302
  ]);
7210
7303
  }), 128)),
7211
- !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)
7212
7305
  ])
7213
7306
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
7214
7307
  createElementVNode("div", _hoisted_9$7, [
@@ -7278,7 +7371,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7278
7371
  }, toDisplayString(unref(t)("addCondition")), 1)
7279
7372
  ])
7280
7373
  ], 64)),
7281
- createElementVNode("div", _hoisted_17$5, [
7374
+ createElementVNode("div", _hoisted_17$4, [
7282
7375
  createElementVNode("button", {
7283
7376
  class: "rj-btn",
7284
7377
  onClick: _cache[7] || (_cache[7] = ($event) => _ctx.$emit("clear"))
@@ -7296,22 +7389,22 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7296
7389
  };
7297
7390
  }
7298
7391
  });
7299
- const _hoisted_1$b = { class: "rj-adv-head" };
7300
- const _hoisted_2$b = { class: "rj-radio-tabs" };
7301
- const _hoisted_3$a = ["title"];
7302
- 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 = {
7303
7396
  key: 1,
7304
7397
  class: "rj-adv-cond"
7305
7398
  };
7306
- const _hoisted_5$9 = ["value", "onChange"];
7307
- const _hoisted_6$9 = ["value"];
7308
- const _hoisted_7$8 = ["onUpdate:modelValue", "onChange"];
7309
- 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"];
7310
7403
  const _hoisted_9$6 = ["onUpdate:modelValue", "type"];
7311
7404
  const _hoisted_10$6 = ["onUpdate:modelValue", "type"];
7312
7405
  const _hoisted_11$6 = ["title", "onClick"];
7313
7406
  const _hoisted_12$6 = { class: "rj-adv-actions" };
7314
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
7407
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7315
7408
  ...{ name: "RjAdvGroup" },
7316
7409
  __name: "RjAdvGroup",
7317
7410
  props: {
@@ -7384,8 +7477,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7384
7477
  return openBlock(), createElementBlock("div", {
7385
7478
  class: normalizeClass(["rj-adv-group", { "is-nested": _ctx.depth > 0 }])
7386
7479
  }, [
7387
- createElementVNode("div", _hoisted_1$b, [
7388
- createElementVNode("div", _hoisted_2$b, [
7480
+ createElementVNode("div", _hoisted_1$c, [
7481
+ createElementVNode("div", _hoisted_2$c, [
7389
7482
  createElementVNode("span", {
7390
7483
  class: normalizeClass({ "is-active": _ctx.group.operator === "and" }),
7391
7484
  onClick: _cache[0] || (_cache[0] = ($event) => setOp("and"))
@@ -7400,7 +7493,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7400
7493
  class: "rj-adv-remove",
7401
7494
  title: unref(t)("advDelGroup"),
7402
7495
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("remove"))
7403
- }, "✕", 8, _hoisted_3$a)) : createCommentVNode("", true)
7496
+ }, "✕", 8, _hoisted_3$b)) : createCommentVNode("", true)
7404
7497
  ]),
7405
7498
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.group.items, (item, i) => {
7406
7499
  return openBlock(), createElementBlock("div", {
@@ -7413,7 +7506,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7413
7506
  columns: _ctx.columns,
7414
7507
  depth: _ctx.depth + 1,
7415
7508
  onRemove: ($event) => removeAt(i)
7416
- }, 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, [
7417
7510
  createElementVNode("select", {
7418
7511
  class: "rj-input",
7419
7512
  value: ac(item).colId,
@@ -7423,9 +7516,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7423
7516
  return openBlock(), createElementBlock("option", {
7424
7517
  key: c.colId,
7425
7518
  value: c.colId
7426
- }, toDisplayString(c.title || c.colId), 9, _hoisted_6$9);
7519
+ }, toDisplayString(c.title || c.colId), 9, _hoisted_6$a);
7427
7520
  }), 128))
7428
- ], 40, _hoisted_5$9),
7521
+ ], 40, _hoisted_5$a),
7429
7522
  withDirectives(createElementVNode("select", {
7430
7523
  "onUpdate:modelValue": ($event) => ac(item).condition.op = $event,
7431
7524
  class: "rj-input",
@@ -7436,9 +7529,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7436
7529
  return openBlock(), createElementBlock("option", {
7437
7530
  key: op.value,
7438
7531
  value: op.value
7439
- }, toDisplayString(opLabel(op)), 9, _hoisted_8$8);
7532
+ }, toDisplayString(opLabel(op)), 9, _hoisted_8$9);
7440
7533
  }), 128))
7441
- ], 40, _hoisted_7$8), [
7534
+ ], 40, _hoisted_7$9), [
7442
7535
  [vModelSelect, ac(item).condition.op]
7443
7536
  ]),
7444
7537
  !noValue(ac(item).condition.op) ? withDirectives((openBlock(), createElementBlock("input", {
@@ -7480,9 +7573,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7480
7573
  };
7481
7574
  }
7482
7575
  });
7483
- const _hoisted_1$a = { class: "rj-adv-title" };
7484
- const _hoisted_2$a = { class: "rj-popup-footer" };
7485
- 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({
7486
7579
  ...{ name: "RjAdvancedFilterDialog" },
7487
7580
  __name: "RjAdvancedFilterDialog",
7488
7581
  props: {
@@ -7540,19 +7633,19 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
7540
7633
  onClick: _cache[3] || (_cache[3] = withModifiers(() => {
7541
7634
  }, ["stop"]))
7542
7635
  }, [
7543
- createElementVNode("div", _hoisted_1$a, [
7636
+ createElementVNode("div", _hoisted_1$b, [
7544
7637
  createTextVNode(toDisplayString(unref(t)("advFilterTitle")) + " ", 1),
7545
7638
  createElementVNode("span", {
7546
7639
  class: "rj-adv-remove",
7547
7640
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
7548
7641
  }, "✕")
7549
7642
  ]),
7550
- createVNode(_sfc_main$b, {
7643
+ createVNode(_sfc_main$c, {
7551
7644
  group: tree,
7552
7645
  columns: _ctx.columns,
7553
7646
  depth: 0
7554
7647
  }, null, 8, ["group", "columns"]),
7555
- createElementVNode("div", _hoisted_2$a, [
7648
+ createElementVNode("div", _hoisted_2$b, [
7556
7649
  createElementVNode("button", {
7557
7650
  class: "rj-btn",
7558
7651
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("clear"))
@@ -7566,27 +7659,27 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
7566
7659
  };
7567
7660
  }
7568
7661
  });
7569
- const _hoisted_1$9 = {
7662
+ const _hoisted_1$a = {
7570
7663
  key: 0,
7571
7664
  class: "rj-menu-divider"
7572
7665
  };
7573
- const _hoisted_2$9 = ["onMouseenter", "onClick"];
7574
- const _hoisted_3$9 = { class: "rj-menu-item-label" };
7575
- 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 = {
7576
7669
  key: 0,
7577
7670
  class: "rj-menu-sub-arrow"
7578
7671
  };
7579
- const _hoisted_5$8 = {
7672
+ const _hoisted_5$9 = {
7580
7673
  key: 1,
7581
7674
  class: "rj-menu rj-menu-sub"
7582
7675
  };
7583
- const _hoisted_6$8 = {
7676
+ const _hoisted_6$9 = {
7584
7677
  key: 0,
7585
7678
  class: "rj-menu-divider"
7586
7679
  };
7587
- const _hoisted_7$7 = ["onClick"];
7588
- const _hoisted_8$7 = { class: "rj-menu-item-label" };
7589
- 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({
7590
7683
  ...{ name: "RjContextMenu" },
7591
7684
  __name: "RjContextMenu",
7592
7685
  props: {
@@ -7622,7 +7715,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7622
7715
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, i) => {
7623
7716
  var _a, _b, _c, _d;
7624
7717
  return openBlock(), createElementBlock(Fragment, { key: i }, [
7625
- item.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_1$9)) : (openBlock(), createElementBlock("div", {
7718
+ item.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_1$a)) : (openBlock(), createElementBlock("div", {
7626
7719
  key: 1,
7627
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 }]),
7628
7721
  onMouseenter: ($event) => {
@@ -7631,42 +7724,42 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7631
7724
  },
7632
7725
  onClick: ($event) => onClick(item)
7633
7726
  }, [
7634
- createElementVNode("span", _hoisted_3$9, toDisplayString(item.name), 1),
7635
- ((_c = item.children) == null ? void 0 : _c.length) ? (openBlock(), createElementBlock("span", _hoisted_4$8, "▸")) : createCommentVNode("", true),
7636
- ((_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, [
7637
7730
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sub) => {
7638
7731
  var _a2;
7639
7732
  return openBlock(), createElementBlock(Fragment, {
7640
7733
  key: sub.name || String(sub.isSeparator)
7641
7734
  }, [
7642
- sub.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_6$8)) : (openBlock(), createElementBlock("div", {
7735
+ sub.isSeparator ? (openBlock(), createElementBlock("div", _hoisted_6$9)) : (openBlock(), createElementBlock("div", {
7643
7736
  key: 1,
7644
7737
  class: normalizeClass(["rj-menu-item", { "is-disabled": (_a2 = sub.disabled) == null ? void 0 : _a2.call(sub) }]),
7645
7738
  onClick: withModifiers(($event) => onClick(sub), ["stop"])
7646
7739
  }, [
7647
- createElementVNode("span", _hoisted_8$7, toDisplayString(sub.name), 1)
7648
- ], 10, _hoisted_7$7))
7740
+ createElementVNode("span", _hoisted_8$8, toDisplayString(sub.name), 1)
7741
+ ], 10, _hoisted_7$8))
7649
7742
  ], 64);
7650
7743
  }), 128))
7651
7744
  ])) : createCommentVNode("", true)
7652
- ], 42, _hoisted_2$9))
7745
+ ], 42, _hoisted_2$a))
7653
7746
  ], 64);
7654
7747
  }), 128))
7655
7748
  ], 4);
7656
7749
  };
7657
7750
  }
7658
7751
  });
7659
- const _hoisted_1$8 = { class: "rj-colmenu-tabs" };
7660
- const _hoisted_2$8 = ["onClick"];
7661
- const _hoisted_3$8 = { class: "rj-colmenu-tab-ic" };
7662
- const _hoisted_4$7 = { class: "rj-colmenu-body" };
7663
- const _hoisted_5$7 = { class: "rj-colmenu-title" };
7664
- const _hoisted_6$7 = { class: "rj-colmenu-ic" };
7665
- 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 = {
7666
7759
  key: 0,
7667
7760
  class: "rj-colmenu-cur"
7668
7761
  };
7669
- const _hoisted_8$6 = { class: "rj-colmenu-ic" };
7762
+ const _hoisted_8$7 = { class: "rj-colmenu-ic" };
7670
7763
  const _hoisted_9$5 = {
7671
7764
  key: 0,
7672
7765
  class: "rj-colmenu-cur"
@@ -7684,11 +7777,11 @@ const _hoisted_16$4 = {
7684
7777
  key: 0,
7685
7778
  class: "rj-colmenu-cur"
7686
7779
  };
7687
- const _hoisted_17$4 = { class: "rj-colmenu-ic" };
7688
- const _hoisted_18$4 = { class: "rj-colmenu-title" };
7689
- const _hoisted_19$3 = { class: "rj-colmenu-draghint" };
7690
- const _hoisted_20$3 = { class: "rj-colmenu-list" };
7691
- 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"];
7692
7785
  const _hoisted_22$2 = {
7693
7786
  class: "rj-colmenu-grip",
7694
7787
  title: ""
@@ -7696,7 +7789,7 @@ const _hoisted_22$2 = {
7696
7789
  const _hoisted_23$2 = ["title", "onClick"];
7697
7790
  const _hoisted_24$2 = ["title", "onClick"];
7698
7791
  const _hoisted_25$2 = { class: "rj-colmenu-foot" };
7699
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7792
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7700
7793
  ...{ name: "RjColumnMenu" },
7701
7794
  __name: "RjColumnMenu",
7702
7795
  props: {
@@ -7785,35 +7878,35 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7785
7878
  onMousedown: _cache[16] || (_cache[16] = withModifiers(() => {
7786
7879
  }, ["stop"]))
7787
7880
  }, [
7788
- createElementVNode("div", _hoisted_1$8, [
7881
+ createElementVNode("div", _hoisted_1$9, [
7789
7882
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visibleTabs), (tb) => {
7790
7883
  return openBlock(), createElementBlock("div", {
7791
7884
  key: tb.k,
7792
7885
  class: normalizeClass(["rj-colmenu-tab", { "is-active": tab.value === tb.k }]),
7793
7886
  onClick: ($event) => tab.value = tb.k
7794
7887
  }, [
7795
- createElementVNode("span", _hoisted_3$8, toDisplayString(tb.icon), 1),
7888
+ createElementVNode("span", _hoisted_3$9, toDisplayString(tb.icon), 1),
7796
7889
  createTextVNode(toDisplayString(tb.label), 1)
7797
- ], 10, _hoisted_2$8);
7890
+ ], 10, _hoisted_2$9);
7798
7891
  }), 128))
7799
7892
  ]),
7800
- createElementVNode("div", _hoisted_4$7, [
7893
+ createElementVNode("div", _hoisted_4$8, [
7801
7894
  tab.value === "general" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7802
- 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),
7803
7896
  _ctx.canSort ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
7804
7897
  createElementVNode("div", {
7805
7898
  class: "rj-colmenu-item",
7806
7899
  onClick: _cache[0] || (_cache[0] = ($event) => pick(() => _ctx.$emit("sort", "asc")))
7807
7900
  }, [
7808
- createElementVNode("span", _hoisted_6$7, toDisplayString(unref(icons).sortAscending), 1),
7901
+ createElementVNode("span", _hoisted_6$8, toDisplayString(unref(icons).sortAscending), 1),
7809
7902
  createTextVNode(toDisplayString(unref(t)("sortAsc")) + " ", 1),
7810
- _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)
7811
7904
  ]),
7812
7905
  createElementVNode("div", {
7813
7906
  class: "rj-colmenu-item",
7814
7907
  onClick: _cache[1] || (_cache[1] = ($event) => pick(() => _ctx.$emit("sort", "desc")))
7815
7908
  }, [
7816
- createElementVNode("span", _hoisted_8$6, toDisplayString(unref(icons).sortDescending), 1),
7909
+ createElementVNode("span", _hoisted_8$7, toDisplayString(unref(icons).sortDescending), 1),
7817
7910
  createTextVNode(toDisplayString(unref(t)("sortDesc")) + " ", 1),
7818
7911
  _ctx.sortDir === "desc" ? (openBlock(), createElementBlock("span", _hoisted_9$5, toDisplayString(unref(icons).checked), 1)) : createCommentVNode("", true)
7819
7912
  ]),
@@ -7862,7 +7955,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7862
7955
  class: "rj-colmenu-item",
7863
7956
  onClick: _cache[8] || (_cache[8] = ($event) => pick(() => _ctx.$emit("hide")))
7864
7957
  }, [
7865
- createElementVNode("span", _hoisted_17$4, toDisplayString(unref(icons).hidden), 1),
7958
+ createElementVNode("span", _hoisted_17$3, toDisplayString(unref(icons).hidden), 1),
7866
7959
  createTextVNode(toDisplayString(unref(t)("hideColumn")), 1)
7867
7960
  ]),
7868
7961
  _ctx.canGroup ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
@@ -7872,7 +7965,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7872
7965
  onClick: _cache[9] || (_cache[9] = ($event) => pick(() => _ctx.$emit("group")))
7873
7966
  }, toDisplayString(unref(t)("groupBy")), 1)
7874
7967
  ], 64)) : createCommentVNode("", true)
7875
- ], 64)) : tab.value === "filter" ? (openBlock(), createBlock(_sfc_main$c, {
7968
+ ], 64)) : tab.value === "filter" ? (openBlock(), createBlock(_sfc_main$d, {
7876
7969
  key: 1,
7877
7970
  inline: "",
7878
7971
  column: _ctx.col,
@@ -7883,9 +7976,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7883
7976
  onClear: _cache[11] || (_cache[11] = ($event) => _ctx.$emit("clear-filter")),
7884
7977
  onAdvanced: _cache[12] || (_cache[12] = ($event) => _ctx.$emit("advanced"))
7885
7978
  }, null, 8, ["column", "filter-type", "model", "unique-values"])) : tab.value === "columns" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
7886
- createElementVNode("div", _hoisted_18$4, toDisplayString(unref(t)("columnsCount", { n: _ctx.columns.length })), 1),
7887
- createElementVNode("div", _hoisted_19$3, toDisplayString(unref(t)("colDragHint")), 1),
7888
- 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, [
7889
7982
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (c) => {
7890
7983
  return openBlock(), createElementBlock("div", {
7891
7984
  key: c.colId,
@@ -7919,7 +8012,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7919
8012
  title: c.pinned === "left" ? unref(t)("pinnedLeft") + " · " + unref(t)("unpin") : c.pinned === "right" ? unref(t)("pinnedRight") + " · " + unref(t)("unpin") : unref(t)("pinColumn"),
7920
8013
  onClick: ($event) => toggleColPin(c)
7921
8014
  }, toDisplayString(unref(icons).pin), 11, _hoisted_24$2)
7922
- ], 42, _hoisted_21$3);
8015
+ ], 42, _hoisted_21$2);
7923
8016
  }), 128))
7924
8017
  ]),
7925
8018
  createElementVNode("div", _hoisted_25$2, [
@@ -7936,14 +8029,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7936
8029
  };
7937
8030
  }
7938
8031
  });
7939
- const _hoisted_1$7 = { class: "rj-panel" };
7940
- const _hoisted_2$7 = { class: "rj-panel-tabs" };
7941
- const _hoisted_3$7 = ["onClick"];
7942
- const _hoisted_4$6 = { class: "rj-panel-body" };
7943
- const _hoisted_5$6 = { class: "rj-panel-section" };
7944
- const _hoisted_6$6 = ["onDragstart", "onDragover", "onDrop"];
7945
- const _hoisted_7$5 = { class: "rj-panel-item-ops" };
7946
- 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 = {
7947
8040
  key: 0,
7948
8041
  class: "rj-panel-pin-tag"
7949
8042
  };
@@ -7958,11 +8051,11 @@ const _hoisted_16$3 = {
7958
8051
  class: "rj-panel-section",
7959
8052
  style: { "margin-top": "10px" }
7960
8053
  };
7961
- const _hoisted_17$3 = ["onClick"];
7962
- const _hoisted_18$3 = { class: "rj-panel-item-title" };
7963
- const _hoisted_19$2 = { class: "rj-popup-row" };
7964
- const _hoisted_20$2 = { style: { "display": "flex", "align-items": "center", "gap": "6px", "cursor": "pointer" } };
7965
- 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"];
7966
8059
  const _hoisted_22$1 = { class: "rj-panel-section" };
7967
8060
  const _hoisted_23$1 = ["onClick"];
7968
8061
  const _hoisted_24$1 = ["checked"];
@@ -7994,7 +8087,7 @@ const _hoisted_39$1 = {
7994
8087
  class: "rj-panel-section"
7995
8088
  };
7996
8089
  const _hoisted_40$1 = { class: "rj-panel-item-title" };
7997
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8090
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7998
8091
  ...{ name: "RjToolPanel" },
7999
8092
  __name: "RjToolPanel",
8000
8093
  props: {
@@ -8091,19 +8184,19 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8091
8184
  }
8092
8185
  return (_ctx, _cache) => {
8093
8186
  var _a, _b;
8094
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
8095
- createElementVNode("div", _hoisted_2$7, [
8187
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
8188
+ createElementVNode("div", _hoisted_2$8, [
8096
8189
  (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tb) => {
8097
8190
  return openBlock(), createElementBlock("div", {
8098
8191
  key: tb.k,
8099
8192
  class: normalizeClass(["rj-panel-tab", { "is-active": tab.value === tb.k }]),
8100
8193
  onClick: ($event) => tab.value = tb.k
8101
- }, toDisplayString(tb.label), 11, _hoisted_3$7);
8194
+ }, toDisplayString(tb.label), 11, _hoisted_3$8);
8102
8195
  }), 128))
8103
8196
  ]),
8104
- createElementVNode("div", _hoisted_4$6, [
8197
+ createElementVNode("div", _hoisted_4$7, [
8105
8198
  tab.value === "cols" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
8106
- createElementVNode("div", _hoisted_5$6, toDisplayString(unref(t)("panelColsHint")), 1),
8199
+ createElementVNode("div", _hoisted_5$7, toDisplayString(unref(t)("panelColsHint")), 1),
8107
8200
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.leafList, (c) => {
8108
8201
  return openBlock(), createElementBlock("div", {
8109
8202
  key: c.colId,
@@ -8117,8 +8210,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8117
8210
  style: normalizeStyle({ opacity: c.hidden ? 0.4 : 1 }),
8118
8211
  class: "rj-panel-item-title"
8119
8212
  }, toDisplayString(c.title || c.colId), 5),
8120
- createElementVNode("span", _hoisted_7$5, [
8121
- 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),
8122
8215
  createElementVNode("span", {
8123
8216
  class: normalizeClass(["rj-panel-pin", { "is-on": !!c.pinned }]),
8124
8217
  title: c.pinned === "left" ? unref(t)("pinnedLeft") + " · " + unref(t)("unpin") : c.pinned === "right" ? unref(t)("pinnedRight") + " · " + unref(t)("unpin") : unref(t)("pinColumn"),
@@ -8129,7 +8222,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8129
8222
  onClick: withModifiers(($event) => _ctx.$emit("toggle-hide", c.colId), ["stop"])
8130
8223
  }, toDisplayString(c.hidden ? unref(icons).hidden : unref(icons).visible), 9, _hoisted_10$4)
8131
8224
  ])
8132
- ], 42, _hoisted_6$6);
8225
+ ], 42, _hoisted_6$7);
8133
8226
  }), 128))
8134
8227
  ], 64)) : tab.value === "group" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
8135
8228
  createElementVNode("div", _hoisted_11$4, toDisplayString(unref(t)("groupHere")), 1),
@@ -8167,18 +8260,18 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8167
8260
  style: { "cursor": "pointer" },
8168
8261
  onClick: ($event) => _ctx.$emit("group-add", dimKey(c))
8169
8262
  }, [
8170
- createElementVNode("span", _hoisted_18$3, toDisplayString(unref(icons).add) + " " + toDisplayString(c.title || c.colId), 1)
8171
- ], 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);
8172
8265
  }), 128))
8173
8266
  ], 64)) : createCommentVNode("", true)
8174
8267
  ], 64)) : tab.value === "pivot" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
8175
- createElementVNode("div", _hoisted_19$2, [
8176
- createElementVNode("label", _hoisted_20$2, [
8268
+ createElementVNode("div", _hoisted_19$1, [
8269
+ createElementVNode("label", _hoisted_20$1, [
8177
8270
  createElementVNode("input", {
8178
8271
  type: "checkbox",
8179
8272
  checked: _ctx.pivot.active,
8180
8273
  onChange: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("pivot-enable", $event.target.checked))
8181
- }, null, 40, _hoisted_21$2),
8274
+ }, null, 40, _hoisted_21$1),
8182
8275
  createTextVNode(" " + toDisplayString(unref(t)("enablePivot")), 1)
8183
8276
  ])
8184
8277
  ]),
@@ -8260,18 +8353,18 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8260
8353
  };
8261
8354
  }
8262
8355
  });
8263
- const _hoisted_1$6 = {
8356
+ const _hoisted_1$7 = {
8264
8357
  class: "rj-pager-opt rj-pager-total",
8265
8358
  style: { "color": "var(--rj-text-secondary)" }
8266
8359
  };
8267
- const _hoisted_2$6 = ["value"];
8268
- const _hoisted_3$6 = ["value"];
8269
- const _hoisted_4$5 = { class: "rj-pager-nav" };
8270
- const _hoisted_5$5 = ["disabled"];
8271
- const _hoisted_6$5 = ["disabled"];
8272
- const _hoisted_7$4 = ["disabled"];
8273
- const _hoisted_8$4 = ["disabled"];
8274
- 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({
8275
8368
  ...{ name: "RjPager" },
8276
8369
  __name: "RjPager",
8277
8370
  props: {
@@ -8289,7 +8382,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8289
8382
  return openBlock(), createElementBlock("div", {
8290
8383
  class: normalizeClass(["rj-pager", _ctx.variant === "top" ? "rj-pager-top" : "rj-pager-bottom"])
8291
8384
  }, [
8292
- 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),
8293
8386
  createElementVNode("select", {
8294
8387
  class: "rj-input rj-pager-opt rj-pager-size",
8295
8388
  value: _ctx.pageSize,
@@ -8299,44 +8392,44 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8299
8392
  return createElementVNode("option", {
8300
8393
  key: s,
8301
8394
  value: s
8302
- }, toDisplayString(unref(t)("perPage", { n: s })), 9, _hoisted_3$6);
8395
+ }, toDisplayString(unref(t)("perPage", { n: s })), 9, _hoisted_3$7);
8303
8396
  }), 64))
8304
- ], 40, _hoisted_2$6),
8305
- createElementVNode("div", _hoisted_4$5, [
8397
+ ], 40, _hoisted_2$7),
8398
+ createElementVNode("div", _hoisted_4$6, [
8306
8399
  createElementVNode("button", {
8307
8400
  class: "rj-btn",
8308
8401
  disabled: _ctx.page <= 1,
8309
8402
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:page", 1))
8310
- }, toDisplayString(unref(t)("first")), 9, _hoisted_5$5),
8403
+ }, toDisplayString(unref(t)("first")), 9, _hoisted_5$6),
8311
8404
  createElementVNode("button", {
8312
8405
  class: "rj-btn",
8313
8406
  disabled: _ctx.page <= 1,
8314
8407
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:page", _ctx.page - 1))
8315
- }, toDisplayString(unref(t)("prev")), 9, _hoisted_6$5),
8408
+ }, toDisplayString(unref(t)("prev")), 9, _hoisted_6$6),
8316
8409
  createElementVNode("span", null, toDisplayString(_ctx.page) + " / " + toDisplayString(pages.value || 1), 1),
8317
8410
  createElementVNode("button", {
8318
8411
  class: "rj-btn",
8319
8412
  disabled: _ctx.page >= pages.value,
8320
8413
  onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("update:page", _ctx.page + 1))
8321
- }, toDisplayString(unref(t)("next")), 9, _hoisted_7$4),
8414
+ }, toDisplayString(unref(t)("next")), 9, _hoisted_7$5),
8322
8415
  createElementVNode("button", {
8323
8416
  class: "rj-btn",
8324
8417
  disabled: _ctx.page >= pages.value,
8325
8418
  onClick: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("update:page", pages.value))
8326
- }, toDisplayString(unref(t)("last")), 9, _hoisted_8$4)
8419
+ }, toDisplayString(unref(t)("last")), 9, _hoisted_8$5)
8327
8420
  ])
8328
8421
  ], 2);
8329
8422
  };
8330
8423
  }
8331
8424
  });
8332
- const _hoisted_1$5 = { class: "rj-chart-dialog" };
8333
- const _hoisted_2$5 = { class: "rj-chart-header" };
8334
- const _hoisted_3$5 = { class: "rj-chart-body" };
8335
- const _hoisted_4$4 = { style: { "display": "flex", "gap": "8px", "flex-wrap": "wrap", "align-items": "center" } };
8336
- const _hoisted_5$4 = { class: "rj-radio-tabs" };
8337
- const _hoisted_6$4 = ["onClick"];
8338
- const _hoisted_7$3 = { value: "" };
8339
- 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"];
8340
8433
  const _hoisted_9$3 = { value: "" };
8341
8434
  const _hoisted_10$3 = ["value"];
8342
8435
  const _hoisted_11$3 = ["value"];
@@ -8346,7 +8439,7 @@ const _hoisted_14$3 = {
8346
8439
  key: 0,
8347
8440
  class: "rj-chart-warn"
8348
8441
  };
8349
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8442
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8350
8443
  ...{ name: "RjChartDialog" },
8351
8444
  __name: "RjChartDialog",
8352
8445
  props: {
@@ -8518,23 +8611,23 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8518
8611
  class: "rj-chart-mask",
8519
8612
  onClick: _cache[5] || (_cache[5] = withModifiers(($event) => _ctx.$emit("close"), ["self"]))
8520
8613
  }, [
8521
- createElementVNode("div", _hoisted_1$5, [
8522
- createElementVNode("div", _hoisted_2$5, [
8614
+ createElementVNode("div", _hoisted_1$6, [
8615
+ createElementVNode("div", _hoisted_2$6, [
8523
8616
  createTextVNode(toDisplayString(unref(t)("chartTitle")) + " ", 1),
8524
8617
  createElementVNode("span", {
8525
8618
  class: "rj-chart-close",
8526
8619
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
8527
8620
  }, toDisplayString(unref(icons).remove), 1)
8528
8621
  ]),
8529
- createElementVNode("div", _hoisted_3$5, [
8530
- createElementVNode("div", _hoisted_4$4, [
8531
- createElementVNode("div", _hoisted_5$4, [
8622
+ createElementVNode("div", _hoisted_3$6, [
8623
+ createElementVNode("div", _hoisted_4$5, [
8624
+ createElementVNode("div", _hoisted_5$5, [
8532
8625
  (openBlock(), createElementBlock(Fragment, null, renderList(TYPE_KEYS, (tt) => {
8533
8626
  return createElementVNode("span", {
8534
8627
  key: tt.k,
8535
8628
  class: normalizeClass({ "is-active": chartType.value === tt.k }),
8536
8629
  onClick: ($event) => chartType.value = tt.k
8537
- }, toDisplayString(unref(t)(tt.labelKey)), 11, _hoisted_6$4);
8630
+ }, toDisplayString(unref(t)(tt.labelKey)), 11, _hoisted_6$5);
8538
8631
  }), 64))
8539
8632
  ]),
8540
8633
  withDirectives(createElementVNode("select", {
@@ -8542,12 +8635,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8542
8635
  class: "rj-input",
8543
8636
  style: { "padding": "0 4px" }
8544
8637
  }, [
8545
- createElementVNode("option", _hoisted_7$3, toDisplayString(unref(t)("chartPickX")), 1),
8638
+ createElementVNode("option", _hoisted_7$4, toDisplayString(unref(t)("chartPickX")), 1),
8546
8639
  (openBlock(true), createElementBlock(Fragment, null, renderList(dimCols.value, (c) => {
8547
8640
  return openBlock(), createElementBlock("option", {
8548
8641
  key: c.field,
8549
8642
  value: c.field
8550
- }, toDisplayString(c.title || c.field), 9, _hoisted_8$3);
8643
+ }, toDisplayString(c.title || c.field), 9, _hoisted_8$4);
8551
8644
  }), 128))
8552
8645
  ], 512), [
8553
8646
  [vModelSelect, xCat.value]
@@ -8712,41 +8805,251 @@ function queryActionConfirm(action, rows) {
8712
8805
  return "";
8713
8806
  return typeof action.confirm === "function" ? action.confirm(rows) : action.confirm;
8714
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
+ });
8715
9023
  const _hoisted_1$4 = { class: "rj-query-bar" };
8716
9024
  const _hoisted_2$4 = { class: "rj-query-label" };
8717
9025
  const _hoisted_3$4 = ["value", "onChange"];
8718
9026
  const _hoisted_4$3 = ["value"];
8719
- const _hoisted_5$3 = ["value", "onChange"];
8720
- const _hoisted_6$3 = ["value"];
8721
- const _hoisted_7$2 = ["value", "onChange"];
8722
- const _hoisted_8$2 = { value: void 0 };
8723
- const _hoisted_9$2 = ["value"];
8724
- const _hoisted_10$2 = ["value", "placeholder", "onInput"];
8725
- const _hoisted_11$2 = ["value", "placeholder", "onInput"];
8726
- const _hoisted_12$2 = ["onClick"];
8727
- 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 = {
8728
9031
  value: "",
8729
9032
  disabled: ""
8730
9033
  };
8731
- const _hoisted_14$2 = ["value"];
8732
- const _hoisted_15$2 = {
9034
+ const _hoisted_9$2 = ["value"];
9035
+ const _hoisted_10$2 = {
8733
9036
  key: 0,
8734
9037
  value: "",
8735
9038
  disabled: ""
8736
9039
  };
8737
- const _hoisted_16$2 = { class: "rj-query-actions" };
8738
- const _hoisted_17$2 = { class: "rj-query-core" };
8739
- 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 = {
8740
9043
  key: 0,
8741
9044
  class: "rj-query-sep",
8742
9045
  "aria-hidden": "true"
8743
9046
  };
8744
- const _hoisted_19$1 = {
9047
+ const _hoisted_14$2 = {
8745
9048
  key: 1,
8746
9049
  class: "rj-query-action-btns"
8747
9050
  };
8748
- const _hoisted_20$1 = ["disabled", "onClick"];
8749
- const _hoisted_21$1 = {
9051
+ const _hoisted_15$2 = ["disabled", "onClick"];
9052
+ const _hoisted_16$2 = {
8750
9053
  key: 2,
8751
9054
  class: "rj-query-slot-btns"
8752
9055
  };
@@ -8856,12 +9159,19 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8856
9159
  c[key] = readVal(ev, numeric);
8857
9160
  emitList(list.value.slice());
8858
9161
  }
8859
- function setIn(c, ev) {
8860
- const sel = ev.target;
8861
- const vals = Array.from(sel.selectedOptions).map(
8862
- (o) => kindOf(c.field) === "number" ? Number(o.value) : o.value
8863
- );
8864
- 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("、");
8865
9175
  emitList(list.value.slice());
8866
9176
  }
8867
9177
  function onOp(c, ev) {
@@ -8915,33 +9225,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8915
9225
  placeholder: unref(t)("queryTo"),
8916
9226
  onInput: ($event) => setVal(c, "value2", $event)
8917
9227
  }, null, 40, ["type", "value", "placeholder", "onInput"]))
8918
- ], 64)) : c.operator === "in" ? (openBlock(), createElementBlock("select", {
9228
+ ], 64)) : c.operator === "in" ? (openBlock(), createBlock(_sfc_main$5, {
8919
9229
  key: 1,
8920
- class: "rj-query-val",
9230
+ class: "rj-query-select",
8921
9231
  multiple: "",
8922
- value: Array.isArray(c.value) ? c.value : [],
8923
- onChange: ($event) => setIn(c, $event)
8924
- }, [
8925
- (openBlock(true), createElementBlock(Fragment, null, renderList(optionsOf(c.field), (o) => {
8926
- return openBlock(), createElementBlock("option", {
8927
- key: String(o.value),
8928
- value: o.value
8929
- }, toDisplayString(o.label), 9, _hoisted_6$3);
8930
- }), 128))
8931
- ], 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, {
8932
9237
  key: 2,
8933
- class: "rj-query-val",
8934
- value: c.value,
8935
- onChange: ($event) => setVal(c, "value", $event, true)
8936
- }, [
8937
- createElementVNode("option", _hoisted_8$2, toDisplayString(unref(t)("querySelect")), 1),
8938
- (openBlock(true), createElementBlock(Fragment, null, renderList(optionsOf(c.field), (o) => {
8939
- return openBlock(), createElementBlock("option", {
8940
- key: String(o.value),
8941
- value: o.value
8942
- }, toDisplayString(o.label), 9, _hoisted_9$2);
8943
- }), 128))
8944
- ], 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", {
8945
9244
  key: 3,
8946
9245
  class: "rj-query-val",
8947
9246
  type: "number",
@@ -8949,7 +9248,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8949
9248
  placeholder: unref(t)("queryInput"),
8950
9249
  onInput: ($event) => setVal(c, "value", $event),
8951
9250
  onKeyup: _cache[0] || (_cache[0] = withKeys(($event) => emit("search"), ["enter"]))
8952
- }, null, 40, _hoisted_10$2)) : (openBlock(), createElementBlock("input", {
9251
+ }, null, 40, _hoisted_5$3)) : (openBlock(), createElementBlock("input", {
8953
9252
  key: 4,
8954
9253
  class: "rj-query-val",
8955
9254
  type: "text",
@@ -8957,12 +9256,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8957
9256
  placeholder: unref(t)("queryInput"),
8958
9257
  onInput: ($event) => setVal(c, "value", $event),
8959
9258
  onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => emit("search"), ["enter"]))
8960
- }, null, 40, _hoisted_11$2)),
9259
+ }, null, 40, _hoisted_6$3)),
8961
9260
  createElementVNode("span", {
8962
9261
  class: "rj-query-del",
8963
9262
  title: "移除",
8964
9263
  onClick: ($event) => remove(i)
8965
- }, "✕", 8, _hoisted_12$2)
9264
+ }, "✕", 8, _hoisted_7$2)
8966
9265
  ]);
8967
9266
  }), 128)),
8968
9267
  createElementVNode("select", {
@@ -8970,17 +9269,17 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8970
9269
  value: "",
8971
9270
  onChange: _cache[2] || (_cache[2] = ($event) => add($event))
8972
9271
  }, [
8973
- createElementVNode("option", _hoisted_13$2, "+ " + toDisplayString(unref(t)("queryAddField")), 1),
9272
+ createElementVNode("option", _hoisted_8$2, "+ " + toDisplayString(unref(t)("queryAddField")), 1),
8974
9273
  (openBlock(true), createElementBlock(Fragment, null, renderList(available.value, (f) => {
8975
9274
  return openBlock(), createElementBlock("option", {
8976
9275
  key: f.field,
8977
9276
  value: f.field
8978
- }, toDisplayString(f.title) + "(" + toDisplayString(kindText(f.kind)) + ") ", 9, _hoisted_14$2);
9277
+ }, toDisplayString(f.title) + "(" + toDisplayString(kindText(f.kind)) + ") ", 9, _hoisted_9$2);
8979
9278
  }), 128)),
8980
- !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)
8981
9280
  ], 32),
8982
- createElementVNode("span", _hoisted_16$2, [
8983
- createElementVNode("span", _hoisted_17$2, [
9281
+ createElementVNode("span", _hoisted_11$2, [
9282
+ createElementVNode("span", _hoisted_12$2, [
8984
9283
  createElementVNode("button", {
8985
9284
  class: "rj-btn rj-btn-primary",
8986
9285
  onClick: _cache[3] || (_cache[3] = ($event) => emit("search"))
@@ -8990,8 +9289,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8990
9289
  onClick: clearAll
8991
9290
  }, toDisplayString(unref(t)("queryReset")), 1)
8992
9291
  ]),
8993
- hasActions.value ? (openBlock(), createElementBlock("span", _hoisted_18$2)) : createCommentVNode("", true),
8994
- 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, [
8995
9294
  (openBlock(true), createElementBlock(Fragment, null, renderList(actionList.value, (a, i) => {
8996
9295
  return openBlock(), createElementBlock("button", {
8997
9296
  key: i,
@@ -9003,10 +9302,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9003
9302
  createTextVNode(toDisplayString(a.icon), 1)
9004
9303
  ], 64)) : createCommentVNode("", true),
9005
9304
  createTextVNode(toDisplayString(a.name), 1)
9006
- ], 10, _hoisted_20$1);
9305
+ ], 10, _hoisted_15$2);
9007
9306
  }), 128))
9008
9307
  ])) : createCommentVNode("", true),
9009
- _ctx.$slots.actions ? (openBlock(), createElementBlock("span", _hoisted_21$1, [
9308
+ _ctx.$slots.actions ? (openBlock(), createElementBlock("span", _hoisted_16$2, [
9010
9309
  renderSlot(_ctx.$slots, "actions", { rows: selRows.value })
9011
9310
  ])) : createCommentVNode("", true)
9012
9311
  ])
@@ -9864,7 +10163,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9864
10163
  if (!list || !list.length)
9865
10164
  continue;
9866
10165
  const labelMap = /* @__PURE__ */ new Map();
9867
- for (const o of list)
10166
+ for (const o of flattenOptions(list))
9868
10167
  labelMap.set(String(o.value), String(o.label));
9869
10168
  m.set(colIdOf(col), { list, labelMap });
9870
10169
  }
@@ -10098,7 +10397,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10098
10397
  watch(pipelineCols, (v) => rowModel.setPipelineColumns(v), { immediate: true });
10099
10398
  const queryConditions = rowModel.queryConditions;
10100
10399
  const queryFieldDefs = computed(
10101
- () => deriveQueryFields(userColumns.value, props.queryFields)
10400
+ () => withCarrierOptions(deriveQueryFields(userColumns.value, props.queryFields), colOptionsIndex.value)
10102
10401
  );
10103
10402
  const savedViews = useSavedViews(
10104
10403
  () => props.stateKey,
@@ -10773,7 +11072,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10773
11072
  if (type === "select") {
10774
11073
  const optList = colOptionList(col);
10775
11074
  if (optList && optList.length) {
10776
- unique = optList.map((o) => String(o.value));
11075
+ unique = flattenOptions(optList).map((o) => String(o.value));
10777
11076
  } else {
10778
11077
  unique = Array.from(
10779
11078
  new Set(
@@ -12347,7 +12646,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12347
12646
  if (type === "select") {
12348
12647
  const optList = colOptionList(col);
12349
12648
  if (optList && optList.length) {
12350
- unique = optList.map((o) => String(o.value));
12649
+ unique = flattenOptions(optList).map((o) => String(o.value));
12351
12650
  } else {
12352
12651
  unique = Array.from(
12353
12652
  new Set(
@@ -12977,7 +13276,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12977
13276
  strictOptions = true;
12978
13277
  } else if (resolvedOpts && resolvedOpts.length) {
12979
13278
  filterType = "select";
12980
- options = resolvedOpts.map((o) => String(o.label ?? o.value));
13279
+ options = flattenOptions(resolvedOpts).map((o) => String(o.label ?? o.value));
12981
13280
  strictOptions = true;
12982
13281
  } else if (filterType === "select") {
12983
13282
  const set = /* @__PURE__ */ new Set();
@@ -13445,7 +13744,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13445
13744
  selection.size ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(t("selRows", { n: selection.size })), 1)) : createCommentVNode("", true)
13446
13745
  ]),
13447
13746
  createElementVNode("div", _hoisted_5, [
13448
- pagerAtTop.value ? (openBlock(), createBlock(_sfc_main$6, {
13747
+ pagerAtTop.value ? (openBlock(), createBlock(_sfc_main$7, {
13449
13748
  key: 0,
13450
13749
  class: "rj-pager-inline",
13451
13750
  variant: "top",
@@ -13600,7 +13899,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13600
13899
  class: "rj-header",
13601
13900
  style: normalizeStyle({ height: headerTotalHeight.value + frowH.value + "px" })
13602
13901
  }, [
13603
- createVNode(_sfc_main$h, {
13902
+ createVNode(_sfc_main$i, {
13604
13903
  "level-cells": levelCells.value,
13605
13904
  "total-width": layout.value.totalWidth,
13606
13905
  "scroll-left": scrollLeft.value,
@@ -13630,7 +13929,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13630
13929
  style: normalizeStyle(headerClipStyle("left")),
13631
13930
  "aria-hidden": "true"
13632
13931
  }, [
13633
- createVNode(_sfc_main$h, {
13932
+ createVNode(_sfc_main$i, {
13634
13933
  "level-cells": levelCells.value,
13635
13934
  "total-width": layout.value.totalWidth,
13636
13935
  "scroll-left": 0,
@@ -13659,7 +13958,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13659
13958
  style: normalizeStyle(headerClipStyle("right")),
13660
13959
  "aria-hidden": "true"
13661
13960
  }, [
13662
- createVNode(_sfc_main$h, {
13961
+ createVNode(_sfc_main$i, {
13663
13962
  "level-cells": levelCells.value,
13664
13963
  "total-width": layout.value.totalWidth,
13665
13964
  "scroll-left": Math.max(layout.value.totalWidth - layout.value.rightWidth, 0),
@@ -13722,7 +14021,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13722
14021
  [vShow, isHoverRow(vr.row)]
13723
14022
  ]),
13724
14023
  vr.row.type === "row" || vr.row.type === "group" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(cellsOf(vr.row, vr.i, windowLeaves.value), (cell) => {
13725
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14024
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13726
14025
  key: cell.leaf.colId,
13727
14026
  ref_for: true
13728
14027
  }, cellProps(cell, vr), {
@@ -13810,7 +14109,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13810
14109
  [vShow, isHoverRow(vr.row)]
13811
14110
  ]),
13812
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) => {
13813
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14112
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13814
14113
  key: cell.leaf.colId,
13815
14114
  ref_for: true
13816
14115
  }, cellProps(cell, vr, "left"), {
@@ -13862,7 +14161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13862
14161
  [vShow, isHoverRow(vr.row)]
13863
14162
  ]),
13864
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) => {
13865
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14164
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13866
14165
  key: cell.leaf.colId,
13867
14166
  ref_for: true
13868
14167
  }, cellProps(cell, vr, "right"), {
@@ -13942,7 +14241,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13942
14241
  })
13943
14242
  }, [
13944
14243
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCells(prow), (cell) => {
13945
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14244
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13946
14245
  key: cell.leaf.colId,
13947
14246
  ref_for: true
13948
14247
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -13965,7 +14264,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13965
14264
  })
13966
14265
  }, [
13967
14266
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCellsSide(prow, side.leaves), (cell) => {
13968
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14267
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13969
14268
  key: cell.leaf.colId,
13970
14269
  ref_for: true
13971
14270
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -13987,7 +14286,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13987
14286
  })
13988
14287
  }, [
13989
14288
  (openBlock(true), createElementBlock(Fragment, null, renderList(gridCols.value, (leaf) => {
13990
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14289
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
13991
14290
  key: leaf.colId,
13992
14291
  ref_for: true
13993
14292
  }, pinRowCellProps(leaf, unref(rowModel).summaryRow.value, true), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14010,7 +14309,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14010
14309
  })
14011
14310
  }, [
14012
14311
  (openBlock(true), createElementBlock(Fragment, null, renderList(side.leaves, (leaf) => {
14013
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14312
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14014
14313
  key: leaf.colId,
14015
14314
  ref_for: true
14016
14315
  }, pinRowCellProps(leaf, unref(rowModel).summaryRow.value, true), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14035,7 +14334,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14035
14334
  })
14036
14335
  }, [
14037
14336
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCells(prow), (cell) => {
14038
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14337
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14039
14338
  key: cell.leaf.colId,
14040
14339
  ref_for: true
14041
14340
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14058,7 +14357,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14058
14357
  })
14059
14358
  }, [
14060
14359
  (openBlock(true), createElementBlock(Fragment, null, renderList(pinCellsSide(prow, side.leaves), (cell) => {
14061
- return openBlock(), createBlock(_sfc_main$d, mergeProps({
14360
+ return openBlock(), createBlock(_sfc_main$e, mergeProps({
14062
14361
  key: cell.leaf.colId,
14063
14362
  ref_for: true
14064
14363
  }, cellProps(cell, { row: pinnedAsDisplay(prow), i: -1 }), { "grid-slots": _ctx.$slots }), null, 16, ["grid-slots"]);
@@ -14070,7 +14369,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14070
14369
  }), 128)),
14071
14370
  _ctx.dataMode === "infinite" && unref(rowModel).loadingMore.value ? (openBlock(), createElementBlock("div", _hoisted_38, toDisplayString(t("loadMore")), 1)) : createCommentVNode("", true)
14072
14371
  ], 8, _hoisted_21),
14073
- _ctx.toolPanel && panelOpen.value ? (openBlock(), createBlock(_sfc_main$7, {
14372
+ _ctx.toolPanel && panelOpen.value ? (openBlock(), createBlock(_sfc_main$8, {
14074
14373
  key: 0,
14075
14374
  "leaf-list": panelLeaves.value,
14076
14375
  "pivot-leaf-list": panelCandidateLeaves.value,
@@ -14095,7 +14394,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14095
14394
  }, null, 8, ["leaf-list", "pivot-leaf-list", "pivot-value-default", "grouped-fields", "pivot", "filters", "quick-filter"])) : createCommentVNode("", true)
14096
14395
  ]),
14097
14396
  pagerAtBottom.value ? (openBlock(), createElementBlock("div", _hoisted_39, [
14098
- createVNode(_sfc_main$6, {
14397
+ createVNode(_sfc_main$7, {
14099
14398
  page: pagerPage.value,
14100
14399
  "onUpdate:page": _cache[41] || (_cache[41] = ($event) => pagerPage.value = $event),
14101
14400
  "page-size": pagerSize.value,
@@ -14131,7 +14430,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14131
14430
  rangeStats.value.perCol.length > 6 ? (openBlock(), createElementBlock("span", _hoisted_48, toDisplayString(t("moreCols", { n: rangeStats.value.perCol.length - 6 })), 1)) : createCommentVNode("", true)
14132
14431
  ])) : createCommentVNode("", true)
14133
14432
  ])) : createCommentVNode("", true),
14134
- filterMenu.value ? (openBlock(), createBlock(_sfc_main$c, {
14433
+ filterMenu.value ? (openBlock(), createBlock(_sfc_main$d, {
14135
14434
  key: 6,
14136
14435
  column: filterMenu.value.col,
14137
14436
  "filter-type": filterMenu.value.type,
@@ -14143,7 +14442,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14143
14442
  onClear: clearFilterMenu,
14144
14443
  onAdvanced: openAdvancedFilter
14145
14444
  }, null, 8, ["column", "filter-type", "model", "x", "y", "unique-values"])) : createCommentVNode("", true),
14146
- advDialog.value ? (openBlock(), createBlock(_sfc_main$a, {
14445
+ advDialog.value ? (openBlock(), createBlock(_sfc_main$b, {
14147
14446
  key: 7,
14148
14447
  model: unref(rowModel).advancedFilter.value,
14149
14448
  columns: advFilterColumns.value,
@@ -14153,7 +14452,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14153
14452
  onClear: clearAdvancedFilter,
14154
14453
  onClose: _cache[43] || (_cache[43] = ($event) => advDialog.value = null)
14155
14454
  }, null, 8, ["model", "columns", "x", "y"])) : createCommentVNode("", true),
14156
- menu.value ? (openBlock(), createBlock(_sfc_main$9, {
14455
+ menu.value ? (openBlock(), createBlock(_sfc_main$a, {
14157
14456
  key: 8,
14158
14457
  items: menu.value.items,
14159
14458
  x: menu.value.x,
@@ -14161,7 +14460,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14161
14460
  onSelect: onMenuSelect,
14162
14461
  onReposition: onMenuReposition
14163
14462
  }, null, 8, ["items", "x", "y"])) : createCommentVNode("", true),
14164
- colMenu.value ? (openBlock(), createBlock(_sfc_main$8, {
14463
+ colMenu.value ? (openBlock(), createBlock(_sfc_main$9, {
14165
14464
  key: 9,
14166
14465
  col: colMenu.value.col,
14167
14466
  "col-id": colMenu.value.colId,
@@ -14189,7 +14488,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14189
14488
  onToggleColPin: colMenuToggleColPin,
14190
14489
  onColDrop
14191
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),
14192
- chartOpen.value ? (openBlock(), createBlock(_sfc_main$5, {
14491
+ chartOpen.value ? (openBlock(), createBlock(_sfc_main$6, {
14193
14492
  key: 10,
14194
14493
  columns: pipelineCols.value,
14195
14494
  rows: chartRows.value,