市场夺宝奇兵
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
3.1 KiB

  1. import { Fragment, createBaseVNode, createBlock, createElementBlock, createVNode, defineComponent, h, openBlock, renderList, resolveComponent, resolveDynamicComponent, unref, withCtx } from "./runtime-core.esm-bundler-Cyv4obHQ.js";
  2. import { usePayloadStore } from "./payload-BX9lTMvN.js";
  3. import "./_plugin-vue_export-helper-DfavQbjy.js";
  4. import { Badge_default, Container_default, NavBar_default, PluginName_default, QuerySelector_default } from "./QuerySelector-iLRAQoow.js";
  5. const _hoisted_1 = { "w-full": "" };
  6. var plugins_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
  7. __name: "plugins",
  8. setup(__props) {
  9. const payload = usePayloadStore();
  10. function renderRow(idx) {
  11. const envs = payload.instance.environments.map((e) => payload.instance.environmentPlugins[e].includes(idx));
  12. const nodes = [];
  13. envs.forEach((e, i) => {
  14. if (envs[i - 1] === e) return;
  15. if (!e) nodes.push(h("td"));
  16. else {
  17. let length = envs.slice(i).findIndex((e$1) => !e$1);
  18. if (length === -1) length = envs.length - i;
  19. nodes.push(h("td", {
  20. colspan: length,
  21. class: "border border-main px4 py1"
  22. }, [h(PluginName_default, { name: payload.instance.plugins[idx].name })]));
  23. }
  24. });
  25. return () => nodes;
  26. }
  27. return (_ctx, _cache) => {
  28. const _component_RouterLink = resolveComponent("RouterLink");
  29. const _component_QuerySelector = QuerySelector_default;
  30. const _component_NavBar = NavBar_default;
  31. const _component_Badge = Badge_default;
  32. const _component_Container = Container_default;
  33. return openBlock(), createElementBlock(Fragment, null, [createVNode(_component_NavBar, null, {
  34. default: withCtx(() => [
  35. createVNode(_component_RouterLink, {
  36. "my-auto": "",
  37. "icon-btn": "",
  38. "outline-none": "",
  39. to: "/"
  40. }, {
  41. default: withCtx(() => [..._cache[0] || (_cache[0] = [createBaseVNode("div", { "i-carbon-arrow-left": "" }, null, -1)])]),
  42. _: 1
  43. }),
  44. _cache[1] || (_cache[1] = createBaseVNode("div", { "flex-auto": "" }, null, -1)),
  45. createVNode(_component_QuerySelector)
  46. ]),
  47. _: 1
  48. }), createVNode(_component_Container, {
  49. flex: "",
  50. "overflow-auto": "",
  51. p5: ""
  52. }, {
  53. default: withCtx(() => [createBaseVNode("table", _hoisted_1, [createBaseVNode("thead", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(payload).instance.environments, (e) => {
  54. return openBlock(), createElementBlock("td", {
  55. key: e,
  56. border: "~ main",
  57. p2: "",
  58. "text-center": ""
  59. }, [createVNode(_component_Badge, {
  60. text: e,
  61. size: "none",
  62. px2: "",
  63. py1: "",
  64. "text-sm": "",
  65. "font-mono": ""
  66. }, null, 8, ["text"])]);
  67. }), 128))]), createBaseVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(payload).instance.plugins, (p, idx) => {
  68. return openBlock(), createElementBlock("tr", { key: idx }, [(openBlock(), createBlock(resolveDynamicComponent(renderRow(idx))))]);
  69. }), 128))])])]),
  70. _: 1
  71. })], 64);
  72. };
  73. }
  74. });
  75. var plugins_default = plugins_vue_vue_type_script_setup_true_lang_default;
  76. export { plugins_default as default };