keli-ui 0.3.16 → 0.3.18

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.
@@ -86,7 +86,7 @@ export declare function useTableData(params: RequestTable): {
86
86
  refreshTableData: () => Promise<void>;
87
87
  routerPush: (key: any, options: any) => void;
88
88
  };
89
- buttonClick: (data: any, button: KeButton, rowIndex: number) => void;
89
+ buttonClick: (data: any, button: KeButton, rowIndex: number) => Promise<void>;
90
90
  tableConfig: Ref<{
91
91
  pageId?: number | undefined;
92
92
  rowKey: string;
@@ -39,7 +39,7 @@ export interface AppApiCallbacks {
39
39
  backBeforeCheckApi: (config: SubmitConfig, formData: any, isAdd: boolean) => Promise<ApiInterface>;
40
40
  backFlowApi: (data: PageSubmitInterface) => Promise<ApiInterface>;
41
41
  getPageUploadFileApi: (pageId: number, dataId: string) => Promise<ApiInterface>;
42
- executeButtonProgramApi: (pageId: number, dataId: null | string, buttonId: string) => Promise<ApiInterface>;
42
+ executeButtonProgramApi: (pageId: number, dataId: null | string, buttonId: string, data: any) => Promise<ApiInterface>;
43
43
  getAppChartListApi: (pageId: number) => Promise<ApiInterface>;
44
44
  getAppChartContentApi: (chartId: number) => Promise<ApiInterface>;
45
45
  }
@@ -1,4 +1,4 @@
1
- import { at as e } from "./api-DPWBxyJL.js";
1
+ import { at as e } from "./api-DFkXg4kc.js";
2
2
  import * as t from "monaco-editor";
3
3
  //#region src/components/FormComponent/FormCodeEditor/language/java.ts
4
4
  var n = /* @__PURE__ */ e({
@@ -2298,4 +2298,4 @@ function s() {
2298
2298
  //#endregion
2299
2299
  export { s as a, i, a as n, n as r, r as t };
2300
2300
 
2301
- //# sourceMappingURL=java-CanB8gLZ.js.map
2301
+ //# sourceMappingURL=java-BnvYNxWj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"java-CanB8gLZ.js","names":[],"sources":["../src/components/FormComponent/FormCodeEditor/language/java.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\r\n\r\nconst conf = {\r\n // the default separators except `@$`\r\n wordPattern: /(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,\r\n comments: {\r\n lineComment: \"//\",\r\n blockComment: [\"/*\", \"*/\"]\r\n },\r\n brackets: [\r\n [\"{\", \"}\"],\r\n [\"[\", \"]\"],\r\n [\"(\", \")\"]\r\n ],\r\n autoClosingPairs: [\r\n { open: \"{\", close: \"}\" },\r\n { open: \"[\", close: \"]\" },\r\n { open: \"(\", close: \")\" },\r\n { open: '\"', close: '\"' },\r\n { open: \"'\", close: \"'\" }\r\n ],\r\n surroundingPairs: [\r\n { open: \"{\", close: \"}\" },\r\n { open: \"[\", close: \"]\" },\r\n { open: \"(\", close: \")\" },\r\n { open: '\"', close: '\"' },\r\n { open: \"'\", close: \"'\" },\r\n { open: \"<\", close: \">\" }\r\n ],\r\n folding: {\r\n markers: {\r\n start: new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),\r\n end: new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")\r\n }\r\n }\r\n};\r\nconst language = {\r\n defaultToken: \"\",\r\n tokenPostfix: \".java\",\r\n keywords: [\r\n \"abstract\",\r\n \"continue\",\r\n \"for\",\r\n \"new\",\r\n \"switch\",\r\n \"assert\",\r\n \"default\",\r\n \"goto\",\r\n \"package\",\r\n \"synchronized\",\r\n \"boolean\",\r\n \"do\",\r\n \"if\",\r\n \"private\",\r\n \"this\",\r\n \"break\",\r\n \"double\",\r\n \"implements\",\r\n \"protected\",\r\n \"throw\",\r\n \"byte\",\r\n \"else\",\r\n \"import\",\r\n \"public\",\r\n \"throws\",\r\n \"case\",\r\n \"enum\",\r\n \"instanceof\",\r\n \"return\",\r\n \"transient\",\r\n \"catch\",\r\n \"extends\",\r\n \"int\",\r\n \"short\",\r\n \"try\",\r\n \"char\",\r\n \"final\",\r\n \"interface\",\r\n \"static\",\r\n \"void\",\r\n \"class\",\r\n \"finally\",\r\n \"long\",\r\n \"strictfp\",\r\n \"volatile\",\r\n \"const\",\r\n \"float\",\r\n \"native\",\r\n \"super\",\r\n \"while\",\r\n \"true\",\r\n \"false\",\r\n \"yield\",\r\n \"record\",\r\n \"sealed\",\r\n \"non-sealed\",\r\n \"permits\"\r\n ],\r\n operators: [\r\n \"=\",\r\n \">\",\r\n \"<\",\r\n \"!\",\r\n \"~\",\r\n \"?\",\r\n \":\",\r\n \"==\",\r\n \"<=\",\r\n \">=\",\r\n \"!=\",\r\n \"&&\",\r\n \"||\",\r\n \"++\",\r\n \"--\",\r\n \"+\",\r\n \"-\",\r\n \"*\",\r\n \"/\",\r\n \"&\",\r\n \"|\",\r\n \"^\",\r\n \"%\",\r\n \"<<\",\r\n \">>\",\r\n \">>>\",\r\n \"+=\",\r\n \"-=\",\r\n \"*=\",\r\n \"/=\",\r\n \"&=\",\r\n \"|=\",\r\n \"^=\",\r\n \"%=\",\r\n \"<<=\",\r\n \">>=\",\r\n \">>>=\"\r\n ],\r\n // 常用类型\r\n typeKeywords: [\r\n 'String', 'Integer', 'Long', 'Double', 'Float', 'Boolean', 'Character', 'Byte', 'Short',\r\n 'Object', 'Class', 'System', 'Math', 'StringBuilder', 'StringBuffer',\r\n 'List', 'ArrayList', 'LinkedList', 'Map', 'HashMap', 'TreeMap', 'LinkedHashMap',\r\n 'Set', 'HashSet', 'TreeSet', 'LinkedHashSet', 'Queue', 'Deque', 'Stack',\r\n 'Collection', 'Collections', 'Arrays', 'Optional', 'Stream', 'Collectors',\r\n 'Exception', 'RuntimeException', 'Error', 'Throwable',\r\n 'Thread', 'Runnable', 'Callable', 'Future', 'CompletableFuture',\r\n 'Date', 'LocalDate', 'LocalTime', 'LocalDateTime', 'Instant', 'Duration',\r\n 'File', 'Path', 'Files', 'InputStream', 'OutputStream', 'Reader', 'Writer',\r\n 'Pattern', 'Matcher', 'Scanner', 'Random', 'UUID',\r\n 'BigDecimal', 'BigInteger', 'AtomicInteger', 'AtomicLong',\r\n 'Comparator', 'Comparable', 'Iterator', 'Iterable',\r\n 'Function', 'Consumer', 'Supplier', 'Predicate', 'BiFunction',\r\n ],\r\n // we include these common regular expressions\r\n symbols: /[=><!~?:&|+\\-*\\/\\^%]+/,\r\n escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\r\n digits: /\\d+(_+\\d+)*/,\r\n octaldigits: /[0-7]+(_+[0-7]+)*/,\r\n binarydigits: /[0-1]+(_+[0-1]+)*/,\r\n hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,\r\n // The main tokenizer for our languages\r\n tokenizer: {\r\n root: [\r\n // Special keyword with a dash\r\n [\"non-sealed\", \"keyword.non-sealed\"],\r\n // 方法调用 - xxx.method() 中的 method 显示为函数色\r\n [/([a-zA-Z_$][\\w$]*)(\\s*)(\\()/, [\r\n {\r\n cases: {\r\n \"@keywords\": \"keyword.$0\",\r\n \"@typeKeywords\": \"type\",\r\n \"@default\": \"function\"\r\n }\r\n },\r\n \"\",\r\n \"@brackets\"\r\n ]],\r\n // 类名 - 大写开头的标识符\r\n [/[A-Z][\\w$]*/, {\r\n cases: {\r\n \"@keywords\": \"keyword.$0\",\r\n \"@typeKeywords\": \"type\",\r\n \"@default\": \"type\"\r\n }\r\n }],\r\n // identifiers and keywords\r\n [\r\n /[a-z_$][\\w$]*/,\r\n {\r\n cases: {\r\n \"@keywords\": { token: \"keyword.$0\" },\r\n \"@default\": \"identifier\"\r\n }\r\n }\r\n ],\r\n // whitespace\r\n { include: \"@whitespace\" },\r\n // delimiters and operators\r\n [/[{}()\\[\\]]/, \"@brackets\"],\r\n [/[<>](?!@symbols)/, \"@brackets\"],\r\n [\r\n /@symbols/,\r\n {\r\n cases: {\r\n \"@operators\": \"delimiter\",\r\n \"@default\": \"\"\r\n }\r\n }\r\n ],\r\n // @ annotations.\r\n [/@\\s*[a-zA-Z_\\$][\\w\\$]*/, \"annotation\"],\r\n // numbers\r\n [/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/, \"number.float\"],\r\n [/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/, \"number.float\"],\r\n [/0[xX](@hexdigits)[Ll]?/, \"number.hex\"],\r\n [/0(@octaldigits)[Ll]?/, \"number.octal\"],\r\n [/0[bB](@binarydigits)[Ll]?/, \"number.binary\"],\r\n [/(@digits)[fFdD]/, \"number.float\"],\r\n [/(@digits)[lL]?/, \"number\"],\r\n // delimiter: after number because of .\\d floats\r\n [/[;,.]/, \"delimiter\"],\r\n // strings\r\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"],\r\n // non-teminated string\r\n [/\"\"\"/, \"string\", \"@multistring\"],\r\n [/\"/, \"string\", \"@string\"],\r\n // characters\r\n [/'[^\\\\']'/, \"string\"],\r\n [/(')(@escapes)(')/, [\"string\", \"string.escape\", \"string\"]],\r\n [/'/, \"string.invalid\"]\r\n ],\r\n whitespace: [\r\n [/[ \\t\\r\\n]+/, \"\"],\r\n [/\\/\\*\\*(?!\\/)/, \"comment.doc\", \"@javadoc\"],\r\n [/\\/\\*/, \"comment\", \"@comment\"],\r\n [/\\/\\/.*$/, \"comment\"]\r\n ],\r\n comment: [\r\n [/[^\\/*]+/, \"comment\"],\r\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\r\n // [/\\/\\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/\r\n [/\\*\\//, \"comment\", \"@pop\"],\r\n [/[\\/*]/, \"comment\"]\r\n ],\r\n //Identical copy of comment above, except for the addition of .doc\r\n javadoc: [\r\n [/[^\\/*]+/, \"comment.doc\"],\r\n // [/\\/\\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(\r\n [/\\/\\*/, \"comment.doc.invalid\"],\r\n [/\\*\\//, \"comment.doc\", \"@pop\"],\r\n [/[\\/*]/, \"comment.doc\"]\r\n ],\r\n string: [\r\n [/[^\\\\\"]+/, \"string\"],\r\n [/@escapes/, \"string.escape\"],\r\n [/\\\\./, \"string.escape.invalid\"],\r\n [/\"/, \"string\", \"@pop\"]\r\n ],\r\n multistring: [\r\n [/[^\\\\\"]+/, \"string\"],\r\n [/@escapes/, \"string.escape\"],\r\n [/\\\\./, \"string.escape.invalid\"],\r\n [/\"\"\"/, \"string\", \"@pop\"],\r\n [/./, \"string\"]\r\n ]\r\n }\r\n};\r\n\r\nfunction defineJavaThemes() {\r\n // Java 暗色主题\r\n monaco.editor.defineTheme('java-dark', {\r\n base: 'vs-dark',\r\n inherit: true,\r\n rules: [\r\n { token: 'keyword', foreground: '569CD6' },\r\n { token: 'keyword.package', foreground: 'C586C0' },\r\n { token: 'keyword.import', foreground: 'C586C0' },\r\n { token: 'keyword.class', foreground: '569CD6' },\r\n { token: 'keyword.interface', foreground: '569CD6' },\r\n { token: 'keyword.public', foreground: '569CD6' },\r\n { token: 'keyword.private', foreground: '569CD6' },\r\n { token: 'keyword.protected', foreground: '569CD6' },\r\n { token: 'keyword.static', foreground: '569CD6' },\r\n { token: 'keyword.final', foreground: '569CD6' },\r\n { token: 'keyword.void', foreground: '569CD6' },\r\n { token: 'keyword.return', foreground: 'C586C0' },\r\n { token: 'keyword.new', foreground: '569CD6' },\r\n { token: 'keyword.if', foreground: 'C586C0' },\r\n { token: 'keyword.else', foreground: 'C586C0' },\r\n { token: 'keyword.for', foreground: 'C586C0' },\r\n { token: 'keyword.while', foreground: 'C586C0' },\r\n { token: 'keyword.try', foreground: 'C586C0' },\r\n { token: 'keyword.catch', foreground: 'C586C0' },\r\n { token: 'keyword.throw', foreground: 'C586C0' },\r\n { token: 'keyword.throws', foreground: 'C586C0' },\r\n { token: 'type', foreground: '4EC9B0' }, // 青色 - 类型/类名\r\n { token: 'function', foreground: 'DCDCAA' }, // 黄色 - 方法名\r\n { token: 'annotation', foreground: 'D7BA7D' }, // 金色 - 注解\r\n { token: 'string', foreground: 'CE9178' }, // 橙色 - 字符串\r\n { token: 'number', foreground: 'B5CEA8' }, // 浅绿 - 数字\r\n { token: 'comment', foreground: '6A9955' }, // 绿色 - 注释\r\n { token: 'comment.doc', foreground: '6A9955' },\r\n { token: 'identifier', foreground: '9CDCFE' }, // 浅蓝 - 变量\r\n { token: 'delimiter', foreground: 'D4D4D4' },\r\n ],\r\n colors: {},\r\n });\r\n\r\n // Java 亮色主题\r\n monaco.editor.defineTheme('java-light', {\r\n base: 'vs',\r\n inherit: true,\r\n rules: [\r\n { token: 'keyword', foreground: '0000FF' },\r\n { token: 'keyword.package', foreground: 'AF00DB' },\r\n { token: 'keyword.import', foreground: 'AF00DB' },\r\n { token: 'keyword.return', foreground: 'AF00DB' },\r\n { token: 'keyword.if', foreground: 'AF00DB' },\r\n { token: 'keyword.else', foreground: 'AF00DB' },\r\n { token: 'keyword.for', foreground: 'AF00DB' },\r\n { token: 'keyword.while', foreground: 'AF00DB' },\r\n { token: 'keyword.try', foreground: 'AF00DB' },\r\n { token: 'keyword.catch', foreground: 'AF00DB' },\r\n { token: 'keyword.throw', foreground: 'AF00DB' },\r\n { token: 'type', foreground: '267F99' }, // 青色 - 类型/类名\r\n { token: 'function', foreground: '795E26' }, // 棕黄 - 方法名\r\n { token: 'annotation', foreground: '808000' }, // 橄榄 - 注解\r\n { token: 'string', foreground: 'A31515' }, // 红色 - 字符串\r\n { token: 'number', foreground: '098658' }, // 绿色 - 数字\r\n { token: 'comment', foreground: '008000' }, // 绿色 - 注释\r\n { token: 'identifier', foreground: '001080' }, // 深蓝 - 变量\r\n ],\r\n colors: {},\r\n });\r\n}\r\n\r\nlet javaCompletionRegistered = false;\r\n\r\nfunction registerJavaCompletion() {\r\n if (javaCompletionRegistered) return;\r\n javaCompletionRegistered = true;\r\n\r\n monaco.languages.registerCompletionItemProvider('java', {\r\n triggerCharacters: ['.', '@', ' '],\r\n provideCompletionItems: (model, position) => {\r\n const word = model.getWordUntilPosition(position);\r\n const range = {\r\n startLineNumber: position.lineNumber,\r\n endLineNumber: position.lineNumber,\r\n startColumn: word.startColumn,\r\n endColumn: word.endColumn,\r\n };\r\n const line = model.getLineContent(position.lineNumber);\r\n const before = line.substring(0, position.column - 1);\r\n const currentWord = word.word.toLowerCase();\r\n const suggestions: monaco.languages.CompletionItem[] = [];\r\n\r\n // Java 关键字和类型 - 只要有输入就提示\r\n if (currentWord.length >= 1) {\r\n const keywords: [string, string, string][] = [\r\n // 访问修饰符\r\n ['public', '公共访问', 'public '],\r\n ['private', '私有访问', 'private '],\r\n ['protected', '受保护访问', 'protected '],\r\n // 修饰符\r\n ['static', '静态', 'static '],\r\n ['final', '最终', 'final '],\r\n ['abstract', '抽象', 'abstract '],\r\n ['native', '本地方法', 'native '],\r\n ['strictfp', '严格浮点', 'strictfp '],\r\n ['synchronized', '同步', 'synchronized '],\r\n ['volatile', '易变', 'volatile '],\r\n ['transient', '瞬态', 'transient '],\r\n // 类型声明\r\n ['class', '类', 'class $1 {\\n $2\\n}'],\r\n ['interface', '接口', 'interface $1 {\\n $2\\n}'],\r\n ['enum', '枚举', 'enum $1 {\\n $2\\n}'],\r\n ['record', '记录类', 'record $1($2) {}'],\r\n ['@interface', '注解定义', '@interface $1 {\\n $2\\n}'],\r\n // 继承实现\r\n ['extends', '继承', 'extends '],\r\n ['implements', '实现', 'implements '],\r\n ['permits', '允许', 'permits '],\r\n ['sealed', '密封类', 'sealed '],\r\n ['non-sealed', '非密封', 'non-sealed '],\r\n // 包和导入\r\n ['package', '包声明', 'package $1;'],\r\n ['import', '导入', 'import $1;'],\r\n ['import static', '静态导入', 'import static $1;'],\r\n // 控制流\r\n ['if', '条件判断', 'if ($1) {\\n $2\\n}'],\r\n ['else', '否则', 'else {\\n $1\\n}'],\r\n ['else if', '否则如果', 'else if ($1) {\\n $2\\n}'],\r\n ['switch', 'switch语句', 'switch ($1) {\\n case $2 -> $3;\\n default -> $4;\\n}'],\r\n ['case', 'case分支', 'case $1 -> $2;'],\r\n ['default', '默认', 'default -> $1;'],\r\n ['for', 'for循环', 'for (int i = 0; i < $1; i++) {\\n $2\\n}'],\r\n ['while', 'while循环', 'while ($1) {\\n $2\\n}'],\r\n ['do', 'do-while', 'do {\\n $1\\n} while ($2);'],\r\n ['break', '跳出循环', 'break;'],\r\n ['continue', '继续循环', 'continue;'],\r\n ['return', '返回', 'return $1;'],\r\n ['yield', 'yield返回', 'yield $1;'],\r\n // 异常处理\r\n ['try', 'try块', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n}'],\r\n ['catch', 'catch块', 'catch ($1 e) {\\n $2\\n}'],\r\n ['finally', 'finally块', 'finally {\\n $1\\n}'],\r\n ['throw', '抛出异常', 'throw new $1(\"$2\");'],\r\n ['throws', '声明异常', 'throws $1'],\r\n // 对象操作\r\n ['new', '创建对象', 'new $1($2)'],\r\n ['this', '当前对象', 'this'],\r\n ['super', '父类引用', 'super'],\r\n ['instanceof', '类型检查', 'instanceof $1'],\r\n ['var', '类型推断', 'var $1 = $2;'],\r\n // 断言\r\n ['assert', '断言', 'assert $1 : \"$2\";'],\r\n // 常量\r\n ['null', '空值', 'null'],\r\n ['true', '真', 'true'],\r\n ['false', '假', 'false'],\r\n \r\n // 基本类型\r\n ['void', '无返回值', 'void'],\r\n ['boolean', '布尔型', 'boolean'],\r\n ['byte', '字节型', 'byte'],\r\n ['short', '短整型', 'short'],\r\n ['int', '整型', 'int'],\r\n ['long', '长整型', 'long'],\r\n ['float', '单精度浮点', 'float'],\r\n ['double', '双精度浮点', 'double'],\r\n ['char', '字符型', 'char'],\r\n \r\n // 包装类\r\n ['Boolean', '布尔包装类', 'Boolean'],\r\n ['Byte', '字节包装类', 'Byte'],\r\n ['Short', '短整型包装类', 'Short'],\r\n ['Integer', '整型包装类', 'Integer'],\r\n ['Long', '长整型包装类', 'Long'],\r\n ['Float', '单精度包装类', 'Float'],\r\n ['Double', '双精度包装类', 'Double'],\r\n ['Character', '字符包装类', 'Character'],\r\n ['Number', '数字基类', 'Number'],\r\n \r\n // 常用类\r\n ['String', '字符串', 'String'],\r\n ['StringBuilder', '字符串构建器', 'StringBuilder'],\r\n ['StringBuffer', '线程安全字符串', 'StringBuffer'],\r\n ['Object', '对象基类', 'Object'],\r\n ['Class', '类对象', 'Class<$1>'],\r\n ['System', '系统类', 'System'],\r\n ['Math', '数学类', 'Math'],\r\n ['Arrays', '数组工具', 'Arrays'],\r\n ['Objects', '对象工具', 'Objects'],\r\n ['Collections', '集合工具', 'Collections'],\r\n \r\n // 集合类\r\n ['List', '列表接口', 'List<$1>'],\r\n ['ArrayList', '数组列表', 'new ArrayList<$1>()'],\r\n ['LinkedList', '链表', 'new LinkedList<$1>()'],\r\n ['Set', '集合接口', 'Set<$1>'],\r\n ['HashSet', '哈希集合', 'new HashSet<$1>()'],\r\n ['TreeSet', '树集合', 'new TreeSet<$1>()'],\r\n ['LinkedHashSet', '有序哈希集合', 'new LinkedHashSet<$1>()'],\r\n ['Map', '映射接口', 'Map<$1, $2>'],\r\n ['HashMap', '哈希映射', 'new HashMap<$1, $2>()'],\r\n ['TreeMap', '树映射', 'new TreeMap<$1, $2>()'],\r\n ['LinkedHashMap', '有序哈希映射', 'new LinkedHashMap<$1, $2>()'],\r\n ['ConcurrentHashMap', '并发哈希映射', 'new ConcurrentHashMap<$1, $2>()'],\r\n ['Queue', '队列接口', 'Queue<$1>'],\r\n ['Deque', '双端队列', 'Deque<$1>'],\r\n ['Stack', '栈', 'new Stack<$1>()'],\r\n ['Vector', '向量', 'new Vector<$1>()'],\r\n ['Collection', '集合接口', 'Collection<$1>'],\r\n ['Iterable', '可迭代接口', 'Iterable<$1>'],\r\n ['Iterator', '迭代器', 'Iterator<$1>'],\r\n \r\n // Optional\r\n ['Optional', 'Optional容器', 'Optional<$1>'],\r\n ['OptionalInt', 'int的Optional', 'OptionalInt'],\r\n ['OptionalLong', 'long的Optional', 'OptionalLong'],\r\n ['OptionalDouble', 'double的Optional', 'OptionalDouble'],\r\n \r\n // Stream\r\n ['Stream', '流', 'Stream<$1>'],\r\n ['IntStream', 'int流', 'IntStream'],\r\n ['LongStream', 'long流', 'LongStream'],\r\n ['DoubleStream', 'double流', 'DoubleStream'],\r\n ['Collectors', '收集器', 'Collectors'],\r\n \r\n // 函数式接口\r\n ['Function', '函数接口', 'Function<$1, $2>'],\r\n ['BiFunction', '双参数函数', 'BiFunction<$1, $2, $3>'],\r\n ['Consumer', '消费者接口', 'Consumer<$1>'],\r\n ['BiConsumer', '双参数消费者', 'BiConsumer<$1, $2>'],\r\n ['Supplier', '供应者接口', 'Supplier<$1>'],\r\n ['Predicate', '断言接口', 'Predicate<$1>'],\r\n ['BiPredicate', '双参数断言', 'BiPredicate<$1, $2>'],\r\n ['UnaryOperator', '一元操作符', 'UnaryOperator<$1>'],\r\n ['BinaryOperator', '二元操作符', 'BinaryOperator<$1>'],\r\n ['Comparator', '比较器', 'Comparator<$1>'],\r\n ['Comparable', '可比较接口', 'Comparable<$1>'],\r\n ['Runnable', '可运行接口', 'Runnable'],\r\n ['Callable', '可调用接口', 'Callable<$1>'],\r\n \r\n // 异常类\r\n ['Exception', '异常', 'Exception'],\r\n ['RuntimeException', '运行时异常', 'RuntimeException'],\r\n ['NullPointerException', '空指针异常', 'NullPointerException'],\r\n ['IllegalArgumentException', '非法参数异常', 'IllegalArgumentException'],\r\n ['IllegalStateException', '非法状态异常', 'IllegalStateException'],\r\n ['IndexOutOfBoundsException', '索引越界异常', 'IndexOutOfBoundsException'],\r\n ['IOException', 'IO异常', 'IOException'],\r\n ['FileNotFoundException', '文件未找到异常', 'FileNotFoundException'],\r\n ['SQLException', 'SQL异常', 'SQLException'],\r\n ['ClassNotFoundException', '类未找到异常', 'ClassNotFoundException'],\r\n ['NoSuchMethodException', '方法未找到异常', 'NoSuchMethodException'],\r\n ['Error', '错误', 'Error'],\r\n ['Throwable', '可抛出', 'Throwable'],\r\n \r\n // 并发类\r\n ['Thread', '线程', 'Thread'],\r\n ['Future', 'Future接口', 'Future<$1>'],\r\n ['CompletableFuture', '可完成Future', 'CompletableFuture<$1>'],\r\n ['ExecutorService', '执行器服务', 'ExecutorService'],\r\n ['Executors', '执行器工厂', 'Executors'],\r\n ['ThreadPoolExecutor', '线程池执行器', 'ThreadPoolExecutor'],\r\n ['CountDownLatch', '倒计时门闩', 'CountDownLatch'],\r\n ['CyclicBarrier', '循环屏障', 'CyclicBarrier'],\r\n ['Semaphore', '信号量', 'Semaphore'],\r\n ['ReentrantLock', '可重入锁', 'ReentrantLock'],\r\n ['AtomicInteger', '原子整数', 'AtomicInteger'],\r\n ['AtomicLong', '原子长整数', 'AtomicLong'],\r\n ['AtomicBoolean', '原子布尔', 'AtomicBoolean'],\r\n ['AtomicReference', '原子引用', 'AtomicReference<$1>'],\r\n \r\n // 日期时间\r\n ['Date', '日期(旧)', 'Date'],\r\n ['Calendar', '日历(旧)', 'Calendar'],\r\n ['LocalDate', '本地日期', 'LocalDate'],\r\n ['LocalTime', '本地时间', 'LocalTime'],\r\n ['LocalDateTime', '本地日期时间', 'LocalDateTime'],\r\n ['ZonedDateTime', '带时区日期时间', 'ZonedDateTime'],\r\n ['Instant', '时间戳', 'Instant'],\r\n ['Duration', '时间段', 'Duration'],\r\n ['Period', '日期段', 'Period'],\r\n ['DateTimeFormatter', '日期格式化', 'DateTimeFormatter'],\r\n \r\n // IO类\r\n ['File', '文件', 'File'],\r\n ['Path', '路径', 'Path'],\r\n ['Paths', '路径工具', 'Paths'],\r\n ['Files', '文件工具', 'Files'],\r\n ['InputStream', '输入流', 'InputStream'],\r\n ['OutputStream', '输出流', 'OutputStream'],\r\n ['FileInputStream', '文件输入流', 'FileInputStream'],\r\n ['FileOutputStream', '文件输出流', 'FileOutputStream'],\r\n ['BufferedReader', '缓冲读取器', 'BufferedReader'],\r\n ['BufferedWriter', '缓冲写入器', 'BufferedWriter'],\r\n ['Reader', '读取器', 'Reader'],\r\n ['Writer', '写入器', 'Writer'],\r\n \r\n // 其他常用\r\n ['BigDecimal', '高精度小数', 'BigDecimal'],\r\n ['BigInteger', '高精度整数', 'BigInteger'],\r\n ['UUID', 'UUID', 'UUID'],\r\n ['Random', '随机数', 'Random'],\r\n ['Pattern', '正则模式', 'Pattern'],\r\n ['Matcher', '正则匹配器', 'Matcher'],\r\n ['Scanner', '扫描器', 'Scanner'],\r\n ['Enum', '枚举基类', 'Enum'],\r\n ['Annotation', '注解接口', 'Annotation'],\r\n ['Override', '重写注解', '@Override'],\r\n ['Deprecated', '弃用注解', '@Deprecated'],\r\n ['SuppressWarnings', '抑制警告', '@SuppressWarnings(\"$1\")'],\r\n ];\r\n keywords.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\r\n suggestions.push({ \r\n label, \r\n detail, \r\n insertText: text, \r\n range, \r\n kind: monaco.languages.CompletionItemKind.Keyword, \r\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n sortText: '0' + label, // 优先显示\r\n });\r\n });\r\n }\r\n\r\n // 注解\r\n if (before.endsWith('@') || /@\\w*$/.test(before)) {\r\n const annotations: [string, string, string][] = [\r\n ['@Override', '重写方法', '@Override'],\r\n ['@Deprecated', '已弃用', '@Deprecated'],\r\n ['@SuppressWarnings', '抑制警告', '@SuppressWarnings(\"$1\")'],\r\n ['@FunctionalInterface', '函数式接口', '@FunctionalInterface'],\r\n ['@SafeVarargs', '安全可变参数', '@SafeVarargs'],\r\n ['@Autowired', 'Spring自动注入', '@Autowired'],\r\n ['@Component', 'Spring组件', '@Component'],\r\n ['@Service', 'Spring服务', '@Service'],\r\n ['@Repository', 'Spring仓库', '@Repository'],\r\n ['@Controller', 'Spring控制器', '@Controller'],\r\n ['@RestController', 'REST控制器', '@RestController'],\r\n ['@RequestMapping', '请求映射', '@RequestMapping(\"$1\")'],\r\n ['@GetMapping', 'GET请求', '@GetMapping(\"$1\")'],\r\n ['@PostMapping', 'POST请求', '@PostMapping(\"$1\")'],\r\n ['@PutMapping', 'PUT请求', '@PutMapping(\"$1\")'],\r\n ['@DeleteMapping', 'DELETE请求', '@DeleteMapping(\"$1\")'],\r\n ['@PathVariable', '路径变量', '@PathVariable'],\r\n ['@RequestParam', '请求参数', '@RequestParam'],\r\n ['@RequestBody', '请求体', '@RequestBody'],\r\n ['@ResponseBody', '响应体', '@ResponseBody'],\r\n ['@Bean', 'Spring Bean', '@Bean'],\r\n ['@Configuration', '配置类', '@Configuration'],\r\n ['@Value', '注入值', '@Value(\"${$1}\")'],\r\n ['@Transactional', '事务', '@Transactional'],\r\n ['@Slf4j', 'Lombok日志', '@Slf4j'],\r\n ['@Data', 'Lombok数据类', '@Data'],\r\n ['@Getter', 'Lombok Getter', '@Getter'],\r\n ['@Setter', 'Lombok Setter', '@Setter'],\r\n ['@NoArgsConstructor', '无参构造', '@NoArgsConstructor'],\r\n ['@AllArgsConstructor', '全参构造', '@AllArgsConstructor'],\r\n ['@Builder', 'Lombok Builder', '@Builder'],\r\n ['@ToString', 'Lombok ToString', '@ToString'],\r\n ['@EqualsAndHashCode', 'Lombok Equals/HashCode', '@EqualsAndHashCode'],\r\n ['@Test', 'JUnit测试', '@Test'],\r\n ['@BeforeEach', 'JUnit前置', '@BeforeEach'],\r\n ['@AfterEach', 'JUnit后置', '@AfterEach'],\r\n ['@Nullable', '可空', '@Nullable'],\r\n ['@NotNull', '非空', '@NotNull'],\r\n ['@Valid', '验证', '@Valid'],\r\n ];\r\n const atIndex = before.lastIndexOf('@');\r\n const typed = before.substring(atIndex + 1).toLowerCase();\r\n const annotationRange = {\r\n startLineNumber: position.lineNumber,\r\n endLineNumber: position.lineNumber,\r\n startColumn: atIndex + 1,\r\n endColumn: position.column,\r\n };\r\n annotations.filter(([label]) => typed.length === 0 || label.toLowerCase().includes(typed)).forEach(([label, detail, text]) => {\r\n suggestions.push({ label, detail, insertText: text, range: annotationRange, kind: monaco.languages.CompletionItemKind.Interface, insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet });\r\n });\r\n }\r\n\r\n // 常用方法 - 在 . 后触发\r\n if (before.endsWith('.')) {\r\n const methods: [string, string, string][] = [\r\n // Object 方法\r\n ['toString()', '转字符串', 'toString()'],\r\n ['equals()', '比较相等', 'equals($1)'],\r\n ['hashCode()', '哈希码', 'hashCode()'],\r\n ['getClass()', '获取类', 'getClass()'],\r\n // String 方法\r\n ['length()', '字符串长度', 'length()'],\r\n ['isEmpty()', '是否为空', 'isEmpty()'],\r\n ['isBlank()', '是否空白', 'isBlank()'],\r\n ['trim()', '去除空格', 'trim()'],\r\n ['strip()', '去除空白', 'strip()'],\r\n ['toLowerCase()', '转小写', 'toLowerCase()'],\r\n ['toUpperCase()', '转大写', 'toUpperCase()'],\r\n ['substring()', '截取子串', 'substring($1, $2)'],\r\n ['charAt()', '获取字符', 'charAt($1)'],\r\n ['indexOf()', '查找索引', 'indexOf($1)'],\r\n ['lastIndexOf()', '最后索引', 'lastIndexOf($1)'],\r\n ['contains()', '是否包含', 'contains($1)'],\r\n ['startsWith()', '是否开头', 'startsWith($1)'],\r\n ['endsWith()', '是否结尾', 'endsWith($1)'],\r\n ['replace()', '替换', 'replace($1, $2)'],\r\n ['replaceAll()', '正则替换', 'replaceAll($1, $2)'],\r\n ['split()', '分割', 'split($1)'],\r\n ['join()', '连接', 'join($1, $2)'],\r\n ['format()', '格式化', 'format($1)'],\r\n ['matches()', '正则匹配', 'matches($1)'],\r\n // Collection 方法\r\n ['add()', '添加元素', 'add($1)'],\r\n ['addAll()', '添加所有', 'addAll($1)'],\r\n ['remove()', '移除元素', 'remove($1)'],\r\n ['removeAll()', '移除所有', 'removeAll($1)'],\r\n ['clear()', '清空', 'clear()'],\r\n ['size()', '大小', 'size()'],\r\n ['get()', '获取元素', 'get($1)'],\r\n ['set()', '设置元素', 'set($1, $2)'],\r\n ['contains()', '是否包含', 'contains($1)'],\r\n ['containsAll()', '是否包含所有', 'containsAll($1)'],\r\n ['iterator()', '迭代器', 'iterator()'],\r\n ['toArray()', '转数组', 'toArray()'],\r\n ['stream()', '流', 'stream()'],\r\n ['forEach()', '遍历', 'forEach($1 -> $2)'],\r\n // Map 方法\r\n ['put()', '放入', 'put($1, $2)'],\r\n ['putAll()', '放入所有', 'putAll($1)'],\r\n ['get()', '获取', 'get($1)'],\r\n ['getOrDefault()', '获取或默认', 'getOrDefault($1, $2)'],\r\n ['containsKey()', '包含键', 'containsKey($1)'],\r\n ['containsValue()', '包含值', 'containsValue($1)'],\r\n ['keySet()', '键集合', 'keySet()'],\r\n ['values()', '值集合', 'values()'],\r\n ['entrySet()', '条目集合', 'entrySet()'],\r\n // Stream 方法\r\n ['filter()', '过滤', 'filter($1 -> $2)'],\r\n ['map()', '映射', 'map($1 -> $2)'],\r\n ['flatMap()', '扁平映射', 'flatMap($1 -> $2)'],\r\n ['sorted()', '排序', 'sorted()'],\r\n ['distinct()', '去重', 'distinct()'],\r\n ['limit()', '限制', 'limit($1)'],\r\n ['skip()', '跳过', 'skip($1)'],\r\n ['collect()', '收集', 'collect(Collectors.$1)'],\r\n ['toList()', '转列表', 'toList()'],\r\n ['findFirst()', '查找第一个', 'findFirst()'],\r\n ['findAny()', '查找任意', 'findAny()'],\r\n ['anyMatch()', '任意匹配', 'anyMatch($1 -> $2)'],\r\n ['allMatch()', '全部匹配', 'allMatch($1 -> $2)'],\r\n ['noneMatch()', '无匹配', 'noneMatch($1 -> $2)'],\r\n ['count()', '计数', 'count()'],\r\n ['reduce()', '归约', 'reduce($1, ($2, $3) -> $4)'],\r\n // Optional 方法\r\n ['isPresent()', '是否存在', 'isPresent()'],\r\n ['isEmpty()', '是否为空', 'isEmpty()'],\r\n ['get()', '获取值', 'get()'],\r\n ['orElse()', '或者', 'orElse($1)'],\r\n ['orElseGet()', '或者获取', 'orElseGet(() -> $1)'],\r\n ['orElseThrow()', '或者抛出', 'orElseThrow(() -> new $1())'],\r\n ['ifPresent()', '如果存在', 'ifPresent($1 -> $2)'],\r\n ['map()', '映射', 'map($1 -> $2)'],\r\n ['flatMap()', '扁平映射', 'flatMap($1 -> $2)'],\r\n ['filter()', '过滤', 'filter($1 -> $2)'],\r\n // 打印\r\n ['println()', '打印换行', 'println($1)'],\r\n ['print()', '打印', 'print($1)'],\r\n ['printf()', '格式化打印', 'printf($1)'],\r\n ];\r\n methods.forEach(([label, detail, text]) => {\r\n suggestions.push({ label, detail, insertText: text, range, kind: monaco.languages.CompletionItemKind.Method, insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet });\r\n });\r\n }\r\n\r\n // 代码片段\r\n if (currentWord.length >= 1) {\r\n const snippets: [string, string, string][] = [\r\n // 输出\r\n ['sout', 'System.out.println', 'System.out.println($1);'],\r\n ['soutv', '打印变量', 'System.out.println(\"$1 = \" + $1);'],\r\n ['serr', 'System.err.println', 'System.err.println($1);'],\r\n ['souf', 'System.out.printf', 'System.out.printf(\"$1%n\", $2);'],\r\n \r\n // main方法\r\n ['psvm', 'main方法', 'public static void main(String[] args) {\\n $1\\n}'],\r\n ['main', 'main方法', 'public static void main(String[] args) {\\n $1\\n}'],\r\n \r\n // 方法定义\r\n ['pub', 'public方法', 'public $1 $2($3) {\\n $4\\n}'],\r\n ['priv', 'private方法', 'private $1 $2($3) {\\n $4\\n}'],\r\n ['prot', 'protected方法', 'protected $1 $2($3) {\\n $4\\n}'],\r\n ['pubsf', 'public static final', 'public static final $1 $2 = $3;'],\r\n ['privsf', 'private static final', 'private static final $1 $2 = $3;'],\r\n \r\n // 循环\r\n ['fori', 'for i循环', 'for (int i = 0; i < $1; i++) {\\n $2\\n}'],\r\n ['forr', 'for 倒序循环', 'for (int i = $1 - 1; i >= 0; i--) {\\n $2\\n}'],\r\n ['fore', '增强for循环', 'for ($1 $2 : $3) {\\n $4\\n}'],\r\n ['iter', '迭代器循环', 'for (Iterator<$1> it = $2.iterator(); it.hasNext(); ) {\\n $1 $3 = it.next();\\n $4\\n}'],\r\n ['while', 'while循环', 'while ($1) {\\n $2\\n}'],\r\n ['dowhile', 'do-while循环', 'do {\\n $1\\n} while ($2);'],\r\n \r\n // 条件\r\n ['ife', 'if-else', 'if ($1) {\\n $2\\n} else {\\n $3\\n}'],\r\n ['ifn', 'if null', 'if ($1 == null) {\\n $2\\n}'],\r\n ['ifnn', 'if not null', 'if ($1 != null) {\\n $2\\n}'],\r\n ['tern', '三元表达式', '$1 ? $2 : $3'],\r\n \r\n // 异常\r\n ['tryc', 'try-catch', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n}'],\r\n ['trycf', 'try-catch-finally', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n} finally {\\n $3\\n}'],\r\n ['tryr', 'try-with-resources', 'try ($1) {\\n $2\\n} catch (Exception e) {\\n $3\\n}'],\r\n ['throw', '抛出异常', 'throw new $1(\"$2\");'],\r\n \r\n // 集合创建\r\n ['lst', 'new ArrayList', 'List<$1> $2 = new ArrayList<>();'],\r\n ['lstaof', 'List.of', 'List.of($1)'],\r\n ['map', 'new HashMap', 'Map<$1, $2> $3 = new HashMap<>();'],\r\n ['mapof', 'Map.of', 'Map.of($1, $2)'],\r\n ['set', 'new HashSet', 'Set<$1> $2 = new HashSet<>();'],\r\n ['setof', 'Set.of', 'Set.of($1)'],\r\n \r\n // Stream\r\n ['stream', 'stream操作', '$1.stream()\\n .filter($2 -> $3)\\n .map($4 -> $5)\\n .collect(Collectors.toList())'],\r\n ['streamf', 'stream filter', '$1.stream().filter($2 -> $3).collect(Collectors.toList())'],\r\n ['streamm', 'stream map', '$1.stream().map($2 -> $3).collect(Collectors.toList())'],\r\n ['foreach', 'forEach', '$1.forEach($2 -> {\\n $3\\n});'],\r\n \r\n // Optional\r\n ['opt', 'Optional.of', 'Optional.of($1)'],\r\n ['optn', 'Optional.ofNullable', 'Optional.ofNullable($1)'],\r\n ['opte', 'Optional.empty', 'Optional.empty()'],\r\n \r\n // 日志\r\n ['log', 'log.info', 'log.info(\"$1\");'],\r\n ['logd', 'log.debug', 'log.debug(\"$1\");'],\r\n ['logw', 'log.warn', 'log.warn(\"$1\");'],\r\n ['loge', 'log.error', 'log.error(\"$1\", $2);'],\r\n ['logt', 'log.trace', 'log.trace(\"$1\");'],\r\n ['logv', 'log变量', 'log.info(\"$1 = {}\", $1);'],\r\n \r\n // 测试\r\n ['test', '@Test方法', '@Test\\nvoid $1() {\\n $2\\n}'],\r\n ['testd', '@Test带DisplayName', '@Test\\n@DisplayName(\"$1\")\\nvoid $2() {\\n $3\\n}'],\r\n ['before', '@BeforeEach', '@BeforeEach\\nvoid setUp() {\\n $1\\n}'],\r\n ['after', '@AfterEach', '@AfterEach\\nvoid tearDown() {\\n $1\\n}'],\r\n ['aseq', 'assertEquals', 'assertEquals($1, $2);'],\r\n ['asne', 'assertNotEquals', 'assertNotEquals($1, $2);'],\r\n ['ast', 'assertTrue', 'assertTrue($1);'],\r\n ['asf', 'assertFalse', 'assertFalse($1);'],\r\n ['asn', 'assertNull', 'assertNull($1);'],\r\n ['asnn', 'assertNotNull', 'assertNotNull($1);'],\r\n ['asth', 'assertThrows', 'assertThrows($1.class, () -> {\\n $2\\n});'],\r\n \r\n // Lambda\r\n ['lam', 'lambda表达式', '($1) -> $2'],\r\n ['lamb', 'lambda块', '($1) -> {\\n $2\\n}'],\r\n ['mr', '方法引用', '$1::$2'],\r\n \r\n // 构造器\r\n ['ctor', '构造方法', 'public $1($2) {\\n $3\\n}'],\r\n ['ctord', '默认构造方法', 'public $1() {\\n}'],\r\n \r\n // getter/setter\r\n ['get', 'getter方法', 'public $1 get$2() {\\n return this.$3;\\n}'],\r\n ['set', 'setter方法', 'public void set$1($2 $3) {\\n this.$3 = $3;\\n}'],\r\n ['getset', 'getter和setter', 'public $1 get$2() {\\n return this.$3;\\n}\\n\\npublic void set$2($1 $3) {\\n this.$3 = $3;\\n}'],\r\n \r\n // toString/equals/hashCode\r\n ['tostr', 'toString方法', '@Override\\npublic String toString() {\\n return \"$1{\" +\\n \"$2=\" + $2 +\\n \\'}\\';\\n}'],\r\n ['eqhc', 'equals和hashCode', '@Override\\npublic boolean equals(Object o) {\\n if (this == o) return true;\\n if (o == null || getClass() != o.getClass()) return false;\\n $1 that = ($1) o;\\n return Objects.equals($2, that.$2);\\n}\\n\\n@Override\\npublic int hashCode() {\\n return Objects.hash($2);\\n}'],\r\n \r\n // 单例\r\n ['singleton', '单例模式', 'private static final $1 INSTANCE = new $1();\\n\\nprivate $1() {}\\n\\npublic static $1 getInstance() {\\n return INSTANCE;\\n}'],\r\n \r\n // 日期时间\r\n ['now', 'LocalDateTime.now', 'LocalDateTime.now()'],\r\n ['today', 'LocalDate.now', 'LocalDate.now()'],\r\n ['dtf', 'DateTimeFormatter', 'DateTimeFormatter.ofPattern(\"$1\")'],\r\n ];\r\n snippets.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\r\n suggestions.push({ \r\n label, \r\n detail, \r\n insertText: text, \r\n range, \r\n kind: monaco.languages.CompletionItemKind.Snippet, \r\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n sortText: '1' + label, // 片段稍后显示\r\n });\r\n });\r\n }\r\n\r\n return { suggestions };\r\n },\r\n });\r\n}\r\n\r\nexport {\r\n conf,\r\n language,\r\n registerJavaCompletion,\r\n defineJavaThemes\r\n};"],"mappings":"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"}
1
+ {"version":3,"file":"java-BnvYNxWj.js","names":[],"sources":["../src/components/FormComponent/FormCodeEditor/language/java.ts"],"sourcesContent":["import * as monaco from 'monaco-editor';\r\n\r\nconst conf = {\r\n // the default separators except `@$`\r\n wordPattern: /(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,\r\n comments: {\r\n lineComment: \"//\",\r\n blockComment: [\"/*\", \"*/\"]\r\n },\r\n brackets: [\r\n [\"{\", \"}\"],\r\n [\"[\", \"]\"],\r\n [\"(\", \")\"]\r\n ],\r\n autoClosingPairs: [\r\n { open: \"{\", close: \"}\" },\r\n { open: \"[\", close: \"]\" },\r\n { open: \"(\", close: \")\" },\r\n { open: '\"', close: '\"' },\r\n { open: \"'\", close: \"'\" }\r\n ],\r\n surroundingPairs: [\r\n { open: \"{\", close: \"}\" },\r\n { open: \"[\", close: \"]\" },\r\n { open: \"(\", close: \")\" },\r\n { open: '\"', close: '\"' },\r\n { open: \"'\", close: \"'\" },\r\n { open: \"<\", close: \">\" }\r\n ],\r\n folding: {\r\n markers: {\r\n start: new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),\r\n end: new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")\r\n }\r\n }\r\n};\r\nconst language = {\r\n defaultToken: \"\",\r\n tokenPostfix: \".java\",\r\n keywords: [\r\n \"abstract\",\r\n \"continue\",\r\n \"for\",\r\n \"new\",\r\n \"switch\",\r\n \"assert\",\r\n \"default\",\r\n \"goto\",\r\n \"package\",\r\n \"synchronized\",\r\n \"boolean\",\r\n \"do\",\r\n \"if\",\r\n \"private\",\r\n \"this\",\r\n \"break\",\r\n \"double\",\r\n \"implements\",\r\n \"protected\",\r\n \"throw\",\r\n \"byte\",\r\n \"else\",\r\n \"import\",\r\n \"public\",\r\n \"throws\",\r\n \"case\",\r\n \"enum\",\r\n \"instanceof\",\r\n \"return\",\r\n \"transient\",\r\n \"catch\",\r\n \"extends\",\r\n \"int\",\r\n \"short\",\r\n \"try\",\r\n \"char\",\r\n \"final\",\r\n \"interface\",\r\n \"static\",\r\n \"void\",\r\n \"class\",\r\n \"finally\",\r\n \"long\",\r\n \"strictfp\",\r\n \"volatile\",\r\n \"const\",\r\n \"float\",\r\n \"native\",\r\n \"super\",\r\n \"while\",\r\n \"true\",\r\n \"false\",\r\n \"yield\",\r\n \"record\",\r\n \"sealed\",\r\n \"non-sealed\",\r\n \"permits\"\r\n ],\r\n operators: [\r\n \"=\",\r\n \">\",\r\n \"<\",\r\n \"!\",\r\n \"~\",\r\n \"?\",\r\n \":\",\r\n \"==\",\r\n \"<=\",\r\n \">=\",\r\n \"!=\",\r\n \"&&\",\r\n \"||\",\r\n \"++\",\r\n \"--\",\r\n \"+\",\r\n \"-\",\r\n \"*\",\r\n \"/\",\r\n \"&\",\r\n \"|\",\r\n \"^\",\r\n \"%\",\r\n \"<<\",\r\n \">>\",\r\n \">>>\",\r\n \"+=\",\r\n \"-=\",\r\n \"*=\",\r\n \"/=\",\r\n \"&=\",\r\n \"|=\",\r\n \"^=\",\r\n \"%=\",\r\n \"<<=\",\r\n \">>=\",\r\n \">>>=\"\r\n ],\r\n // 常用类型\r\n typeKeywords: [\r\n 'String', 'Integer', 'Long', 'Double', 'Float', 'Boolean', 'Character', 'Byte', 'Short',\r\n 'Object', 'Class', 'System', 'Math', 'StringBuilder', 'StringBuffer',\r\n 'List', 'ArrayList', 'LinkedList', 'Map', 'HashMap', 'TreeMap', 'LinkedHashMap',\r\n 'Set', 'HashSet', 'TreeSet', 'LinkedHashSet', 'Queue', 'Deque', 'Stack',\r\n 'Collection', 'Collections', 'Arrays', 'Optional', 'Stream', 'Collectors',\r\n 'Exception', 'RuntimeException', 'Error', 'Throwable',\r\n 'Thread', 'Runnable', 'Callable', 'Future', 'CompletableFuture',\r\n 'Date', 'LocalDate', 'LocalTime', 'LocalDateTime', 'Instant', 'Duration',\r\n 'File', 'Path', 'Files', 'InputStream', 'OutputStream', 'Reader', 'Writer',\r\n 'Pattern', 'Matcher', 'Scanner', 'Random', 'UUID',\r\n 'BigDecimal', 'BigInteger', 'AtomicInteger', 'AtomicLong',\r\n 'Comparator', 'Comparable', 'Iterator', 'Iterable',\r\n 'Function', 'Consumer', 'Supplier', 'Predicate', 'BiFunction',\r\n ],\r\n // we include these common regular expressions\r\n symbols: /[=><!~?:&|+\\-*\\/\\^%]+/,\r\n escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\r\n digits: /\\d+(_+\\d+)*/,\r\n octaldigits: /[0-7]+(_+[0-7]+)*/,\r\n binarydigits: /[0-1]+(_+[0-1]+)*/,\r\n hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,\r\n // The main tokenizer for our languages\r\n tokenizer: {\r\n root: [\r\n // Special keyword with a dash\r\n [\"non-sealed\", \"keyword.non-sealed\"],\r\n // 方法调用 - xxx.method() 中的 method 显示为函数色\r\n [/([a-zA-Z_$][\\w$]*)(\\s*)(\\()/, [\r\n {\r\n cases: {\r\n \"@keywords\": \"keyword.$0\",\r\n \"@typeKeywords\": \"type\",\r\n \"@default\": \"function\"\r\n }\r\n },\r\n \"\",\r\n \"@brackets\"\r\n ]],\r\n // 类名 - 大写开头的标识符\r\n [/[A-Z][\\w$]*/, {\r\n cases: {\r\n \"@keywords\": \"keyword.$0\",\r\n \"@typeKeywords\": \"type\",\r\n \"@default\": \"type\"\r\n }\r\n }],\r\n // identifiers and keywords\r\n [\r\n /[a-z_$][\\w$]*/,\r\n {\r\n cases: {\r\n \"@keywords\": { token: \"keyword.$0\" },\r\n \"@default\": \"identifier\"\r\n }\r\n }\r\n ],\r\n // whitespace\r\n { include: \"@whitespace\" },\r\n // delimiters and operators\r\n [/[{}()\\[\\]]/, \"@brackets\"],\r\n [/[<>](?!@symbols)/, \"@brackets\"],\r\n [\r\n /@symbols/,\r\n {\r\n cases: {\r\n \"@operators\": \"delimiter\",\r\n \"@default\": \"\"\r\n }\r\n }\r\n ],\r\n // @ annotations.\r\n [/@\\s*[a-zA-Z_\\$][\\w\\$]*/, \"annotation\"],\r\n // numbers\r\n [/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/, \"number.float\"],\r\n [/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/, \"number.float\"],\r\n [/0[xX](@hexdigits)[Ll]?/, \"number.hex\"],\r\n [/0(@octaldigits)[Ll]?/, \"number.octal\"],\r\n [/0[bB](@binarydigits)[Ll]?/, \"number.binary\"],\r\n [/(@digits)[fFdD]/, \"number.float\"],\r\n [/(@digits)[lL]?/, \"number\"],\r\n // delimiter: after number because of .\\d floats\r\n [/[;,.]/, \"delimiter\"],\r\n // strings\r\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"],\r\n // non-teminated string\r\n [/\"\"\"/, \"string\", \"@multistring\"],\r\n [/\"/, \"string\", \"@string\"],\r\n // characters\r\n [/'[^\\\\']'/, \"string\"],\r\n [/(')(@escapes)(')/, [\"string\", \"string.escape\", \"string\"]],\r\n [/'/, \"string.invalid\"]\r\n ],\r\n whitespace: [\r\n [/[ \\t\\r\\n]+/, \"\"],\r\n [/\\/\\*\\*(?!\\/)/, \"comment.doc\", \"@javadoc\"],\r\n [/\\/\\*/, \"comment\", \"@comment\"],\r\n [/\\/\\/.*$/, \"comment\"]\r\n ],\r\n comment: [\r\n [/[^\\/*]+/, \"comment\"],\r\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\r\n // [/\\/\\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/\r\n [/\\*\\//, \"comment\", \"@pop\"],\r\n [/[\\/*]/, \"comment\"]\r\n ],\r\n //Identical copy of comment above, except for the addition of .doc\r\n javadoc: [\r\n [/[^\\/*]+/, \"comment.doc\"],\r\n // [/\\/\\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(\r\n [/\\/\\*/, \"comment.doc.invalid\"],\r\n [/\\*\\//, \"comment.doc\", \"@pop\"],\r\n [/[\\/*]/, \"comment.doc\"]\r\n ],\r\n string: [\r\n [/[^\\\\\"]+/, \"string\"],\r\n [/@escapes/, \"string.escape\"],\r\n [/\\\\./, \"string.escape.invalid\"],\r\n [/\"/, \"string\", \"@pop\"]\r\n ],\r\n multistring: [\r\n [/[^\\\\\"]+/, \"string\"],\r\n [/@escapes/, \"string.escape\"],\r\n [/\\\\./, \"string.escape.invalid\"],\r\n [/\"\"\"/, \"string\", \"@pop\"],\r\n [/./, \"string\"]\r\n ]\r\n }\r\n};\r\n\r\nfunction defineJavaThemes() {\r\n // Java 暗色主题\r\n monaco.editor.defineTheme('java-dark', {\r\n base: 'vs-dark',\r\n inherit: true,\r\n rules: [\r\n { token: 'keyword', foreground: '569CD6' },\r\n { token: 'keyword.package', foreground: 'C586C0' },\r\n { token: 'keyword.import', foreground: 'C586C0' },\r\n { token: 'keyword.class', foreground: '569CD6' },\r\n { token: 'keyword.interface', foreground: '569CD6' },\r\n { token: 'keyword.public', foreground: '569CD6' },\r\n { token: 'keyword.private', foreground: '569CD6' },\r\n { token: 'keyword.protected', foreground: '569CD6' },\r\n { token: 'keyword.static', foreground: '569CD6' },\r\n { token: 'keyword.final', foreground: '569CD6' },\r\n { token: 'keyword.void', foreground: '569CD6' },\r\n { token: 'keyword.return', foreground: 'C586C0' },\r\n { token: 'keyword.new', foreground: '569CD6' },\r\n { token: 'keyword.if', foreground: 'C586C0' },\r\n { token: 'keyword.else', foreground: 'C586C0' },\r\n { token: 'keyword.for', foreground: 'C586C0' },\r\n { token: 'keyword.while', foreground: 'C586C0' },\r\n { token: 'keyword.try', foreground: 'C586C0' },\r\n { token: 'keyword.catch', foreground: 'C586C0' },\r\n { token: 'keyword.throw', foreground: 'C586C0' },\r\n { token: 'keyword.throws', foreground: 'C586C0' },\r\n { token: 'type', foreground: '4EC9B0' }, // 青色 - 类型/类名\r\n { token: 'function', foreground: 'DCDCAA' }, // 黄色 - 方法名\r\n { token: 'annotation', foreground: 'D7BA7D' }, // 金色 - 注解\r\n { token: 'string', foreground: 'CE9178' }, // 橙色 - 字符串\r\n { token: 'number', foreground: 'B5CEA8' }, // 浅绿 - 数字\r\n { token: 'comment', foreground: '6A9955' }, // 绿色 - 注释\r\n { token: 'comment.doc', foreground: '6A9955' },\r\n { token: 'identifier', foreground: '9CDCFE' }, // 浅蓝 - 变量\r\n { token: 'delimiter', foreground: 'D4D4D4' },\r\n ],\r\n colors: {},\r\n });\r\n\r\n // Java 亮色主题\r\n monaco.editor.defineTheme('java-light', {\r\n base: 'vs',\r\n inherit: true,\r\n rules: [\r\n { token: 'keyword', foreground: '0000FF' },\r\n { token: 'keyword.package', foreground: 'AF00DB' },\r\n { token: 'keyword.import', foreground: 'AF00DB' },\r\n { token: 'keyword.return', foreground: 'AF00DB' },\r\n { token: 'keyword.if', foreground: 'AF00DB' },\r\n { token: 'keyword.else', foreground: 'AF00DB' },\r\n { token: 'keyword.for', foreground: 'AF00DB' },\r\n { token: 'keyword.while', foreground: 'AF00DB' },\r\n { token: 'keyword.try', foreground: 'AF00DB' },\r\n { token: 'keyword.catch', foreground: 'AF00DB' },\r\n { token: 'keyword.throw', foreground: 'AF00DB' },\r\n { token: 'type', foreground: '267F99' }, // 青色 - 类型/类名\r\n { token: 'function', foreground: '795E26' }, // 棕黄 - 方法名\r\n { token: 'annotation', foreground: '808000' }, // 橄榄 - 注解\r\n { token: 'string', foreground: 'A31515' }, // 红色 - 字符串\r\n { token: 'number', foreground: '098658' }, // 绿色 - 数字\r\n { token: 'comment', foreground: '008000' }, // 绿色 - 注释\r\n { token: 'identifier', foreground: '001080' }, // 深蓝 - 变量\r\n ],\r\n colors: {},\r\n });\r\n}\r\n\r\nlet javaCompletionRegistered = false;\r\n\r\nfunction registerJavaCompletion() {\r\n if (javaCompletionRegistered) return;\r\n javaCompletionRegistered = true;\r\n\r\n monaco.languages.registerCompletionItemProvider('java', {\r\n triggerCharacters: ['.', '@', ' '],\r\n provideCompletionItems: (model, position) => {\r\n const word = model.getWordUntilPosition(position);\r\n const range = {\r\n startLineNumber: position.lineNumber,\r\n endLineNumber: position.lineNumber,\r\n startColumn: word.startColumn,\r\n endColumn: word.endColumn,\r\n };\r\n const line = model.getLineContent(position.lineNumber);\r\n const before = line.substring(0, position.column - 1);\r\n const currentWord = word.word.toLowerCase();\r\n const suggestions: monaco.languages.CompletionItem[] = [];\r\n\r\n // Java 关键字和类型 - 只要有输入就提示\r\n if (currentWord.length >= 1) {\r\n const keywords: [string, string, string][] = [\r\n // 访问修饰符\r\n ['public', '公共访问', 'public '],\r\n ['private', '私有访问', 'private '],\r\n ['protected', '受保护访问', 'protected '],\r\n // 修饰符\r\n ['static', '静态', 'static '],\r\n ['final', '最终', 'final '],\r\n ['abstract', '抽象', 'abstract '],\r\n ['native', '本地方法', 'native '],\r\n ['strictfp', '严格浮点', 'strictfp '],\r\n ['synchronized', '同步', 'synchronized '],\r\n ['volatile', '易变', 'volatile '],\r\n ['transient', '瞬态', 'transient '],\r\n // 类型声明\r\n ['class', '类', 'class $1 {\\n $2\\n}'],\r\n ['interface', '接口', 'interface $1 {\\n $2\\n}'],\r\n ['enum', '枚举', 'enum $1 {\\n $2\\n}'],\r\n ['record', '记录类', 'record $1($2) {}'],\r\n ['@interface', '注解定义', '@interface $1 {\\n $2\\n}'],\r\n // 继承实现\r\n ['extends', '继承', 'extends '],\r\n ['implements', '实现', 'implements '],\r\n ['permits', '允许', 'permits '],\r\n ['sealed', '密封类', 'sealed '],\r\n ['non-sealed', '非密封', 'non-sealed '],\r\n // 包和导入\r\n ['package', '包声明', 'package $1;'],\r\n ['import', '导入', 'import $1;'],\r\n ['import static', '静态导入', 'import static $1;'],\r\n // 控制流\r\n ['if', '条件判断', 'if ($1) {\\n $2\\n}'],\r\n ['else', '否则', 'else {\\n $1\\n}'],\r\n ['else if', '否则如果', 'else if ($1) {\\n $2\\n}'],\r\n ['switch', 'switch语句', 'switch ($1) {\\n case $2 -> $3;\\n default -> $4;\\n}'],\r\n ['case', 'case分支', 'case $1 -> $2;'],\r\n ['default', '默认', 'default -> $1;'],\r\n ['for', 'for循环', 'for (int i = 0; i < $1; i++) {\\n $2\\n}'],\r\n ['while', 'while循环', 'while ($1) {\\n $2\\n}'],\r\n ['do', 'do-while', 'do {\\n $1\\n} while ($2);'],\r\n ['break', '跳出循环', 'break;'],\r\n ['continue', '继续循环', 'continue;'],\r\n ['return', '返回', 'return $1;'],\r\n ['yield', 'yield返回', 'yield $1;'],\r\n // 异常处理\r\n ['try', 'try块', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n}'],\r\n ['catch', 'catch块', 'catch ($1 e) {\\n $2\\n}'],\r\n ['finally', 'finally块', 'finally {\\n $1\\n}'],\r\n ['throw', '抛出异常', 'throw new $1(\"$2\");'],\r\n ['throws', '声明异常', 'throws $1'],\r\n // 对象操作\r\n ['new', '创建对象', 'new $1($2)'],\r\n ['this', '当前对象', 'this'],\r\n ['super', '父类引用', 'super'],\r\n ['instanceof', '类型检查', 'instanceof $1'],\r\n ['var', '类型推断', 'var $1 = $2;'],\r\n // 断言\r\n ['assert', '断言', 'assert $1 : \"$2\";'],\r\n // 常量\r\n ['null', '空值', 'null'],\r\n ['true', '真', 'true'],\r\n ['false', '假', 'false'],\r\n \r\n // 基本类型\r\n ['void', '无返回值', 'void'],\r\n ['boolean', '布尔型', 'boolean'],\r\n ['byte', '字节型', 'byte'],\r\n ['short', '短整型', 'short'],\r\n ['int', '整型', 'int'],\r\n ['long', '长整型', 'long'],\r\n ['float', '单精度浮点', 'float'],\r\n ['double', '双精度浮点', 'double'],\r\n ['char', '字符型', 'char'],\r\n \r\n // 包装类\r\n ['Boolean', '布尔包装类', 'Boolean'],\r\n ['Byte', '字节包装类', 'Byte'],\r\n ['Short', '短整型包装类', 'Short'],\r\n ['Integer', '整型包装类', 'Integer'],\r\n ['Long', '长整型包装类', 'Long'],\r\n ['Float', '单精度包装类', 'Float'],\r\n ['Double', '双精度包装类', 'Double'],\r\n ['Character', '字符包装类', 'Character'],\r\n ['Number', '数字基类', 'Number'],\r\n \r\n // 常用类\r\n ['String', '字符串', 'String'],\r\n ['StringBuilder', '字符串构建器', 'StringBuilder'],\r\n ['StringBuffer', '线程安全字符串', 'StringBuffer'],\r\n ['Object', '对象基类', 'Object'],\r\n ['Class', '类对象', 'Class<$1>'],\r\n ['System', '系统类', 'System'],\r\n ['Math', '数学类', 'Math'],\r\n ['Arrays', '数组工具', 'Arrays'],\r\n ['Objects', '对象工具', 'Objects'],\r\n ['Collections', '集合工具', 'Collections'],\r\n \r\n // 集合类\r\n ['List', '列表接口', 'List<$1>'],\r\n ['ArrayList', '数组列表', 'new ArrayList<$1>()'],\r\n ['LinkedList', '链表', 'new LinkedList<$1>()'],\r\n ['Set', '集合接口', 'Set<$1>'],\r\n ['HashSet', '哈希集合', 'new HashSet<$1>()'],\r\n ['TreeSet', '树集合', 'new TreeSet<$1>()'],\r\n ['LinkedHashSet', '有序哈希集合', 'new LinkedHashSet<$1>()'],\r\n ['Map', '映射接口', 'Map<$1, $2>'],\r\n ['HashMap', '哈希映射', 'new HashMap<$1, $2>()'],\r\n ['TreeMap', '树映射', 'new TreeMap<$1, $2>()'],\r\n ['LinkedHashMap', '有序哈希映射', 'new LinkedHashMap<$1, $2>()'],\r\n ['ConcurrentHashMap', '并发哈希映射', 'new ConcurrentHashMap<$1, $2>()'],\r\n ['Queue', '队列接口', 'Queue<$1>'],\r\n ['Deque', '双端队列', 'Deque<$1>'],\r\n ['Stack', '栈', 'new Stack<$1>()'],\r\n ['Vector', '向量', 'new Vector<$1>()'],\r\n ['Collection', '集合接口', 'Collection<$1>'],\r\n ['Iterable', '可迭代接口', 'Iterable<$1>'],\r\n ['Iterator', '迭代器', 'Iterator<$1>'],\r\n \r\n // Optional\r\n ['Optional', 'Optional容器', 'Optional<$1>'],\r\n ['OptionalInt', 'int的Optional', 'OptionalInt'],\r\n ['OptionalLong', 'long的Optional', 'OptionalLong'],\r\n ['OptionalDouble', 'double的Optional', 'OptionalDouble'],\r\n \r\n // Stream\r\n ['Stream', '流', 'Stream<$1>'],\r\n ['IntStream', 'int流', 'IntStream'],\r\n ['LongStream', 'long流', 'LongStream'],\r\n ['DoubleStream', 'double流', 'DoubleStream'],\r\n ['Collectors', '收集器', 'Collectors'],\r\n \r\n // 函数式接口\r\n ['Function', '函数接口', 'Function<$1, $2>'],\r\n ['BiFunction', '双参数函数', 'BiFunction<$1, $2, $3>'],\r\n ['Consumer', '消费者接口', 'Consumer<$1>'],\r\n ['BiConsumer', '双参数消费者', 'BiConsumer<$1, $2>'],\r\n ['Supplier', '供应者接口', 'Supplier<$1>'],\r\n ['Predicate', '断言接口', 'Predicate<$1>'],\r\n ['BiPredicate', '双参数断言', 'BiPredicate<$1, $2>'],\r\n ['UnaryOperator', '一元操作符', 'UnaryOperator<$1>'],\r\n ['BinaryOperator', '二元操作符', 'BinaryOperator<$1>'],\r\n ['Comparator', '比较器', 'Comparator<$1>'],\r\n ['Comparable', '可比较接口', 'Comparable<$1>'],\r\n ['Runnable', '可运行接口', 'Runnable'],\r\n ['Callable', '可调用接口', 'Callable<$1>'],\r\n \r\n // 异常类\r\n ['Exception', '异常', 'Exception'],\r\n ['RuntimeException', '运行时异常', 'RuntimeException'],\r\n ['NullPointerException', '空指针异常', 'NullPointerException'],\r\n ['IllegalArgumentException', '非法参数异常', 'IllegalArgumentException'],\r\n ['IllegalStateException', '非法状态异常', 'IllegalStateException'],\r\n ['IndexOutOfBoundsException', '索引越界异常', 'IndexOutOfBoundsException'],\r\n ['IOException', 'IO异常', 'IOException'],\r\n ['FileNotFoundException', '文件未找到异常', 'FileNotFoundException'],\r\n ['SQLException', 'SQL异常', 'SQLException'],\r\n ['ClassNotFoundException', '类未找到异常', 'ClassNotFoundException'],\r\n ['NoSuchMethodException', '方法未找到异常', 'NoSuchMethodException'],\r\n ['Error', '错误', 'Error'],\r\n ['Throwable', '可抛出', 'Throwable'],\r\n \r\n // 并发类\r\n ['Thread', '线程', 'Thread'],\r\n ['Future', 'Future接口', 'Future<$1>'],\r\n ['CompletableFuture', '可完成Future', 'CompletableFuture<$1>'],\r\n ['ExecutorService', '执行器服务', 'ExecutorService'],\r\n ['Executors', '执行器工厂', 'Executors'],\r\n ['ThreadPoolExecutor', '线程池执行器', 'ThreadPoolExecutor'],\r\n ['CountDownLatch', '倒计时门闩', 'CountDownLatch'],\r\n ['CyclicBarrier', '循环屏障', 'CyclicBarrier'],\r\n ['Semaphore', '信号量', 'Semaphore'],\r\n ['ReentrantLock', '可重入锁', 'ReentrantLock'],\r\n ['AtomicInteger', '原子整数', 'AtomicInteger'],\r\n ['AtomicLong', '原子长整数', 'AtomicLong'],\r\n ['AtomicBoolean', '原子布尔', 'AtomicBoolean'],\r\n ['AtomicReference', '原子引用', 'AtomicReference<$1>'],\r\n \r\n // 日期时间\r\n ['Date', '日期(旧)', 'Date'],\r\n ['Calendar', '日历(旧)', 'Calendar'],\r\n ['LocalDate', '本地日期', 'LocalDate'],\r\n ['LocalTime', '本地时间', 'LocalTime'],\r\n ['LocalDateTime', '本地日期时间', 'LocalDateTime'],\r\n ['ZonedDateTime', '带时区日期时间', 'ZonedDateTime'],\r\n ['Instant', '时间戳', 'Instant'],\r\n ['Duration', '时间段', 'Duration'],\r\n ['Period', '日期段', 'Period'],\r\n ['DateTimeFormatter', '日期格式化', 'DateTimeFormatter'],\r\n \r\n // IO类\r\n ['File', '文件', 'File'],\r\n ['Path', '路径', 'Path'],\r\n ['Paths', '路径工具', 'Paths'],\r\n ['Files', '文件工具', 'Files'],\r\n ['InputStream', '输入流', 'InputStream'],\r\n ['OutputStream', '输出流', 'OutputStream'],\r\n ['FileInputStream', '文件输入流', 'FileInputStream'],\r\n ['FileOutputStream', '文件输出流', 'FileOutputStream'],\r\n ['BufferedReader', '缓冲读取器', 'BufferedReader'],\r\n ['BufferedWriter', '缓冲写入器', 'BufferedWriter'],\r\n ['Reader', '读取器', 'Reader'],\r\n ['Writer', '写入器', 'Writer'],\r\n \r\n // 其他常用\r\n ['BigDecimal', '高精度小数', 'BigDecimal'],\r\n ['BigInteger', '高精度整数', 'BigInteger'],\r\n ['UUID', 'UUID', 'UUID'],\r\n ['Random', '随机数', 'Random'],\r\n ['Pattern', '正则模式', 'Pattern'],\r\n ['Matcher', '正则匹配器', 'Matcher'],\r\n ['Scanner', '扫描器', 'Scanner'],\r\n ['Enum', '枚举基类', 'Enum'],\r\n ['Annotation', '注解接口', 'Annotation'],\r\n ['Override', '重写注解', '@Override'],\r\n ['Deprecated', '弃用注解', '@Deprecated'],\r\n ['SuppressWarnings', '抑制警告', '@SuppressWarnings(\"$1\")'],\r\n ];\r\n keywords.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\r\n suggestions.push({ \r\n label, \r\n detail, \r\n insertText: text, \r\n range, \r\n kind: monaco.languages.CompletionItemKind.Keyword, \r\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n sortText: '0' + label, // 优先显示\r\n });\r\n });\r\n }\r\n\r\n // 注解\r\n if (before.endsWith('@') || /@\\w*$/.test(before)) {\r\n const annotations: [string, string, string][] = [\r\n ['@Override', '重写方法', '@Override'],\r\n ['@Deprecated', '已弃用', '@Deprecated'],\r\n ['@SuppressWarnings', '抑制警告', '@SuppressWarnings(\"$1\")'],\r\n ['@FunctionalInterface', '函数式接口', '@FunctionalInterface'],\r\n ['@SafeVarargs', '安全可变参数', '@SafeVarargs'],\r\n ['@Autowired', 'Spring自动注入', '@Autowired'],\r\n ['@Component', 'Spring组件', '@Component'],\r\n ['@Service', 'Spring服务', '@Service'],\r\n ['@Repository', 'Spring仓库', '@Repository'],\r\n ['@Controller', 'Spring控制器', '@Controller'],\r\n ['@RestController', 'REST控制器', '@RestController'],\r\n ['@RequestMapping', '请求映射', '@RequestMapping(\"$1\")'],\r\n ['@GetMapping', 'GET请求', '@GetMapping(\"$1\")'],\r\n ['@PostMapping', 'POST请求', '@PostMapping(\"$1\")'],\r\n ['@PutMapping', 'PUT请求', '@PutMapping(\"$1\")'],\r\n ['@DeleteMapping', 'DELETE请求', '@DeleteMapping(\"$1\")'],\r\n ['@PathVariable', '路径变量', '@PathVariable'],\r\n ['@RequestParam', '请求参数', '@RequestParam'],\r\n ['@RequestBody', '请求体', '@RequestBody'],\r\n ['@ResponseBody', '响应体', '@ResponseBody'],\r\n ['@Bean', 'Spring Bean', '@Bean'],\r\n ['@Configuration', '配置类', '@Configuration'],\r\n ['@Value', '注入值', '@Value(\"${$1}\")'],\r\n ['@Transactional', '事务', '@Transactional'],\r\n ['@Slf4j', 'Lombok日志', '@Slf4j'],\r\n ['@Data', 'Lombok数据类', '@Data'],\r\n ['@Getter', 'Lombok Getter', '@Getter'],\r\n ['@Setter', 'Lombok Setter', '@Setter'],\r\n ['@NoArgsConstructor', '无参构造', '@NoArgsConstructor'],\r\n ['@AllArgsConstructor', '全参构造', '@AllArgsConstructor'],\r\n ['@Builder', 'Lombok Builder', '@Builder'],\r\n ['@ToString', 'Lombok ToString', '@ToString'],\r\n ['@EqualsAndHashCode', 'Lombok Equals/HashCode', '@EqualsAndHashCode'],\r\n ['@Test', 'JUnit测试', '@Test'],\r\n ['@BeforeEach', 'JUnit前置', '@BeforeEach'],\r\n ['@AfterEach', 'JUnit后置', '@AfterEach'],\r\n ['@Nullable', '可空', '@Nullable'],\r\n ['@NotNull', '非空', '@NotNull'],\r\n ['@Valid', '验证', '@Valid'],\r\n ];\r\n const atIndex = before.lastIndexOf('@');\r\n const typed = before.substring(atIndex + 1).toLowerCase();\r\n const annotationRange = {\r\n startLineNumber: position.lineNumber,\r\n endLineNumber: position.lineNumber,\r\n startColumn: atIndex + 1,\r\n endColumn: position.column,\r\n };\r\n annotations.filter(([label]) => typed.length === 0 || label.toLowerCase().includes(typed)).forEach(([label, detail, text]) => {\r\n suggestions.push({ label, detail, insertText: text, range: annotationRange, kind: monaco.languages.CompletionItemKind.Interface, insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet });\r\n });\r\n }\r\n\r\n // 常用方法 - 在 . 后触发\r\n if (before.endsWith('.')) {\r\n const methods: [string, string, string][] = [\r\n // Object 方法\r\n ['toString()', '转字符串', 'toString()'],\r\n ['equals()', '比较相等', 'equals($1)'],\r\n ['hashCode()', '哈希码', 'hashCode()'],\r\n ['getClass()', '获取类', 'getClass()'],\r\n // String 方法\r\n ['length()', '字符串长度', 'length()'],\r\n ['isEmpty()', '是否为空', 'isEmpty()'],\r\n ['isBlank()', '是否空白', 'isBlank()'],\r\n ['trim()', '去除空格', 'trim()'],\r\n ['strip()', '去除空白', 'strip()'],\r\n ['toLowerCase()', '转小写', 'toLowerCase()'],\r\n ['toUpperCase()', '转大写', 'toUpperCase()'],\r\n ['substring()', '截取子串', 'substring($1, $2)'],\r\n ['charAt()', '获取字符', 'charAt($1)'],\r\n ['indexOf()', '查找索引', 'indexOf($1)'],\r\n ['lastIndexOf()', '最后索引', 'lastIndexOf($1)'],\r\n ['contains()', '是否包含', 'contains($1)'],\r\n ['startsWith()', '是否开头', 'startsWith($1)'],\r\n ['endsWith()', '是否结尾', 'endsWith($1)'],\r\n ['replace()', '替换', 'replace($1, $2)'],\r\n ['replaceAll()', '正则替换', 'replaceAll($1, $2)'],\r\n ['split()', '分割', 'split($1)'],\r\n ['join()', '连接', 'join($1, $2)'],\r\n ['format()', '格式化', 'format($1)'],\r\n ['matches()', '正则匹配', 'matches($1)'],\r\n // Collection 方法\r\n ['add()', '添加元素', 'add($1)'],\r\n ['addAll()', '添加所有', 'addAll($1)'],\r\n ['remove()', '移除元素', 'remove($1)'],\r\n ['removeAll()', '移除所有', 'removeAll($1)'],\r\n ['clear()', '清空', 'clear()'],\r\n ['size()', '大小', 'size()'],\r\n ['get()', '获取元素', 'get($1)'],\r\n ['set()', '设置元素', 'set($1, $2)'],\r\n ['contains()', '是否包含', 'contains($1)'],\r\n ['containsAll()', '是否包含所有', 'containsAll($1)'],\r\n ['iterator()', '迭代器', 'iterator()'],\r\n ['toArray()', '转数组', 'toArray()'],\r\n ['stream()', '流', 'stream()'],\r\n ['forEach()', '遍历', 'forEach($1 -> $2)'],\r\n // Map 方法\r\n ['put()', '放入', 'put($1, $2)'],\r\n ['putAll()', '放入所有', 'putAll($1)'],\r\n ['get()', '获取', 'get($1)'],\r\n ['getOrDefault()', '获取或默认', 'getOrDefault($1, $2)'],\r\n ['containsKey()', '包含键', 'containsKey($1)'],\r\n ['containsValue()', '包含值', 'containsValue($1)'],\r\n ['keySet()', '键集合', 'keySet()'],\r\n ['values()', '值集合', 'values()'],\r\n ['entrySet()', '条目集合', 'entrySet()'],\r\n // Stream 方法\r\n ['filter()', '过滤', 'filter($1 -> $2)'],\r\n ['map()', '映射', 'map($1 -> $2)'],\r\n ['flatMap()', '扁平映射', 'flatMap($1 -> $2)'],\r\n ['sorted()', '排序', 'sorted()'],\r\n ['distinct()', '去重', 'distinct()'],\r\n ['limit()', '限制', 'limit($1)'],\r\n ['skip()', '跳过', 'skip($1)'],\r\n ['collect()', '收集', 'collect(Collectors.$1)'],\r\n ['toList()', '转列表', 'toList()'],\r\n ['findFirst()', '查找第一个', 'findFirst()'],\r\n ['findAny()', '查找任意', 'findAny()'],\r\n ['anyMatch()', '任意匹配', 'anyMatch($1 -> $2)'],\r\n ['allMatch()', '全部匹配', 'allMatch($1 -> $2)'],\r\n ['noneMatch()', '无匹配', 'noneMatch($1 -> $2)'],\r\n ['count()', '计数', 'count()'],\r\n ['reduce()', '归约', 'reduce($1, ($2, $3) -> $4)'],\r\n // Optional 方法\r\n ['isPresent()', '是否存在', 'isPresent()'],\r\n ['isEmpty()', '是否为空', 'isEmpty()'],\r\n ['get()', '获取值', 'get()'],\r\n ['orElse()', '或者', 'orElse($1)'],\r\n ['orElseGet()', '或者获取', 'orElseGet(() -> $1)'],\r\n ['orElseThrow()', '或者抛出', 'orElseThrow(() -> new $1())'],\r\n ['ifPresent()', '如果存在', 'ifPresent($1 -> $2)'],\r\n ['map()', '映射', 'map($1 -> $2)'],\r\n ['flatMap()', '扁平映射', 'flatMap($1 -> $2)'],\r\n ['filter()', '过滤', 'filter($1 -> $2)'],\r\n // 打印\r\n ['println()', '打印换行', 'println($1)'],\r\n ['print()', '打印', 'print($1)'],\r\n ['printf()', '格式化打印', 'printf($1)'],\r\n ];\r\n methods.forEach(([label, detail, text]) => {\r\n suggestions.push({ label, detail, insertText: text, range, kind: monaco.languages.CompletionItemKind.Method, insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet });\r\n });\r\n }\r\n\r\n // 代码片段\r\n if (currentWord.length >= 1) {\r\n const snippets: [string, string, string][] = [\r\n // 输出\r\n ['sout', 'System.out.println', 'System.out.println($1);'],\r\n ['soutv', '打印变量', 'System.out.println(\"$1 = \" + $1);'],\r\n ['serr', 'System.err.println', 'System.err.println($1);'],\r\n ['souf', 'System.out.printf', 'System.out.printf(\"$1%n\", $2);'],\r\n \r\n // main方法\r\n ['psvm', 'main方法', 'public static void main(String[] args) {\\n $1\\n}'],\r\n ['main', 'main方法', 'public static void main(String[] args) {\\n $1\\n}'],\r\n \r\n // 方法定义\r\n ['pub', 'public方法', 'public $1 $2($3) {\\n $4\\n}'],\r\n ['priv', 'private方法', 'private $1 $2($3) {\\n $4\\n}'],\r\n ['prot', 'protected方法', 'protected $1 $2($3) {\\n $4\\n}'],\r\n ['pubsf', 'public static final', 'public static final $1 $2 = $3;'],\r\n ['privsf', 'private static final', 'private static final $1 $2 = $3;'],\r\n \r\n // 循环\r\n ['fori', 'for i循环', 'for (int i = 0; i < $1; i++) {\\n $2\\n}'],\r\n ['forr', 'for 倒序循环', 'for (int i = $1 - 1; i >= 0; i--) {\\n $2\\n}'],\r\n ['fore', '增强for循环', 'for ($1 $2 : $3) {\\n $4\\n}'],\r\n ['iter', '迭代器循环', 'for (Iterator<$1> it = $2.iterator(); it.hasNext(); ) {\\n $1 $3 = it.next();\\n $4\\n}'],\r\n ['while', 'while循环', 'while ($1) {\\n $2\\n}'],\r\n ['dowhile', 'do-while循环', 'do {\\n $1\\n} while ($2);'],\r\n \r\n // 条件\r\n ['ife', 'if-else', 'if ($1) {\\n $2\\n} else {\\n $3\\n}'],\r\n ['ifn', 'if null', 'if ($1 == null) {\\n $2\\n}'],\r\n ['ifnn', 'if not null', 'if ($1 != null) {\\n $2\\n}'],\r\n ['tern', '三元表达式', '$1 ? $2 : $3'],\r\n \r\n // 异常\r\n ['tryc', 'try-catch', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n}'],\r\n ['trycf', 'try-catch-finally', 'try {\\n $1\\n} catch (Exception e) {\\n $2\\n} finally {\\n $3\\n}'],\r\n ['tryr', 'try-with-resources', 'try ($1) {\\n $2\\n} catch (Exception e) {\\n $3\\n}'],\r\n ['throw', '抛出异常', 'throw new $1(\"$2\");'],\r\n \r\n // 集合创建\r\n ['lst', 'new ArrayList', 'List<$1> $2 = new ArrayList<>();'],\r\n ['lstaof', 'List.of', 'List.of($1)'],\r\n ['map', 'new HashMap', 'Map<$1, $2> $3 = new HashMap<>();'],\r\n ['mapof', 'Map.of', 'Map.of($1, $2)'],\r\n ['set', 'new HashSet', 'Set<$1> $2 = new HashSet<>();'],\r\n ['setof', 'Set.of', 'Set.of($1)'],\r\n \r\n // Stream\r\n ['stream', 'stream操作', '$1.stream()\\n .filter($2 -> $3)\\n .map($4 -> $5)\\n .collect(Collectors.toList())'],\r\n ['streamf', 'stream filter', '$1.stream().filter($2 -> $3).collect(Collectors.toList())'],\r\n ['streamm', 'stream map', '$1.stream().map($2 -> $3).collect(Collectors.toList())'],\r\n ['foreach', 'forEach', '$1.forEach($2 -> {\\n $3\\n});'],\r\n \r\n // Optional\r\n ['opt', 'Optional.of', 'Optional.of($1)'],\r\n ['optn', 'Optional.ofNullable', 'Optional.ofNullable($1)'],\r\n ['opte', 'Optional.empty', 'Optional.empty()'],\r\n \r\n // 日志\r\n ['log', 'log.info', 'log.info(\"$1\");'],\r\n ['logd', 'log.debug', 'log.debug(\"$1\");'],\r\n ['logw', 'log.warn', 'log.warn(\"$1\");'],\r\n ['loge', 'log.error', 'log.error(\"$1\", $2);'],\r\n ['logt', 'log.trace', 'log.trace(\"$1\");'],\r\n ['logv', 'log变量', 'log.info(\"$1 = {}\", $1);'],\r\n \r\n // 测试\r\n ['test', '@Test方法', '@Test\\nvoid $1() {\\n $2\\n}'],\r\n ['testd', '@Test带DisplayName', '@Test\\n@DisplayName(\"$1\")\\nvoid $2() {\\n $3\\n}'],\r\n ['before', '@BeforeEach', '@BeforeEach\\nvoid setUp() {\\n $1\\n}'],\r\n ['after', '@AfterEach', '@AfterEach\\nvoid tearDown() {\\n $1\\n}'],\r\n ['aseq', 'assertEquals', 'assertEquals($1, $2);'],\r\n ['asne', 'assertNotEquals', 'assertNotEquals($1, $2);'],\r\n ['ast', 'assertTrue', 'assertTrue($1);'],\r\n ['asf', 'assertFalse', 'assertFalse($1);'],\r\n ['asn', 'assertNull', 'assertNull($1);'],\r\n ['asnn', 'assertNotNull', 'assertNotNull($1);'],\r\n ['asth', 'assertThrows', 'assertThrows($1.class, () -> {\\n $2\\n});'],\r\n \r\n // Lambda\r\n ['lam', 'lambda表达式', '($1) -> $2'],\r\n ['lamb', 'lambda块', '($1) -> {\\n $2\\n}'],\r\n ['mr', '方法引用', '$1::$2'],\r\n \r\n // 构造器\r\n ['ctor', '构造方法', 'public $1($2) {\\n $3\\n}'],\r\n ['ctord', '默认构造方法', 'public $1() {\\n}'],\r\n \r\n // getter/setter\r\n ['get', 'getter方法', 'public $1 get$2() {\\n return this.$3;\\n}'],\r\n ['set', 'setter方法', 'public void set$1($2 $3) {\\n this.$3 = $3;\\n}'],\r\n ['getset', 'getter和setter', 'public $1 get$2() {\\n return this.$3;\\n}\\n\\npublic void set$2($1 $3) {\\n this.$3 = $3;\\n}'],\r\n \r\n // toString/equals/hashCode\r\n ['tostr', 'toString方法', '@Override\\npublic String toString() {\\n return \"$1{\" +\\n \"$2=\" + $2 +\\n \\'}\\';\\n}'],\r\n ['eqhc', 'equals和hashCode', '@Override\\npublic boolean equals(Object o) {\\n if (this == o) return true;\\n if (o == null || getClass() != o.getClass()) return false;\\n $1 that = ($1) o;\\n return Objects.equals($2, that.$2);\\n}\\n\\n@Override\\npublic int hashCode() {\\n return Objects.hash($2);\\n}'],\r\n \r\n // 单例\r\n ['singleton', '单例模式', 'private static final $1 INSTANCE = new $1();\\n\\nprivate $1() {}\\n\\npublic static $1 getInstance() {\\n return INSTANCE;\\n}'],\r\n \r\n // 日期时间\r\n ['now', 'LocalDateTime.now', 'LocalDateTime.now()'],\r\n ['today', 'LocalDate.now', 'LocalDate.now()'],\r\n ['dtf', 'DateTimeFormatter', 'DateTimeFormatter.ofPattern(\"$1\")'],\r\n ];\r\n snippets.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\r\n suggestions.push({ \r\n label, \r\n detail, \r\n insertText: text, \r\n range, \r\n kind: monaco.languages.CompletionItemKind.Snippet, \r\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n sortText: '1' + label, // 片段稍后显示\r\n });\r\n });\r\n }\r\n\r\n return { suggestions };\r\n },\r\n });\r\n}\r\n\r\nexport {\r\n conf,\r\n language,\r\n registerJavaCompletion,\r\n defineJavaThemes\r\n};"],"mappings":"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"}
package/dist/keli-ui.css CHANGED
@@ -1,2 +1,2 @@
1
- .el-col-plus[data-v-57329ddf],.el-row-plus[data-v-c207f87e]{box-sizing:border-box}.query-bar-client{background:var(--el-fill-color-blank);padding:8px 8px 0}.min-width[data-v-e02acf5d]{min-width:120px}.filterBoard[data-v-7e102fe5]{background:var(--el-fill-color-blank);flex-direction:column;height:calc(100% - 12px);margin:6px 6px 6px 0;padding:12px 8px 8px;display:flex}.filterBoard .tree-container[data-v-7e102fe5]{flex-grow:1;height:0;margin-top:12px}.custom-tree-node[data-v-7e102fe5]{border-radius:calc(var(--el-border-radius-base) - 1px);flex:1;justify-content:space-between;align-items:center;padding:4px 4px 4px 6px;font-size:14px;display:flex}.is-checked[data-v-7e102fe5]{color:#fff;background-color:var(--el-color-primary)!important}.text[data-v-a5217a12]{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;width:100%;display:inline-block;overflow:hidden}.text[data-v-9da76d44]{cursor:pointer;width:100%}.table-check-box-async[data-v-e263854d]{width:100%}.table-check-box-async .text[data-v-e263854d]{cursor:pointer}.dialog-header[data-v-e263854d]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.ke-table-render-client{background:var(--overlay-content);flex-direction:column;height:100%;display:flex}.ke-query-bar-client{margin-top:6px}.ke-table-tool-button{margin:6px 2px}.ke-query-bar-client,.ke-table-tool-button,.ke-pagination-div{flex-shrink:0}.ke-vxe-grid-container{flex-grow:1;height:0;overflow:hidden}.ke-vxe-grid-container .vxe-grid{height:100%;overflow:auto}.ke-pagination-div{background:var(--el-fill-color-blank);border-radius:4px;margin-top:10px;padding:6px}.vxe-grid{-webkit-user-select:none;user-select:none}[data-v-607ab83a] .el-scrollbar__wrap{overflow-x:hidden!important}[data-v-607ab83a] .el-scrollbar__bar.is-horizontal{height:0!important}[data-v-607ab83a] .el-form-item{margin-bottom:0!important}.table-card-render-client[data-v-607ab83a]{flex-direction:column;height:100%;display:flex}.title-wrapper[data-v-607ab83a]{justify-content:space-between;align-items:center;display:flex}.title-wrapper .title-text[data-v-607ab83a]{flex:1}.title-wrapper .dropdown-wrapper[data-v-607ab83a]{margin-left:auto}.table-tool-button[data-v-607ab83a]{margin-top:6px}.card-container[data-v-607ab83a]{flex-grow:1;height:0;overflow:hidden}.pagination-div[data-v-607ab83a]{background:var(--el-fill-color-blank);margin-top:10px;padding:6px}.full[data-v-8f2c6d44]{width:100%}td.current .dateCell[data-v-4a6233e0]{color:#fff;background-color:var(--el-color-primary);border-radius:calc(var(--el-border-radius-base) - 1px)}td.today .dateCell[data-v-4a6233e0]{color:var(--el-color-primary)}.dateCell[data-v-4a6233e0]{width:48px;height:42px}.dateCell span[data-v-4a6233e0]{display:block}.dateCell .solar_calendar[data-v-4a6233e0]{font-size:16px;font-weight:400}.dateCell .lunar_calendar[data-v-4a6233e0]{text-overflow:ellipsis;white-space:nowrap;margin-top:-14px;margin-bottom:-6px;font-size:10px;overflow:hidden}td.current .dateCell[data-v-cb054933]{color:#fff;background-color:var(--el-color-primary);border-radius:calc(var(--el-border-radius-base) - 1px)}td.today .dateCell[data-v-cb054933]{color:var(--el-color-primary)}.dateCell[data-v-cb054933]{width:48px;height:42px}.dateCell span[data-v-cb054933]{display:block}.dateCell .solar_calendar[data-v-cb054933]{font-size:16px;font-weight:400}.dateCell .lunar_calendar[data-v-cb054933]{text-overflow:ellipsis;white-space:nowrap;margin-top:-14px;margin-bottom:-6px;font-size:10px;overflow:hidden}.dict-selector[data-v-8a055f0c]{width:100%}.dict-selector[data-v-8a055f0c] .el-input__inner{cursor:pointer}[data-v-8a055f0c] .dict-selector-dialog .el-dialog{flex-direction:column;max-height:90vh;display:flex}[data-v-8a055f0c] .dict-selector-dialog .el-dialog__body{flex:1;height:70vh;padding:0;overflow:hidden}.dict-selector-content[data-v-8a055f0c]{gap:16px;height:100%;padding:16px;display:flex}.dict-list[data-v-8a055f0c]{border:1px solid var(--el-border-color);border-radius:4px;flex-direction:column;flex:0 0 300px;display:flex;overflow:hidden}.dict-list-header[data-v-8a055f0c]{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dict-list-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-search[data-v-8a055f0c]{border-bottom:1px solid var(--el-border-color-lighter);padding:12px 16px}.dict-list-body[data-v-8a055f0c]{flex:1;overflow-y:auto}.empty-result[data-v-8a055f0c]{text-align:center;padding:20px}.dict-item[data-v-8a055f0c]{border-bottom:1px solid var(--el-border-color-lighter);cursor:pointer;padding:12px 16px;transition:all .2s}.dict-item[data-v-8a055f0c]:hover{background-color:var(--el-fill-color-light)}.dict-item.active[data-v-8a055f0c]{background-color:var(--el-color-primary-light-9);border-left:3px solid var(--el-color-primary)}.dict-item[data-v-8a055f0c]:last-child{border-bottom:none}.dict-item-content[data-v-8a055f0c]{margin-bottom:8px}.dict-item-content .dict-name[data-v-8a055f0c]{margin-bottom:4px;font-size:14px;font-weight:500}.dict-item-content .dict-code[data-v-8a055f0c]{color:var(--el-text-color-secondary);font-size:12px}.dict-item-actions[data-v-8a055f0c]{gap:8px;display:flex}.dict-detail[data-v-8a055f0c]{border:1px solid var(--el-border-color);border-radius:4px;flex-direction:column;flex:1;display:flex;overflow:hidden}.dict-detail-header[data-v-8a055f0c]{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color);padding:12px 16px}.dict-detail-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-info[data-v-8a055f0c]{padding:16px}.dict-items[data-v-8a055f0c]{flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden}.dict-items .dict-items-header[data-v-8a055f0c]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dict-items .dict-items-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-items[data-v-8a055f0c] .el-table{flex:1}.empty-state[data-v-8a055f0c]{flex:1;justify-content:center;align-items:center;display:flex}.cursor-pointer[data-v-8a055f0c]{cursor:pointer}.icon-picker[data-v-dbe424e4]{width:100%}.icon-picker .clear-icon[data-v-dbe424e4]{cursor:pointer}.icon-picker .clear-icon[data-v-dbe424e4]:hover{color:var(--el-color-primary)}.picker-content[data-v-dbe424e4]{padding:8px}.picker-header[data-v-dbe424e4]{gap:8px;margin-bottom:12px;display:flex}.icon-grid[data-v-dbe424e4]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:4px;grid-template-columns:repeat(6,1fr);gap:8px;max-height:400px;padding:8px;display:grid;position:relative;overflow-y:auto}.icon-grid .icon-item[data-v-dbe424e4]{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:70px;padding:8px 4px;transition:all .2s;display:flex}.icon-grid .icon-item .icon-wrapper[data-v-dbe424e4]{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.icon-grid .icon-item .icon-wrapper .icon-name[data-v-dbe424e4]{color:var(--el-text-color-secondary);text-align:center;word-break:break-all;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:10px;line-height:1.2;display:-webkit-box;overflow:hidden}.icon-grid .icon-item[data-v-dbe424e4]:hover{background:var(--el-fill-color-light);border-color:var(--el-color-primary-light-5);transform:scale(1.05)}.icon-grid .icon-item:hover .icon-name[data-v-dbe424e4]{color:var(--el-text-color-primary)}.icon-grid .icon-item.selected[data-v-dbe424e4]{background:var(--el-color-primary-light-9);border-color:var(--el-color-primary)}.icon-grid .icon-item.selected .icon-name[data-v-dbe424e4]{color:var(--el-color-primary);font-weight:500}.icon-grid .loading-more[data-v-dbe424e4],.icon-grid .no-more[data-v-dbe424e4]{color:var(--el-text-color-secondary);grid-column:1/-1;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.icon-grid[data-v-dbe424e4]:has(.el-empty){justify-content:center;align-items:center;display:flex}.picker-footer[data-v-dbe424e4]{justify-content:center;margin-top:8px;padding-top:8px;display:flex}.icon-picker-popover{padding:12px!important}.form-file-upload[data-v-eedff488] .el-upload--picture-card,.form-file-upload[data-v-eedff488] .el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px}.container[data-v-0b92dda1]{width:100%;height:100%;padding:0}.code-preview[data-v-0b92dda1]{width:100%;height:100%;position:relative}.code-prefix[data-v-0b92dda1],.code-suffix[data-v-0b92dda1]{color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border:1px solid var(--el-border-color);white-space:pre-wrap;margin:0;padding:4px 8px;font-family:monospace;font-size:12px}.code-prefix[data-v-0b92dda1]{border-radius:var(--el-border-radius-base) var(--el-border-radius-base) 0 0;border-bottom:none}.code-suffix[data-v-0b92dda1]{border-radius:0 0 var(--el-border-radius-base) var(--el-border-radius-base);border-top:none}.main-editor[data-v-0b92dda1]{border-radius:var(--el-border-radius-base);border:1px solid var(--el-border-color);width:100%;overflow:hidden}.code-prefix+.main-editor[data-v-0b92dda1]{border-radius:0}.main-editor[data-v-0b92dda1]:has(+.code-suffix){border-radius:var(--el-border-radius-base) var(--el-border-radius-base) 0 0}.code-prefix+.main-editor[data-v-0b92dda1]:has(+.code-suffix){border-radius:0}.expand-btn[data-v-0b92dda1]{z-index:10;position:absolute;top:4px;right:4px}.dialog-container[data-v-0b92dda1]{width:100%;height:100%;padding:0}.dialog-editor[data-v-0b92dda1]{border-radius:var(--el-border-radius-base);border:1px solid var(--el-border-color);width:100%;height:80vh;overflow:hidden}.code-editor-dialog .el-dialog__body{padding:8px 12px 12px}.fieldset[data-v-87bc4b57]{border:none;min-width:0;margin:0;padding:0}.fieldset--bordered[data-v-87bc4b57]{border:1px solid var(--el-border-color);border-radius:var(--el-border-radius-base);padding:12px}.fieldset--collapsed.fieldset--bordered[data-v-87bc4b57]{padding-bottom:0}.fieldset-legend[data-v-87bc4b57]{color:var(--el-text-color-primary);align-items:center;gap:4px;padding:0 8px;font-size:14px;font-weight:500;display:inline-flex}.fieldset-legend--collapsible[data-v-87bc4b57]{cursor:pointer;-webkit-user-select:none;user-select:none}.fieldset-legend--collapsible[data-v-87bc4b57]:hover{color:var(--el-color-primary)}.fieldset-legend--disabled[data-v-87bc4b57]{cursor:not-allowed;color:var(--el-text-color-disabled)}.fieldset-legend--disabled[data-v-87bc4b57]:hover{color:var(--el-text-color-disabled)}.fieldset-arrow[data-v-87bc4b57]{align-items:center;transition:transform .3s;display:inline-flex}.fieldset-content[data-v-87bc4b57]{overflow:hidden}t-collapse-enter-active[data-v-87bc4b57],.fieldset-collapse-leave-active[data-v-87bc4b57]{transition:all .3s}.fieldset-collapse-enter-from[data-v-87bc4b57],.fieldset-collapse-leave-to[data-v-87bc4b57]{opacity:0;max-height:0}.fieldset-collapse-enter-to[data-v-87bc4b57],.fieldset-collapse-leave-from[data-v-87bc4b57]{opacity:1;max-height:1000px}.form-item-label[data-v-603225e6] .el-form-item__label{font-weight:400}.label-question[data-v-603225e6]{justify-content:center;align-items:center;height:100%;display:flex}.form-item-label[data-v-b0022169] .el-form-item__label{font-weight:400}.label-question[data-v-b0022169]{justify-content:center;align-items:center;height:100%;display:flex}.dia-container[data-v-b852c20c]{height:calc(100vh - 220px)}.board[data-v-e5f57153]{background:var(--overlay-content);flex-direction:column;height:100%;min-height:0;display:flex}.query-tree[data-v-e5f57153]{width:240px}.page-root[data-v-e5f57153]{flex:1;min-width:0;max-width:100%;transition:width .1s linear}.upload-container[data-v-9dd8588e]{justify-content:space-between;align-items:center;display:flex}.upload-container .el-select[data-v-9dd8588e]{max-width:300px}.right-button[data-v-9dd8588e]{justify-content:flex-end;align-items:center;display:flex}.my-header[data-v-f62a6fa0]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.app-form-render[data-v-2eef05f2]{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-header[data-v-2eef05f2]{border-bottom:2px solid var(--el-border-color);flex-wrap:wrap;padding-bottom:6px;display:flex}.app-header .left[data-v-2eef05f2]{flex-grow:1}.app-header .right[data-v-2eef05f2]{flex-shrink:0;width:auto}.form-buttons[data-v-2eef05f2]{margin-top:8px}.form-container[data-v-2eef05f2]{flex:1 1 0;min-height:0;overflow:hidden}.form-container[data-v-2eef05f2] .el-tabs__content,.form-container[data-v-2eef05f2] .el-tab-pane{height:100%}.form-container[data-v-2eef05f2] .el-tab-pane>div{flex-direction:column;height:100%;display:flex}.form-container[data-v-2eef05f2] .el-tabs__header{margin:0}[data-v-2eef05f2] .el-tab-pane{scrollbar-width:none;-ms-overflow-style:none;height:100%;overflow:auto}[data-v-2eef05f2] .el-table__body-wrapper{scrollbar-width:auto;-ms-overflow-style:auto}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar{width:6px;display:block}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar-thumb{background-color:#0006;border-radius:3px}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar-track{background-color:#0000}.chart-container[data-v-891683ec]{height:calc(100vh - 320px)}.my-header[data-v-818a7f26]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.dialog-form-container[data-v-d7b7586f]{height:80vh}.app-table-render-container[data-v-8e658686]{height:100%;padding:0 .4rem;display:flex;position:relative}.query-tree[data-v-8e658686]{width:240px}.page-root[data-v-8e658686]{flex:1;min-width:0;max-width:100%;transition:width .1s linear}.drawer-container[data-v-8e658686]{z-index:100;pointer-events:none;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.drawer-container[data-v-8e658686] .el-drawer__container,.drawer-container[data-v-8e658686] .el-overlay{pointer-events:auto}.dialog-content-wrapper[data-v-a7db6710]{padding:var(--el-dialog-padding-primary);transition:max-height .1s;overflow:hidden auto}[data-v-a7db6710] .el-dialog{position:relative}[data-v-a7db6710] .el-dialog .resize-handle:after{content:"";border:2px solid var(--el-color-primary);opacity:0;background:0 0;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:absolute}[data-v-a7db6710] .el-dialog .resize-handle:hover:after{opacity:.6}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-top-left:after{top:2px;left:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-top-right:after{top:2px;right:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-bottom-left:after{bottom:2px;left:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-bottom-right:after{bottom:2px;right:2px}.tool-bar[data-v-c1f98d58]{background:var(--el-fill-color-blank);padding:8px}.tool-bar[data-v-c1f98d58] .el-scrollbar__view{flex-direction:row-reverse;justify-content:flex-start;gap:8px;display:flex}
1
+ .el-col-plus[data-v-57329ddf],.el-row-plus[data-v-c207f87e]{box-sizing:border-box}.query-bar-client{background:var(--el-fill-color-blank);padding:8px 8px 0}.min-width[data-v-e02acf5d]{min-width:120px}.filterBoard[data-v-7e102fe5]{background:var(--el-fill-color-blank);flex-direction:column;height:calc(100% - 12px);margin:6px 6px 6px 0;padding:12px 8px 8px;display:flex}.filterBoard .tree-container[data-v-7e102fe5]{flex-grow:1;height:0;margin-top:12px}.custom-tree-node[data-v-7e102fe5]{border-radius:calc(var(--el-border-radius-base) - 1px);flex:1;justify-content:space-between;align-items:center;padding:4px 4px 4px 6px;font-size:14px;display:flex}.is-checked[data-v-7e102fe5]{color:#fff;background-color:var(--el-color-primary)!important}.text[data-v-a5217a12]{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;width:100%;display:inline-block;overflow:hidden}.text[data-v-9da76d44]{cursor:pointer;width:100%}.table-check-box-async[data-v-e263854d]{width:100%}.table-check-box-async .text[data-v-e263854d]{cursor:pointer}.dialog-header[data-v-e263854d]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.ke-table-render-client{background:var(--overlay-content);flex-direction:column;height:100%;display:flex}.ke-query-bar-client{margin-top:6px}.ke-table-tool-button{margin:6px 2px}.ke-query-bar-client,.ke-table-tool-button,.ke-pagination-div{flex-shrink:0}.ke-vxe-grid-container{flex-grow:1;height:0;overflow:hidden}.ke-vxe-grid-container .vxe-grid{height:100%;overflow:auto}.ke-pagination-div{background:var(--el-fill-color-blank);border-radius:4px;margin-top:10px;padding:6px}.vxe-grid{-webkit-user-select:none;user-select:none}[data-v-329ac55b] .el-scrollbar__wrap{overflow-x:hidden!important}[data-v-329ac55b] .el-scrollbar__bar.is-horizontal{height:0!important}[data-v-329ac55b] .el-form-item{margin-bottom:0!important}.table-card-render-client[data-v-329ac55b]{flex-direction:column;height:100%;display:flex}.title-wrapper[data-v-329ac55b]{justify-content:space-between;align-items:center;display:flex}.title-wrapper .title-text[data-v-329ac55b]{flex:1}.title-wrapper .dropdown-wrapper[data-v-329ac55b]{margin-left:auto}.table-tool-button[data-v-329ac55b]{margin-top:6px}.card-container[data-v-329ac55b]{flex-grow:1;height:0;overflow:hidden}.pagination-div[data-v-329ac55b]{background:var(--el-fill-color-blank);margin-top:10px;padding:6px}.full[data-v-8f2c6d44]{width:100%}td.current .dateCell[data-v-4a6233e0]{color:#fff;background-color:var(--el-color-primary);border-radius:calc(var(--el-border-radius-base) - 1px)}td.today .dateCell[data-v-4a6233e0]{color:var(--el-color-primary)}.dateCell[data-v-4a6233e0]{width:48px;height:42px}.dateCell span[data-v-4a6233e0]{display:block}.dateCell .solar_calendar[data-v-4a6233e0]{font-size:16px;font-weight:400}.dateCell .lunar_calendar[data-v-4a6233e0]{text-overflow:ellipsis;white-space:nowrap;margin-top:-14px;margin-bottom:-6px;font-size:10px;overflow:hidden}td.current .dateCell[data-v-cb054933]{color:#fff;background-color:var(--el-color-primary);border-radius:calc(var(--el-border-radius-base) - 1px)}td.today .dateCell[data-v-cb054933]{color:var(--el-color-primary)}.dateCell[data-v-cb054933]{width:48px;height:42px}.dateCell span[data-v-cb054933]{display:block}.dateCell .solar_calendar[data-v-cb054933]{font-size:16px;font-weight:400}.dateCell .lunar_calendar[data-v-cb054933]{text-overflow:ellipsis;white-space:nowrap;margin-top:-14px;margin-bottom:-6px;font-size:10px;overflow:hidden}.dict-selector[data-v-8a055f0c]{width:100%}.dict-selector[data-v-8a055f0c] .el-input__inner{cursor:pointer}[data-v-8a055f0c] .dict-selector-dialog .el-dialog{flex-direction:column;max-height:90vh;display:flex}[data-v-8a055f0c] .dict-selector-dialog .el-dialog__body{flex:1;height:70vh;padding:0;overflow:hidden}.dict-selector-content[data-v-8a055f0c]{gap:16px;height:100%;padding:16px;display:flex}.dict-list[data-v-8a055f0c]{border:1px solid var(--el-border-color);border-radius:4px;flex-direction:column;flex:0 0 300px;display:flex;overflow:hidden}.dict-list-header[data-v-8a055f0c]{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dict-list-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-search[data-v-8a055f0c]{border-bottom:1px solid var(--el-border-color-lighter);padding:12px 16px}.dict-list-body[data-v-8a055f0c]{flex:1;overflow-y:auto}.empty-result[data-v-8a055f0c]{text-align:center;padding:20px}.dict-item[data-v-8a055f0c]{border-bottom:1px solid var(--el-border-color-lighter);cursor:pointer;padding:12px 16px;transition:all .2s}.dict-item[data-v-8a055f0c]:hover{background-color:var(--el-fill-color-light)}.dict-item.active[data-v-8a055f0c]{background-color:var(--el-color-primary-light-9);border-left:3px solid var(--el-color-primary)}.dict-item[data-v-8a055f0c]:last-child{border-bottom:none}.dict-item-content[data-v-8a055f0c]{margin-bottom:8px}.dict-item-content .dict-name[data-v-8a055f0c]{margin-bottom:4px;font-size:14px;font-weight:500}.dict-item-content .dict-code[data-v-8a055f0c]{color:var(--el-text-color-secondary);font-size:12px}.dict-item-actions[data-v-8a055f0c]{gap:8px;display:flex}.dict-detail[data-v-8a055f0c]{border:1px solid var(--el-border-color);border-radius:4px;flex-direction:column;flex:1;display:flex;overflow:hidden}.dict-detail-header[data-v-8a055f0c]{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color);padding:12px 16px}.dict-detail-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-info[data-v-8a055f0c]{padding:16px}.dict-items[data-v-8a055f0c]{flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden}.dict-items .dict-items-header[data-v-8a055f0c]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dict-items .dict-items-header .title[data-v-8a055f0c]{font-size:14px;font-weight:600}.dict-items[data-v-8a055f0c] .el-table{flex:1}.empty-state[data-v-8a055f0c]{flex:1;justify-content:center;align-items:center;display:flex}.cursor-pointer[data-v-8a055f0c]{cursor:pointer}.icon-picker[data-v-dbe424e4]{width:100%}.icon-picker .clear-icon[data-v-dbe424e4]{cursor:pointer}.icon-picker .clear-icon[data-v-dbe424e4]:hover{color:var(--el-color-primary)}.picker-content[data-v-dbe424e4]{padding:8px}.picker-header[data-v-dbe424e4]{gap:8px;margin-bottom:12px;display:flex}.icon-grid[data-v-dbe424e4]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:4px;grid-template-columns:repeat(6,1fr);gap:8px;max-height:400px;padding:8px;display:grid;position:relative;overflow-y:auto}.icon-grid .icon-item[data-v-dbe424e4]{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:70px;padding:8px 4px;transition:all .2s;display:flex}.icon-grid .icon-item .icon-wrapper[data-v-dbe424e4]{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.icon-grid .icon-item .icon-wrapper .icon-name[data-v-dbe424e4]{color:var(--el-text-color-secondary);text-align:center;word-break:break-all;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:10px;line-height:1.2;display:-webkit-box;overflow:hidden}.icon-grid .icon-item[data-v-dbe424e4]:hover{background:var(--el-fill-color-light);border-color:var(--el-color-primary-light-5);transform:scale(1.05)}.icon-grid .icon-item:hover .icon-name[data-v-dbe424e4]{color:var(--el-text-color-primary)}.icon-grid .icon-item.selected[data-v-dbe424e4]{background:var(--el-color-primary-light-9);border-color:var(--el-color-primary)}.icon-grid .icon-item.selected .icon-name[data-v-dbe424e4]{color:var(--el-color-primary);font-weight:500}.icon-grid .loading-more[data-v-dbe424e4],.icon-grid .no-more[data-v-dbe424e4]{color:var(--el-text-color-secondary);grid-column:1/-1;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.icon-grid[data-v-dbe424e4]:has(.el-empty){justify-content:center;align-items:center;display:flex}.picker-footer[data-v-dbe424e4]{justify-content:center;margin-top:8px;padding-top:8px;display:flex}.icon-picker-popover{padding:12px!important}.form-file-upload[data-v-eedff488] .el-upload--picture-card,.form-file-upload[data-v-eedff488] .el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px}.container[data-v-0b92dda1]{width:100%;height:100%;padding:0}.code-preview[data-v-0b92dda1]{width:100%;height:100%;position:relative}.code-prefix[data-v-0b92dda1],.code-suffix[data-v-0b92dda1]{color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border:1px solid var(--el-border-color);white-space:pre-wrap;margin:0;padding:4px 8px;font-family:monospace;font-size:12px}.code-prefix[data-v-0b92dda1]{border-radius:var(--el-border-radius-base) var(--el-border-radius-base) 0 0;border-bottom:none}.code-suffix[data-v-0b92dda1]{border-radius:0 0 var(--el-border-radius-base) var(--el-border-radius-base);border-top:none}.main-editor[data-v-0b92dda1]{border-radius:var(--el-border-radius-base);border:1px solid var(--el-border-color);width:100%;overflow:hidden}.code-prefix+.main-editor[data-v-0b92dda1]{border-radius:0}.main-editor[data-v-0b92dda1]:has(+.code-suffix){border-radius:var(--el-border-radius-base) var(--el-border-radius-base) 0 0}.code-prefix+.main-editor[data-v-0b92dda1]:has(+.code-suffix){border-radius:0}.expand-btn[data-v-0b92dda1]{z-index:10;position:absolute;top:4px;right:4px}.dialog-container[data-v-0b92dda1]{width:100%;height:100%;padding:0}.dialog-editor[data-v-0b92dda1]{border-radius:var(--el-border-radius-base);border:1px solid var(--el-border-color);width:100%;height:80vh;overflow:hidden}.code-editor-dialog .el-dialog__body{padding:8px 12px 12px}.fieldset[data-v-87bc4b57]{border:none;min-width:0;margin:0;padding:0}.fieldset--bordered[data-v-87bc4b57]{border:1px solid var(--el-border-color);border-radius:var(--el-border-radius-base);padding:12px}.fieldset--collapsed.fieldset--bordered[data-v-87bc4b57]{padding-bottom:0}.fieldset-legend[data-v-87bc4b57]{color:var(--el-text-color-primary);align-items:center;gap:4px;padding:0 8px;font-size:14px;font-weight:500;display:inline-flex}.fieldset-legend--collapsible[data-v-87bc4b57]{cursor:pointer;-webkit-user-select:none;user-select:none}.fieldset-legend--collapsible[data-v-87bc4b57]:hover{color:var(--el-color-primary)}.fieldset-legend--disabled[data-v-87bc4b57]{cursor:not-allowed;color:var(--el-text-color-disabled)}.fieldset-legend--disabled[data-v-87bc4b57]:hover{color:var(--el-text-color-disabled)}.fieldset-arrow[data-v-87bc4b57]{align-items:center;transition:transform .3s;display:inline-flex}.fieldset-content[data-v-87bc4b57]{overflow:hidden}t-collapse-enter-active[data-v-87bc4b57],.fieldset-collapse-leave-active[data-v-87bc4b57]{transition:all .3s}.fieldset-collapse-enter-from[data-v-87bc4b57],.fieldset-collapse-leave-to[data-v-87bc4b57]{opacity:0;max-height:0}.fieldset-collapse-enter-to[data-v-87bc4b57],.fieldset-collapse-leave-from[data-v-87bc4b57]{opacity:1;max-height:1000px}.form-item-label[data-v-603225e6] .el-form-item__label{font-weight:400}.label-question[data-v-603225e6]{justify-content:center;align-items:center;height:100%;display:flex}.form-item-label[data-v-b0022169] .el-form-item__label{font-weight:400}.label-question[data-v-b0022169]{justify-content:center;align-items:center;height:100%;display:flex}.dia-container[data-v-b852c20c]{height:calc(100vh - 220px)}.board[data-v-e5f57153]{background:var(--overlay-content);flex-direction:column;height:100%;min-height:0;display:flex}.query-tree[data-v-e5f57153]{width:240px}.page-root[data-v-e5f57153]{flex:1;min-width:0;max-width:100%;transition:width .1s linear}.upload-container[data-v-9dd8588e]{justify-content:space-between;align-items:center;display:flex}.upload-container .el-select[data-v-9dd8588e]{max-width:300px}.right-button[data-v-9dd8588e]{justify-content:flex-end;align-items:center;display:flex}.my-header[data-v-f62a6fa0]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.app-form-render[data-v-2eef05f2]{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-header[data-v-2eef05f2]{border-bottom:2px solid var(--el-border-color);flex-wrap:wrap;padding-bottom:6px;display:flex}.app-header .left[data-v-2eef05f2]{flex-grow:1}.app-header .right[data-v-2eef05f2]{flex-shrink:0;width:auto}.form-buttons[data-v-2eef05f2]{margin-top:8px}.form-container[data-v-2eef05f2]{flex:1 1 0;min-height:0;overflow:hidden}.form-container[data-v-2eef05f2] .el-tabs__content,.form-container[data-v-2eef05f2] .el-tab-pane{height:100%}.form-container[data-v-2eef05f2] .el-tab-pane>div{flex-direction:column;height:100%;display:flex}.form-container[data-v-2eef05f2] .el-tabs__header{margin:0}[data-v-2eef05f2] .el-tab-pane{scrollbar-width:none;-ms-overflow-style:none;height:100%;overflow:auto}[data-v-2eef05f2] .el-table__body-wrapper{scrollbar-width:auto;-ms-overflow-style:auto}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar{width:6px;display:block}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar-thumb{background-color:#0006;border-radius:3px}[data-v-2eef05f2] .el-table__body-wrapper::-webkit-scrollbar-track{background-color:#0000}.chart-container[data-v-891683ec]{height:calc(100vh - 320px)}.my-header[data-v-818a7f26]{flex-direction:row;justify-content:space-between;gap:16px;display:flex}.dialog-form-container[data-v-d7b7586f]{height:80vh}.app-table-render-container[data-v-8e658686]{height:100%;padding:0 .4rem;display:flex;position:relative}.query-tree[data-v-8e658686]{width:240px}.page-root[data-v-8e658686]{flex:1;min-width:0;max-width:100%;transition:width .1s linear}.drawer-container[data-v-8e658686]{z-index:100;pointer-events:none;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.drawer-container[data-v-8e658686] .el-drawer__container,.drawer-container[data-v-8e658686] .el-overlay{pointer-events:auto}.dialog-content-wrapper[data-v-a7db6710]{padding:var(--el-dialog-padding-primary);transition:max-height .1s;overflow:hidden auto}[data-v-a7db6710] .el-dialog{position:relative}[data-v-a7db6710] .el-dialog .resize-handle:after{content:"";border:2px solid var(--el-color-primary);opacity:0;background:0 0;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:absolute}[data-v-a7db6710] .el-dialog .resize-handle:hover:after{opacity:.6}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-top-left:after{top:2px;left:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-top-right:after{top:2px;right:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-bottom-left:after{bottom:2px;left:2px}[data-v-a7db6710] .el-dialog .resize-handle.resize-handle-bottom-right:after{bottom:2px;right:2px}.tool-bar[data-v-0c3eec12]{background:var(--el-fill-color-blank);padding:8px}.tool-bar[data-v-0c3eec12] .el-scrollbar__view{flex-direction:row-reverse;justify-content:flex-start;gap:8px;display:flex}
2
2
  /*$vite$:1*/
package/dist/keli-ui.js CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as ee, U as b, V as x, W as S, X as C, Y as te, Z as ne, _ as re, a as w, b as ie, c as ae, d as oe, et as se, f as ce, g as le, h as ue, it as de, j as fe, k as pe, l as me, m as he, n as ge, nt as _e, o as ve, p as ye, q as be, r as xe, rt as Se, s as Ce, tt as we, u as Te, v as Ee, w as De, x as Oe, y as ke, z as Ae } from "./api-DPWBxyJL.js";
2
- import { a as je, i as Me, n as Ne, t as Pe } from "./java-CanB8gLZ.js";
3
- import { t as Fe } from "./mysql-BfiDepTc.js";
4
- import { i as Ie, n as Le, t as Re } from "./postgresql-63S_TxNE.js";
1
+ import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as ee, U as b, V as x, W as S, X as C, Y as te, Z as ne, _ as re, a as w, b as ie, c as ae, d as oe, et as se, f as ce, g as le, h as ue, it as de, j as fe, k as pe, l as me, m as he, n as ge, nt as _e, o as ve, p as ye, q as be, r as xe, rt as Se, s as Ce, tt as we, u as Te, v as Ee, w as De, x as Oe, y as ke, z as Ae } from "./api-DFkXg4kc.js";
2
+ import { a as je, i as Me, n as Ne, t as Pe } from "./java-BnvYNxWj.js";
3
+ import { t as Fe } from "./mysql-CYFQ0eY_.js";
4
+ import { i as Ie, n as Le, t as Re } from "./postgresql-36U-UjOH.js";
5
5
  import { Fragment as T, computed as E, createBlock as D, createCommentVNode as O, createElementBlock as k, createElementVNode as A, createSlots as ze, createTextVNode as j, createVNode as M, defineAsyncComponent as Be, defineComponent as N, guardReactiveProps as Ve, h as He, inject as Ue, markRaw as We, mergeModels as P, mergeProps as F, nextTick as Ge, normalizeClass as Ke, normalizeProps as qe, normalizeStyle as Je, onBeforeUnmount as Ye, onMounted as I, onUnmounted as L, openBlock as R, provide as Xe, reactive as z, ref as B, render as Ze, renderList as V, renderSlot as Qe, resolveComponent as H, resolveDirective as $e, resolveDynamicComponent as U, shallowRef as et, toDisplayString as W, toHandlers as tt, unref as G, useAttrs as nt, useModel as K, useTemplateRef as rt, vShow as it, watch as at, watchEffect as ot, withCtx as q, withDirectives as st, withModifiers as ct } from "vue";
6
6
  import { Icon as lt } from "@iconify/vue";
7
7
  import { ElButton as ut, ElMessage as dt, ElMessageBox as ft, ElNotification as pt, dayjs as mt } from "element-plus";
@@ -1481,19 +1481,19 @@ var On = { class: "table-card-render-client" }, kn = {
1481
1481
  r("queryClick", a);
1482
1482
  };
1483
1483
  return (t, n) => {
1484
- let r = H("KeQueryBar"), a = H("KeToolBar"), s = H("el-button"), d = H("el-dropdown-item"), f = H("el-dropdown-menu"), g = H("el-dropdown"), v = H("el-form-item"), y = H("el-card"), ee = H("el-col"), b = H("el-row"), x = H("el-scrollbar"), S = H("el-pagination");
1484
+ let r = H("el-button"), a = H("el-dropdown-item"), s = H("el-dropdown-menu"), d = H("el-dropdown"), f = H("el-form-item"), g = H("el-card"), v = H("el-col"), y = H("el-row"), ee = H("el-scrollbar"), b = H("el-pagination");
1485
1485
  return R(), k("div", On, [
1486
- e.queryConfig && e.queryConfig.length > 0 ? (R(), D(r, {
1486
+ e.queryConfig && e.queryConfig.length > 0 ? (R(), D(G(nn), {
1487
1487
  key: 0,
1488
1488
  ref_key: "queryBarRef",
1489
1489
  ref: l,
1490
1490
  frame: e.queryConfig,
1491
1491
  onQueryClick: o
1492
1492
  }, null, 8, ["frame"])) : O("", !0),
1493
- e.tableToolButtons.length > 0 ? (R(), k("div", kn, [M(a, { "tool-buttons": e.tableToolButtons }, null, 8, ["tool-buttons"])])) : O("", !0),
1494
- A("div", An, [M(x, null, {
1495
- default: q(() => [M(b, { gutter: 12 }, {
1496
- default: q(() => [(R(!0), k(T, null, V(e.tableData, (t) => (R(), D(ee, {
1493
+ e.tableToolButtons && e.tableToolButtons.length > 0 ? (R(), k("div", kn, [M(G(ra), { "tool-buttons": e.tableToolButtons }, null, 8, ["tool-buttons"])])) : O("", !0),
1494
+ A("div", An, [M(ee, null, {
1495
+ default: q(() => [M(y, { gutter: 12 }, {
1496
+ default: q(() => [(R(!0), k(T, null, V(e.tableData, (t) => (R(), D(v, {
1497
1497
  key: t[e.tableConfig.rowKey],
1498
1498
  lg: 8,
1499
1499
  md: 8,
@@ -1505,19 +1505,19 @@ var On = { class: "table-card-render-client" }, kn = {
1505
1505
  "margin-bottom": "6px"
1506
1506
  }
1507
1507
  }, {
1508
- default: q(() => [M(y, null, {
1508
+ default: q(() => [M(g, null, {
1509
1509
  default: q(() => [
1510
1510
  e.tableConfig.coverField ? (R(), k("img", {
1511
1511
  key: 0,
1512
1512
  src: t[e.tableConfig.coverField],
1513
1513
  alt: ""
1514
1514
  }, null, 8, jn)) : O("", !0),
1515
- A("h1", Mn, [A("span", Nn, W(c(t)), 1), Array.isArray(e.tableRowButtons) && e.tableRowButtons.length > 0 ? (R(), D(g, {
1515
+ A("h1", Mn, [A("span", Nn, W(c(t)), 1), Array.isArray(e.tableRowButtons) && e.tableRowButtons.length > 0 ? (R(), D(d, {
1516
1516
  key: 0,
1517
1517
  class: "dropdown-wrapper"
1518
1518
  }, {
1519
- dropdown: q(() => [M(f, null, {
1520
- default: q(() => [(R(!0), k(T, null, V(e.tableRowButtons, (e) => (R(), D(d, {
1519
+ dropdown: q(() => [M(s, null, {
1520
+ default: q(() => [(R(!0), k(T, null, V(e.tableRowButtons, (e) => (R(), D(a, {
1521
1521
  key: e.id,
1522
1522
  onClick: (n) => u(t, e)
1523
1523
  }, {
@@ -1526,13 +1526,13 @@ var On = { class: "table-card-render-client" }, kn = {
1526
1526
  }, 1032, ["onClick"]))), 128))]),
1527
1527
  _: 2
1528
1528
  }, 1024)]),
1529
- default: q(() => [M(s, {
1529
+ default: q(() => [M(r, {
1530
1530
  icon: G(_),
1531
1531
  text: ""
1532
1532
  }, null, 8, ["icon"])]),
1533
1533
  _: 2
1534
1534
  }, 1024)) : O("", !0)]),
1535
- (R(!0), k(T, null, V(e.columns, (n) => (R(), k(T, { key: n.field }, [n.field === e.tableConfig.coverField ? O("", !0) : (R(), D(v, {
1535
+ (R(!0), k(T, null, V(e.columns, (n) => (R(), k(T, { key: n.field }, [n.field === e.tableConfig.coverField ? O("", !0) : (R(), D(f, {
1536
1536
  key: 0,
1537
1537
  label: n.title
1538
1538
  }, {
@@ -1562,7 +1562,7 @@ var On = { class: "table-card-render-client" }, kn = {
1562
1562
  })]),
1563
1563
  _: 1
1564
1564
  })]),
1565
- A("div", Pn, [M(S, {
1565
+ A("div", Pn, [M(b, {
1566
1566
  "current-page": i.value.currentPage,
1567
1567
  "onUpdate:currentPage": n[0] ||= (e) => i.value.currentPage = e,
1568
1568
  "page-size": i.value.pageSize,
@@ -1580,7 +1580,7 @@ var On = { class: "table-card-render-client" }, kn = {
1580
1580
  ]);
1581
1581
  };
1582
1582
  }
1583
- }), [["__scopeId", "data-v-607ab83a"]]);
1583
+ }), [["__scopeId", "data-v-329ac55b"]]);
1584
1584
  Fn.name = "TableCardRender", Fn.install = (e) => {
1585
1585
  e.component("TableCardRender", Fn);
1586
1586
  };
@@ -5240,7 +5240,7 @@ var Rr = { class: "container" }, zr = { class: "code-preview" }, Br = {
5240
5240
  try {
5241
5241
  switch (e) {
5242
5242
  case "java":
5243
- if (n = await import("./java-CanB8gLZ.js").then((e) => e.r), n.defineJavaThemes?.(), n.registerJavaCompletion?.(), t) return;
5243
+ if (n = await import("./java-BnvYNxWj.js").then((e) => e.r), n.defineJavaThemes?.(), n.registerJavaCompletion?.(), t) return;
5244
5244
  break;
5245
5245
  case "json":
5246
5246
  if (t) return;
@@ -5248,10 +5248,10 @@ var Rr = { class: "container" }, zr = { class: "code-preview" }, Br = {
5248
5248
  break;
5249
5249
  case "mysql":
5250
5250
  if (t) return;
5251
- n = await import("./mysql-BfiDepTc.js").then((e) => e.n);
5251
+ n = await import("./mysql-CYFQ0eY_.js").then((e) => e.n);
5252
5252
  break;
5253
5253
  case "postgresql":
5254
- if (n = await import("./postgresql-63S_TxNE.js").then((e) => e.r), n.definePgsqlThemes?.(), n.registerPgsqlCompletion?.(), t) return;
5254
+ if (n = await import("./postgresql-36U-UjOH.js").then((e) => e.r), n.definePgsqlThemes?.(), n.registerPgsqlCompletion?.(), t) return;
5255
5255
  break;
5256
5256
  default: return;
5257
5257
  }
@@ -6406,8 +6406,8 @@ function yi(e) {
6406
6406
  de.push(e, t);
6407
6407
  }
6408
6408
  },
6409
- buttonClick: (e, t, n) => {
6410
- t.params.pagePath = a || [], $i(e, t, n);
6409
+ buttonClick: async (e, t, n) => {
6410
+ c.value = !0, t.params.pagePath = a || [], await $i(e, t, n), c.value = !1;
6411
6411
  },
6412
6412
  tableConfig: s,
6413
6413
  pageId: o
@@ -6918,7 +6918,7 @@ var xi = { class: "dia-container" }, Si = /* @__PURE__ */ Y(/* @__PURE__ */ N({
6918
6918
  "dataChange"
6919
6919
  ], ["update:dataId"]),
6920
6920
  setup(e, { expose: t, emit: n }) {
6921
- let o = e, s = n, c = Be(() => import("./ApprovalRecord-CAUi65p8.js")), l = B(), u = B(), d = B({}), f = B([]), p = K(e, "dataId"), m = B({}), g = B({}), _ = B([]), v = B({}), y = B(null), b = B([]), x = !1, S = E(() => Array.isArray(o.pagePath) ? [...o.pagePath, {
6921
+ let o = e, s = n, c = Be(() => import("./ApprovalRecord-BCXgcNAT.js")), l = B(), u = B(), d = B({}), f = B([]), p = K(e, "dataId"), m = B({}), g = B({}), _ = B([]), v = B({}), y = B(null), b = B([]), x = !1, S = E(() => Array.isArray(o.pagePath) ? [...o.pagePath, {
6922
6922
  pageId: o.pageId,
6923
6923
  dataId: o.dataId,
6924
6924
  formData: m.value
@@ -7687,10 +7687,10 @@ function ea(e, t, n) {
7687
7687
  t.webFunction(e, t.params, n, r);
7688
7688
  }
7689
7689
  async function ta(e, t) {
7690
- console.error(t);
7690
+ console.info(t);
7691
7691
  let n = null;
7692
7692
  typeof t.params.pageId == "number" ? n = t.params.pageId : t.params.getPageId && Z(t.params.getPageId()) ? n = t.params.getPageId() : e.pageId?.value && (n = e.pageId.value);
7693
- let r = t.params.dataId || null, i = await ie(n, r, t.id);
7693
+ let r = t.params.dataId || null, i = await ie(n, r, t.id, e);
7694
7694
  i.code === 0 && Array.isArray(i.data) && i.data.length > 0 && i.data.forEach((e) => Q.tips({
7695
7695
  msg: e,
7696
7696
  type: "info",
@@ -7728,7 +7728,7 @@ var na = { class: "button-group" }, ra = /* @__PURE__ */ Y(/* @__PURE__ */ N({
7728
7728
  });
7729
7729
  };
7730
7730
  }
7731
- }), [["__scopeId", "data-v-c1f98d58"]]);
7731
+ }), [["__scopeId", "data-v-0c3eec12"]]);
7732
7732
  ra.name = "ToolBar", ra.install = (e) => {
7733
7733
  e.component("ToolBar", ra);
7734
7734
  };