525 lines
26 KiB
JavaScript
525 lines
26 KiB
JavaScript
import {
|
|
require_node
|
|
} from "/build/_shared/chunk-G7CHZRZX.js";
|
|
import {
|
|
Button
|
|
} from "/build/_shared/chunk-OGUYUMUT.js";
|
|
import {
|
|
require_jsx_dev_runtime
|
|
} from "/build/_shared/chunk-XGOTYLZ5.js";
|
|
import {
|
|
Link,
|
|
useLoaderData,
|
|
useNavigate
|
|
} from "/build/_shared/chunk-RG2SZ2V3.js";
|
|
import {
|
|
createHotContext
|
|
} from "/build/_shared/chunk-73ZPIOGA.js";
|
|
import "/build/_shared/chunk-UWV35TSL.js";
|
|
import "/build/_shared/chunk-U4FRFQSK.js";
|
|
import {
|
|
require_react
|
|
} from "/build/_shared/chunk-7M6SC7J5.js";
|
|
import {
|
|
__toESM
|
|
} from "/build/_shared/chunk-PNG5AS42.js";
|
|
|
|
// app/routes/rule-groups._index.tsx
|
|
var import_react = __toESM(require_react(), 1);
|
|
var import_node = __toESM(require_node(), 1);
|
|
var import_jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
|
|
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
|
|
console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
|
|
} else {
|
|
prevRefreshReg = window.$RefreshReg$;
|
|
prevRefreshSig = window.$RefreshSig$;
|
|
window.$RefreshReg$ = (type, id) => {
|
|
window.$RefreshRuntime$.register(type, '"app\\\\routes\\\\rule-groups._index.tsx"' + id);
|
|
};
|
|
window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
|
|
}
|
|
var prevRefreshReg;
|
|
var prevRefreshSig;
|
|
var _s = $RefreshSig$();
|
|
if (import.meta) {
|
|
import.meta.hot = createHotContext(
|
|
//@ts-expect-error
|
|
"app\\routes\\rule-groups._index.tsx"
|
|
);
|
|
}
|
|
var meta = () => {
|
|
return [{
|
|
title: "\u4E2D\u56FD\u70DF\u8349AI\u5408\u540C\u53CA\u5377\u5B97\u5BA1\u6838\u7CFB\u7EDF - \u8BC4\u67E5\u70B9\u5206\u7EC4\u5217\u8868"
|
|
}, {
|
|
name: "description",
|
|
content: "\u8BC4\u67E5\u70B9\u5206\u7EC4\u7BA1\u7406"
|
|
}];
|
|
};
|
|
function RuleGroupsPage() {
|
|
_s();
|
|
const {
|
|
groups
|
|
} = useLoaderData();
|
|
const navigate = useNavigate();
|
|
const parentGroups = groups.filter((group) => group.parentId === null);
|
|
const getChildGroups = (parentId) => {
|
|
return groups.filter((group) => group.parentId === parentId);
|
|
};
|
|
const handleDelete = (id) => {
|
|
if (window.confirm("\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u5206\u7EC4\u5417\uFF1F\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D\uFF0C\u4E14\u4F1A\u5220\u9664\u8BE5\u5206\u7EC4\u4E0B\u7684\u6240\u6709\u8BC4\u67E5\u70B9\u3002")) {
|
|
alert(`\u5220\u9664\u5206\u7EC4: ${id}`);
|
|
}
|
|
};
|
|
const handleCreate = () => {
|
|
navigate("/rule-groups/new");
|
|
};
|
|
const toggleExpand = (groupId) => {
|
|
const childRows = document.querySelectorAll(`.child-of-${groupId}`);
|
|
childRows.forEach((row) => {
|
|
row.style.display = row.style.display === "none" ? "table-row" : "none";
|
|
});
|
|
const icon = document.querySelector(`span.expand-icon[data-group-id="${groupId}"] i`);
|
|
if (icon) {
|
|
icon.classList.toggle("ri-arrow-down-s-line");
|
|
icon.classList.toggle("ri-arrow-right-s-line");
|
|
}
|
|
};
|
|
const handleKeyDown = (e, groupId) => {
|
|
if (e.key === "Enter" || e.key === " ") {
|
|
e.preventDefault();
|
|
toggleExpand(groupId);
|
|
}
|
|
};
|
|
return /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "p-6", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "mb-4 p-3 bg-blue-100 border border-blue-300 rounded text-blue-800", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("h3", { className: "font-bold text-lg", children: "\u5F53\u524D\u9875\u9762: \u8BC4\u67E5\u70B9\u5206\u7EC4\u5217\u8868 (rule-groups._index.tsx)" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 184,
|
|
columnNumber: 9
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("p", { children: "\u5982\u679C\u4F60\u770B\u5230\u8FD9\u4E2A\u63D0\u793A\uFF0C\u8BF4\u660E\u4F60\u5DF2\u6210\u529F\u5230\u8FBE\u8BC4\u67E5\u70B9\u5206\u7EC4\u5217\u8868\u9875\u9762\u3002" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 185,
|
|
columnNumber: 9
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "mt-2", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("a", { href: "/debug", className: "text-blue-600 hover:underline", children: "\u67E5\u770B\u8DEF\u7531\u8BCA\u65AD\u9875\u9762" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 187,
|
|
columnNumber: 11
|
|
}, this),
|
|
" |",
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("a", { href: "/", className: "ml-2 text-blue-600 hover:underline", children: "\u8FD4\u56DE\u9996\u9875" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 188,
|
|
columnNumber: 11
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 186,
|
|
columnNumber: 9
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 183,
|
|
columnNumber: 7
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex justify-between items-center mb-4", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("h2", { className: "text-xl font-medium", children: "\u8BC4\u67E5\u70B9\u5206\u7EC4\u7BA1\u7406" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 194,
|
|
columnNumber: 9
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "default", className: "mr-2", icon: "ri-arrow-down-s-line", onClick: () => document.querySelectorAll(".child-row").forEach((row) => row.style.display = "table-row"), children: "\u5C55\u5F00\u5168\u90E8" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 196,
|
|
columnNumber: 11
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "default", className: "mr-2", icon: "ri-arrow-up-s-line", onClick: () => document.querySelectorAll(".child-row").forEach((row) => row.style.display = "none"), children: "\u6536\u8D77\u5168\u90E8" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 199,
|
|
columnNumber: 11
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "primary", icon: "ri-add-line", onClick: handleCreate, children: "\u65B0\u589E\u5206\u7EC4" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 202,
|
|
columnNumber: 11
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 195,
|
|
columnNumber: 9
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 193,
|
|
columnNumber: 7
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "card mb-4", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "card-body", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex flex-wrap items-end gap-4", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex-1 min-w-[200px]", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("label", { htmlFor: "groupName", className: "form-label", children: "\u5206\u7EC4\u540D\u79F0" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 213,
|
|
columnNumber: 15
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("input", { type: "text", id: "groupName", className: "form-input", placeholder: "\u8BF7\u8F93\u5165\u5206\u7EC4\u540D\u79F0" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 214,
|
|
columnNumber: 15
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 212,
|
|
columnNumber: 13
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex-1 min-w-[200px]", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("label", { htmlFor: "groupCode", className: "form-label", children: "\u5206\u7EC4\u7F16\u7801" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 217,
|
|
columnNumber: 15
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("input", { type: "text", id: "groupCode", className: "form-input", placeholder: "\u8BF7\u8F93\u5165\u5206\u7EC4\u7F16\u7801" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 218,
|
|
columnNumber: 15
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 216,
|
|
columnNumber: 13
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex-1 min-w-[200px]", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("label", { htmlFor: "groupStatus", className: "form-label", children: "\u72B6\u6001" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 221,
|
|
columnNumber: 15
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("select", { id: "groupStatus", className: "form-select", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("option", { value: "", children: "\u5168\u90E8" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 223,
|
|
columnNumber: 17
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("option", { value: "true", children: "\u542F\u7528" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 224,
|
|
columnNumber: 17
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("option", { value: "false", children: "\u7981\u7528" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 225,
|
|
columnNumber: 17
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 222,
|
|
columnNumber: 15
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 220,
|
|
columnNumber: 13
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex items-center", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "default", className: "mr-2", icon: "ri-refresh-line", children: "\u91CD\u7F6E" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 229,
|
|
columnNumber: 15
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "primary", icon: "ri-search-line", children: "\u641C\u7D22" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 232,
|
|
columnNumber: 15
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 228,
|
|
columnNumber: 13
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 211,
|
|
columnNumber: 11
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 210,
|
|
columnNumber: 9
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 209,
|
|
columnNumber: 7
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "card", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "card-body", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("table", { className: "table tree-table", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("thead", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("tr", { children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { style: {
|
|
width: "400px"
|
|
}, children: "\u5206\u7EC4\u540D\u79F0" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 247,
|
|
columnNumber: 19
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { children: "\u5206\u7EC4\u7F16\u7801" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 250,
|
|
columnNumber: 19
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { children: "\u8BC4\u67E5\u70B9\u6570\u91CF" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 251,
|
|
columnNumber: 19
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { children: "\u72B6\u6001" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 252,
|
|
columnNumber: 19
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { children: "\u521B\u5EFA\u65F6\u95F4" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 253,
|
|
columnNumber: 19
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("th", { style: {
|
|
width: "180px"
|
|
}, children: "\u64CD\u4F5C" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 254,
|
|
columnNumber: 19
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 246,
|
|
columnNumber: 17
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 245,
|
|
columnNumber: 15
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("tbody", { children: parentGroups.map((parent) => /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(import_react.default.Fragment, { children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("tr", { className: "group-row parent-row", "data-group-id": parent.id, children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex items-center", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: "expand-icon", "data-group-id": parent.id, onClick: () => toggleExpand(parent.id), onKeyDown: (e) => handleKeyDown(e, parent.id), role: "button", tabIndex: 0, "aria-label": "\u5C55\u5F00/\u6536\u8D77", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: "ri-arrow-down-s-line text-primary" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 267,
|
|
columnNumber: 29
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 265,
|
|
columnNumber: 27
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: `/rules?groupId=${parent.id}`, className: "text-primary hover:underline flex items-center ml-1", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: "ri-folder-line mr-1" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 271,
|
|
columnNumber: 29
|
|
}, this),
|
|
" ",
|
|
parent.name
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 269,
|
|
columnNumber: 27
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: "group-badge parent-badge", children: "\u4E00\u7EA7\u5206\u7EC4" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 273,
|
|
columnNumber: 27
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 264,
|
|
columnNumber: 25
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 263,
|
|
columnNumber: 23
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: parent.code }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 276,
|
|
columnNumber: 23
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: `/rules?groupId=${parent.id}`, className: "badge bg-primary text-white", children: parent.ruleCount }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 278,
|
|
columnNumber: 25
|
|
}, this),
|
|
parent.childGroupCount > 0 && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: "text-secondary text-sm ml-1", children: [
|
|
"| \u5B50\u5206\u7EC4: ",
|
|
parent.childGroupCount
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 281,
|
|
columnNumber: 56
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 277,
|
|
columnNumber: 23
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: `status-dot ${parent.isActive ? "status-success" : "status-error"}` }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 286,
|
|
columnNumber: 25
|
|
}, this),
|
|
parent.isActive ? "\u542F\u7528" : "\u7981\u7528"
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 285,
|
|
columnNumber: 23
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: parent.createdAt }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 289,
|
|
columnNumber: 23
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { className: "py-3 px-2 text-center", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "default", size: "small", className: "text-primary mr-2", icon: "ri-edit-line", onClick: () => navigate(`/rule-groups/${parent.id}/edit`), children: "\u7F16\u8F91" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 291,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "danger", size: "small", icon: "ri-delete-bin-line", onClick: () => handleDelete(parent.id), children: "\u5220\u9664" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 295,
|
|
columnNumber: 25
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 290,
|
|
columnNumber: 23
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 262,
|
|
columnNumber: 21
|
|
}, this),
|
|
getChildGroups(parent.id).map((child) => /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("tr", { className: `group-row child-row child-of-${parent.id}`, "data-parent-id": parent.id, "data-group-id": child.id, children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex items-center ml-8", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: `/rules?groupId=${child.id}`, className: "text-primary hover:underline flex items-center", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: "ri-file-list-line mr-1" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 309,
|
|
columnNumber: 31
|
|
}, this),
|
|
" ",
|
|
child.name
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 307,
|
|
columnNumber: 29
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: "group-badge child-badge", children: "\u4E8C\u7EA7\u5206\u7EC4" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 311,
|
|
columnNumber: 29
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 306,
|
|
columnNumber: 27
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 305,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: child.code }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 314,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: `/rules?groupId=${child.id}`, className: "badge bg-primary text-white", children: child.ruleCount }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 316,
|
|
columnNumber: 27
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 315,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { className: `status-dot ${child.isActive ? "status-success" : "status-error"}` }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 321,
|
|
columnNumber: 27
|
|
}, this),
|
|
child.isActive ? "\u542F\u7528" : "\u7981\u7528"
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 320,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { children: child.createdAt }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 324,
|
|
columnNumber: 25
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("td", { className: "py-3 px-2 text-center", children: [
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "default", size: "small", className: "text-primary mr-2", icon: "ri-edit-line", onClick: () => navigate(`/rule-groups/${child.id}/edit`), children: "\u7F16\u8F91" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 326,
|
|
columnNumber: 27
|
|
}, this),
|
|
/* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Button, { type: "danger", size: "small", icon: "ri-delete-bin-line", onClick: () => handleDelete(child.id), children: "\u5220\u9664" }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 330,
|
|
columnNumber: 27
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 325,
|
|
columnNumber: 25
|
|
}, this)
|
|
] }, child.id, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 303,
|
|
columnNumber: 61
|
|
}, this))
|
|
] }, parent.id, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 260,
|
|
columnNumber: 45
|
|
}, this)) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 259,
|
|
columnNumber: 15
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 244,
|
|
columnNumber: 13
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 243,
|
|
columnNumber: 11
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 242,
|
|
columnNumber: 9
|
|
}, this) }, void 0, false, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 241,
|
|
columnNumber: 7
|
|
}, this)
|
|
] }, void 0, true, {
|
|
fileName: "app/routes/rule-groups._index.tsx",
|
|
lineNumber: 181,
|
|
columnNumber: 10
|
|
}, this);
|
|
}
|
|
_s(RuleGroupsPage, "wBR/OBT3qPYjsH+gsITYCpVlwRM=", false, function() {
|
|
return [useLoaderData, useNavigate];
|
|
});
|
|
_c = RuleGroupsPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "RuleGroupsPage");
|
|
window.$RefreshReg$ = prevRefreshReg;
|
|
window.$RefreshSig$ = prevRefreshSig;
|
|
export {
|
|
RuleGroupsPage as default,
|
|
meta
|
|
};
|
|
//# sourceMappingURL=/build/routes/rule-groups._index-YBPE5YGR.js.map
|