diff --git a/frontend/package.json b/frontend/package.json index 07cc6319..99ea0871 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.3.2", - "@logicflow/core": "^2.1.3", - "@logicflow/extension": "^2.1.5", - "@vueuse/core": "^14.0.0", + "@logicflow/core": "^2.1.4", + "@logicflow/extension": "^2.1.6", + "@vueuse/core": "^14.1.0", "@xterm/addon-fit": "^0.10.0", "@xterm/addon-search": "^0.15.0", "@xterm/addon-web-links": "^0.11.0", @@ -24,12 +24,11 @@ "crypto-js": "^4.2.0", "dayjs": "^1.11.19", "echarts": "^6.0.0", - "element-plus": "^2.11.8", + "element-plus": "^2.12.0", "js-base64": "^3.7.8", "jsencrypt": "^3.5.4", - "monaco-editor": "^0.54.0", + "monaco-editor": "^0.55.1", "monaco-sql-languages": "^0.15.1", - "monaco-themes": "^0.4.7", "nprogress": "^0.2.0", "pinia": "^3.0.4", "qrcode.vue": "^3.6.0", @@ -38,10 +37,11 @@ "sql-formatter": "^15.6.10", "trzsz": "^1.1.5", "uuid": "^13.0.0", - "vue": "^v3.6.0-alpha.3", - "vue-i18n": "^11.1.12", + "vue": "^v3.6.0-alpha.4", + "vue-i18n": "^11.2.2", "vue-router": "^4.6.3", - "vuedraggable": "^4.1.0" + "vuedraggable": "^4.1.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@tailwindcss/vite": "^4.1.17", @@ -59,7 +59,7 @@ "eslint-plugin-vue": "^10.5.0", "postcss": "^8.5.6", "prettier": "^3.6.1", - "sass": "^1.94.0", + "sass": "^1.94.1", "tailwindcss": "^4.1.17", "typescript": "^5.9.3", "vite": "npm:rolldown-vite@latest", diff --git a/frontend/src/common/config.ts b/frontend/src/common/config.ts index a2c5734b..13a45799 100644 --- a/frontend/src/common/config.ts +++ b/frontend/src/common/config.ts @@ -15,7 +15,7 @@ const config = { baseWsUrl: `${(window as any).globalConfig.BaseWsUrl || `${location.protocol == 'https:' ? 'wss:' : 'ws:'}//${getBaseApiUrl()}`}/api`, // 系统版本 - version: 'v1.10.4', + version: 'v1.10.5', }; export default config; diff --git a/frontend/src/common/utils/export.ts b/frontend/src/common/utils/export.ts index 9a4332fc..773335df 100644 --- a/frontend/src/common/utils/export.ts +++ b/frontend/src/common/utils/export.ts @@ -1,3 +1,11 @@ +import * as XLSX from 'xlsx'; + +/** + * 导出CSV文件 + * @param filename 文件名 + * @param columns 列信息 + * @param datas 数据 + */ export function exportCsv(filename: string, columns: string[], datas: []) { // 二维数组 const cvsData = [columns]; @@ -30,6 +38,11 @@ export function exportCsv(filename: string, columns: string[], datas: []) { exportFile(`${filename}.csv`, csvString); } +/** + * 导出文件 + * @param filename 文件名 + * @param content 文件内容 + */ export function exportFile(filename: string, content: string) { // 导出 let link = document.createElement('a'); @@ -44,3 +57,77 @@ export function exportFile(filename: string, content: string) { link.click(); document.body.removeChild(link); // 下载完成后移除元素 } + +/** + * 计算字符串显示宽度(考虑中英文字符差异) + * @param str 要计算的字符串 + * @returns 计算后的宽度值 + */ +function getStringWidth(str: string): number { + if (!str) return 0; + + // 统计中文字符数量(包括中文标点) + const chineseChars = str.match(/[\u4e00-\u9fa5\u3000-\u303f\uff00-\uffef]/g); + const chineseCount = chineseChars ? chineseChars.length : 0; + + // 英文字符数量 + const englishCount = str.length - chineseCount; + + // 中文字符按2个单位宽度计算,英文字符按1个单位宽度计算 + return chineseCount * 2 + englishCount; +} + +/** + * 导出Excel文件 + * @param filename 文件名 + * @param sheets 多个工作表数据,每个工作表包含名称、列信息和数据 + * 示例: [{name: 'Sheet1', columns: ['列1', '列2'], datas: [{col1: '值1', col2: '值2'}]}] + */ +export function exportExcel(filename: string, sheets: { name: string; columns: string[]; datas: any[] }[]) { + // 创建工作簿 + const wb = XLSX.utils.book_new(); + + // 处理每个工作表 + sheets.forEach((sheet) => { + // 准备表头 + const headers: any = {}; + sheet.columns.forEach((col) => { + headers[col] = col; + }); + + // 准备数据 + const data = [headers, ...sheet.datas]; + + // 创建工作表 + const ws = XLSX.utils.json_to_sheet(data, { skipHeader: true }); + + // 设置列宽自适应 + const colWidths: { wch: number }[] = []; + sheet.columns.forEach((col, index) => { + // 计算列宽:取表头和前几行数据的最大宽度 + let maxWidth = getStringWidth(col); // 表头宽度 + const checkCount = Math.min(sheet.datas.length, 10); // 只检查前10行数据 + + for (let i = 0; i < checkCount; i++) { + const cellData = sheet.datas[i][col]; + const cellStr = cellData ? String(cellData) : ''; + const cellWidth = getStringWidth(cellStr); + if (cellWidth > maxWidth) { + maxWidth = cellWidth; + } + } + + // 设置最小宽度为8,最大宽度为80 + colWidths.push({ wch: Math.min(Math.max(maxWidth + 2, 8), 80) }); + }); + + // 应用列宽设置 + ws['!cols'] = colWidths; + + // 添加工作表到工作簿 + XLSX.utils.book_append_sheet(wb, ws, sheet.name); + }); + + // 导出文件 + XLSX.writeFile(wb, `${filename}.xlsx`); +} diff --git a/frontend/src/components/file/FileInfo.vue b/frontend/src/components/file/FileInfo.vue index 087f7c51..637fa0bf 100644 --- a/frontend/src/components/file/FileInfo.vue +++ b/frontend/src/components/file/FileInfo.vue @@ -1,16 +1,30 @@ - + diff --git a/frontend/src/components/monaco/MonacoEditor.vue b/frontend/src/components/monaco/MonacoEditor.vue index ae0e9b4c..309cd4a5 100644 --- a/frontend/src/components/monaco/MonacoEditor.vue +++ b/frontend/src/components/monaco/MonacoEditor.vue @@ -34,15 +34,8 @@ import 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestInlineComplet import { editor, languages } from 'monaco-editor'; import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker.js?worker'; import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; -// 主题仓库 https://github.com/brijeshb42/monaco-themes -// 主题例子 https://editor.bitwiser.in/ -// import Monokai from 'monaco-themes/themes/Monokai.json' -// import Active4D from 'monaco-themes/themes/Active4D.json' -// import ahe from 'monaco-themes/themes/All Hallows Eve.json' -// import bop from 'monaco-themes/themes/Birds of Paradise.json' -// import krTheme from 'monaco-themes/themes/krTheme.json' -// import Dracula from 'monaco-themes/themes/Dracula.json' -import SolarizedLight from 'monaco-themes/themes/Solarized-light.json'; +import SolarizedLight from './themes/Solarized-light.json'; +import SolarizedDark from './themes/Solarized-dark.json'; import { language as shellLan } from 'monaco-editor/esm/vs/basic-languages/shell/shell.js'; import { ElOption, ElSelect } from 'element-plus'; @@ -226,6 +219,7 @@ const initMonacoEditorIns = () => { // options参数参考 https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IStandaloneEditorConstructionOptions.html#language // 初始化一些主题 monaco.editor.defineTheme('SolarizedLight', SolarizedLight); + monaco.editor.defineTheme('SolarizedDark', SolarizedDark); defaultOptions.language = state.languageMode; defaultOptions.theme = themeConfig.value.editorTheme; let options = Object.assign(defaultOptions, props.options as any); diff --git a/frontend/src/components/monaco/themes/Solarized-dark.json b/frontend/src/components/monaco/themes/Solarized-dark.json new file mode 100644 index 00000000..404f3e25 --- /dev/null +++ b/frontend/src/components/monaco/themes/Solarized-dark.json @@ -0,0 +1,1086 @@ +{ + "base": "vs-dark", + "inherit": true, + "rules": [ + { + "background": "002B36", + "token": "" + }, + { + "foreground": "586e75", + "token": "comment" + }, + { + "foreground": "2aa198", + "token": "string" + }, + { + "foreground": "586e75", + "token": "string" + }, + { + "foreground": "dc322f", + "token": "string.regexp" + }, + { + "foreground": "d33682", + "token": "constant.numeric" + }, + { + "foreground": "268bd2", + "token": "variable.language" + }, + { + "foreground": "268bd2", + "token": "variable.other" + }, + { + "foreground": "859900", + "token": "keyword" + }, + { + "foreground": "859900", + "token": "storage" + }, + { + "foreground": "268bd2", + "token": "entity.name.class" + }, + { + "foreground": "268bd2", + "token": "entity.name.type.class" + }, + { + "foreground": "268bd2", + "token": "entity.name.function" + }, + { + "foreground": "859900", + "token": "punctuation.definition.variable" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.end" + }, + { + "foreground": "b58900", + "token": "constant.language" + }, + { + "foreground": "b58900", + "token": "meta.preprocessor" + }, + { + "foreground": "dc322f", + "token": "support.function.construct" + }, + { + "foreground": "dc322f", + "token": "keyword.other.new" + }, + { + "foreground": "cb4b16", + "token": "constant.character" + }, + { + "foreground": "cb4b16", + "token": "constant.other" + }, + { + "foreground": "268bd2", + "fontStyle": "bold", + "token": "entity.name.tag" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.tag.html" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.tag.begin" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.tag.end" + }, + { + "foreground": "93a1a1", + "token": "entity.other.attribute-name" + }, + { + "foreground": "268bd2", + "token": "support.function" + }, + { + "foreground": "dc322f", + "token": "punctuation.separator.continuation" + }, + { + "foreground": "859900", + "token": "support.type" + }, + { + "foreground": "859900", + "token": "support.class" + }, + { + "foreground": "cb4b16", + "token": "support.type.exception" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.special-method" + }, + { + "foreground": "2aa198", + "token": "string.quoted.double" + }, + { + "foreground": "2aa198", + "token": "string.quoted.single" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end" + }, + { + "foreground": "b58900", + "token": "entity.name.tag.css" + }, + { + "foreground": "b58900", + "token": "support.type.property-name.css" + }, + { + "foreground": "b58900", + "token": "meta.property-name.css" + }, + { + "foreground": "dc322f", + "token": "source.css" + }, + { + "foreground": "586e75", + "token": "meta.selector.css" + }, + { + "foreground": "6c71c4", + "token": "punctuation.section.property-list.css" + }, + { + "foreground": "2aa198", + "token": "meta.property-value.css constant.numeric.css" + }, + { + "foreground": "2aa198", + "token": "keyword.other.unit.css" + }, + { + "foreground": "2aa198", + "token": "constant.other.color.rgb-value.css" + }, + { + "foreground": "2aa198", + "token": "meta.property-value.css" + }, + { + "foreground": "dc322f", + "token": "keyword.other.important.css" + }, + { + "foreground": "2aa198", + "token": "support.constant.color" + }, + { + "foreground": "859900", + "token": "entity.name.tag.css" + }, + { + "foreground": "586e75", + "token": "punctuation.separator.key-value.css" + }, + { + "foreground": "586e75", + "token": "punctuation.terminator.rule.css" + }, + { + "foreground": "268bd2", + "token": "entity.other.attribute-name.class.css" + }, + { + "foreground": "cb4b16", + "token": "entity.other.attribute-name.pseudo-element.css" + }, + { + "foreground": "cb4b16", + "token": "entity.other.attribute-name.pseudo-class.css" + }, + { + "foreground": "268bd2", + "token": "entity.other.attribute-name.id.css" + }, + { + "foreground": "b58900", + "token": "meta.function.js" + }, + { + "foreground": "b58900", + "token": "entity.name.function.js" + }, + { + "foreground": "b58900", + "token": "support.function.dom.js" + }, + { + "foreground": "b58900", + "token": "text.html.basic source.js.embedded.html" + }, + { + "foreground": "268bd2", + "token": "storage.type.function.js" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.js" + }, + { + "foreground": "268bd2", + "token": "meta.brace.square.js" + }, + { + "foreground": "268bd2", + "token": "storage.type.js" + }, + { + "foreground": "93a1a1", + "token": "meta.brace.round" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.parameters.begin.js" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.parameters.end.js" + }, + { + "foreground": "268bd2", + "token": "meta.brace.curly.js" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "entity.name.tag.doctype.html" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "meta.tag.sgml.html" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "string.quoted.double.doctype.identifiers-and-DTDs.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "comment.block.html" + }, + { + "fontStyle": "italic", + "token": "entity.name.tag.script.html" + }, + { + "foreground": "2aa198", + "token": "source.css.embedded.html string.quoted.double.html" + }, + { + "foreground": "cb4b16", + "fontStyle": "bold", + "token": "text.html.ruby" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.other.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.any.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.block.any" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.inline.any" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.structure.any.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic source.js.embedded.html" + }, + { + "foreground": "657b83", + "token": "punctuation.separator.key-value.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic entity.other.attribute-name.html" + }, + { + "foreground": "2aa198", + "token": "text.html.basic meta.tag.structure.any.html punctuation.definition.string.begin.html" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.html" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.html" + }, + { + "foreground": "268bd2", + "fontStyle": "bold", + "token": "entity.name.tag.block.any.html" + }, + { + "fontStyle": "italic", + "token": "source.css.embedded.html entity.name.tag.style.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "source.css.embedded.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "comment.block.html" + }, + { + "foreground": "268bd2", + "token": "punctuation.definition.variable.ruby" + }, + { + "foreground": "657b83", + "token": "meta.function.method.with-arguments.ruby" + }, + { + "foreground": "2aa198", + "token": "variable.language.ruby" + }, + { + "foreground": "268bd2", + "token": "entity.name.function.ruby" + }, + { + "foreground": "859900", + "fontStyle": "bold", + "token": "keyword.control.ruby" + }, + { + "foreground": "859900", + "fontStyle": "bold", + "token": "keyword.control.def.ruby" + }, + { + "foreground": "859900", + "token": "keyword.control.class.ruby" + }, + { + "foreground": "859900", + "token": "meta.class.ruby" + }, + { + "foreground": "b58900", + "token": "entity.name.type.class.ruby" + }, + { + "foreground": "859900", + "token": "keyword.control.ruby" + }, + { + "foreground": "b58900", + "token": "support.class.ruby" + }, + { + "foreground": "859900", + "token": "keyword.other.special-method.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.language.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.ruby" + }, + { + "foreground": "b58900", + "token": "variable.other.constant.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.other.symbol.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end.ruby" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.special-method.ruby" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.include.php" + }, + { + "foreground": "839496", + "token": "text.html.ruby meta.tag.inline.any.html" + }, + { + "foreground": "2aa198", + "token": "text.html.ruby punctuation.definition.string.begin" + }, + { + "foreground": "2aa198", + "token": "text.html.ruby punctuation.definition.string.end" + }, + { + "foreground": "839496", + "token": "punctuation.definition.string.begin" + }, + { + "foreground": "839496", + "token": "punctuation.definition.string.end" + }, + { + "foreground": "839496", + "token": "support.class.php" + }, + { + "foreground": "dc322f", + "token": "keyword.operator.index-start.php" + }, + { + "foreground": "dc322f", + "token": "keyword.operator.index-end.php" + }, + { + "foreground": "586e75", + "token": "meta.array.php" + }, + { + "foreground": "b58900", + "token": "meta.array.php support.function.construct.php" + }, + { + "foreground": "b58900", + "token": "meta.array.empty.php support.function.construct.php" + }, + { + "foreground": "b58900", + "token": "support.function.construct.php" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.array.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.array.end" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.php" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.new.php" + }, + { + "foreground": "839496", + "token": "keyword.operator.class" + }, + { + "foreground": "93a1a1", + "token": "variable.other.property.php" + }, + { + "foreground": "b58900", + "token": "storage.modifier.extends.php" + }, + { + "foreground": "b58900", + "token": "storage.type.class.php" + }, + { + "foreground": "b58900", + "token": "keyword.operator.class.php" + }, + { + "foreground": "839496", + "token": "punctuation.terminator.expression.php" + }, + { + "foreground": "586e75", + "token": "meta.other.inherited-class.php" + }, + { + "foreground": "859900", + "token": "storage.type.php" + }, + { + "foreground": "93a1a1", + "token": "entity.name.function.php" + }, + { + "foreground": "859900", + "token": "support.function.construct.php" + }, + { + "foreground": "839496", + "token": "entity.name.type.class.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.static.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.object.php" + }, + { + "foreground": "93a1a1", + "token": "keyword.other.phpdoc" + }, + { + "foreground": "cb4b16", + "token": "source.php.embedded.block.html" + }, + { + "foreground": "cb4b16", + "token": "storage.type.function.php" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.c" + }, + { + "foreground": "cb4b16", + "token": "meta.preprocessor.c.include" + }, + { + "foreground": "cb4b16", + "token": "meta.preprocessor.macro.c" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.define.c" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.include.c" + }, + { + "foreground": "cb4b16", + "token": "entity.name.function.preprocessor.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include string.quoted.other.lt-gt.include.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include punctuation.definition.string.begin.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include punctuation.definition.string.end.c" + }, + { + "foreground": "586e75", + "token": "support.function.C99.c" + }, + { + "foreground": "586e75", + "token": "support.function.any-method.c" + }, + { + "foreground": "586e75", + "token": "entity.name.function.c" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.c" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.c" + }, + { + "foreground": "b58900", + "token": "storage.type.c" + }, + { + "foreground": "e0eddd", + "background": "b58900", + "fontStyle": "italic", + "token": "meta.diff" + }, + { + "foreground": "e0eddd", + "background": "b58900", + "fontStyle": "italic", + "token": "meta.diff.header" + }, + { + "foreground": "dc322f", + "background": "eee8d5", + "token": "markup.deleted" + }, + { + "foreground": "cb4b16", + "background": "eee8d5", + "token": "markup.changed" + }, + { + "foreground": "219186", + "background": "eee8d5", + "token": "markup.inserted" + }, + { + "foreground": "e0eddd", + "background": "b58900", + "token": "text.html.markdown meta.dummy.line-break" + }, + { + "foreground": "2aa198", + "token": "text.html.markdown markup.raw.inline" + }, + { + "foreground": "2aa198", + "token": "text.restructuredtext markup.raw" + }, + { + "foreground": "dc322f", + "token": "other.package.exclude" + }, + { + "foreground": "dc322f", + "token": "other.remove" + }, + { + "foreground": "2aa198", + "token": "other.add" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.group.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.begin.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.end.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.latex" + }, + { + "foreground": "b58900", + "token": "meta.group.braces.tex" + }, + { + "foreground": "b58900", + "token": "string.other.math.tex" + }, + { + "foreground": "cb4b16", + "token": "variable.parameter.function.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.constant.math.tex" + }, + { + "foreground": "2aa198", + "token": "text.tex.latex constant.other.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.other.general.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.other.general.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.character.math.tex" + }, + { + "foreground": "b58900", + "token": "string.other.math.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end.tex" + }, + { + "foreground": "2aa198", + "token": "keyword.control.label.latex" + }, + { + "foreground": "2aa198", + "token": "text.tex.latex constant.other.general.math.tex" + }, + { + "foreground": "dc322f", + "token": "variable.parameter.definition.label.latex" + }, + { + "foreground": "859900", + "token": "support.function.be.latex" + }, + { + "foreground": "cb4b16", + "token": "support.function.section.latex" + }, + { + "foreground": "2aa198", + "token": "support.function.general.tex" + }, + { + "fontStyle": "italic", + "token": "punctuation.definition.comment.tex" + }, + { + "fontStyle": "italic", + "token": "comment.line.percentage.tex" + }, + { + "foreground": "2aa198", + "token": "keyword.control.ref.latex" + }, + { + "foreground": "586e75", + "token": "string.quoted.double.block.python" + }, + { + "foreground": "859900", + "token": "storage.type.class.python" + }, + { + "foreground": "859900", + "token": "storage.type.function.python" + }, + { + "foreground": "859900", + "token": "storage.modifier.global.python" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.python" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.from.python" + }, + { + "foreground": "b58900", + "token": "support.type.exception.python" + }, + { + "foreground": "859900", + "token": "support.function.builtin.shell" + }, + { + "foreground": "cb4b16", + "token": "variable.other.normal.shell" + }, + { + "foreground": "268bd2", + "token": "source.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.for-in-loop.shell" + }, + { + "foreground": "586e75", + "token": "variable.other.loop.shell" + }, + { + "foreground": "859900", + "token": "punctuation.definition.string.end.shell" + }, + { + "foreground": "859900", + "token": "punctuation.definition.string.begin.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.case-block.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.case-body.shell" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.logical-expression.shell" + }, + { + "fontStyle": "italic", + "token": "comment.line.number-sign.shell" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.import.java" + }, + { + "foreground": "586e75", + "token": "storage.modifier.import.java" + }, + { + "foreground": "b58900", + "token": "meta.class.java storage.modifier.java" + }, + { + "foreground": "586e75", + "token": "source.java comment.block" + }, + { + "foreground": "586e75", + "token": "comment.block meta.documentation.tag.param.javadoc keyword.other.documentation.param.javadoc" + }, + { + "foreground": "b58900", + "token": "punctuation.definition.variable.perl" + }, + { + "foreground": "b58900", + "token": "variable.other.readwrite.global.perl" + }, + { + "foreground": "b58900", + "token": "variable.other.predefined.perl" + }, + { + "foreground": "b58900", + "token": "keyword.operator.comparison.perl" + }, + { + "foreground": "859900", + "token": "support.function.perl" + }, + { + "foreground": "586e75", + "fontStyle": "italic", + "token": "comment.line.number-sign.perl" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.perl" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.perl" + }, + { + "foreground": "dc322f", + "token": "constant.character.escape.perl" + }, + { + "foreground": "268bd2", + "token": "markup.heading.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.1.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.2.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.3.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.4.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.5.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.6.markdown" + }, + { + "foreground": "839496", + "fontStyle": "bold", + "token": "markup.bold.markdown" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "markup.italic.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.bold.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.italic.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.raw.markdown" + }, + { + "foreground": "b58900", + "token": "markup.list.unnumbered.markdown" + }, + { + "foreground": "859900", + "token": "markup.list.numbered.markdown" + }, + { + "foreground": "2aa198", + "token": "markup.raw.block.markdown" + }, + { + "foreground": "2aa198", + "token": "markup.raw.inline.markdown" + }, + { + "foreground": "6c71c4", + "token": "markup.quote.markdown" + }, + { + "foreground": "6c71c4", + "token": "punctuation.definition.blockquote.markdown" + }, + { + "foreground": "d33682", + "token": "meta.separator.markdown" + }, + { + "foreground": "586e75", + "fontStyle": "italic", + "token": "meta.image.inline.markdown" + }, + { + "foreground": "586e75", + "fontStyle": "italic", + "token": "markup.underline.link.markdown" + }, + { + "foreground": "93a1a1", + "token": "string.other.link.title.markdown" + }, + { + "foreground": "93a1a1", + "token": "string.other.link.description.markdown" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.link.markdown" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.metadata.markdown" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.string.begin.markdown" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.string.end.markdown" + }, + { + "foreground": "586e75", + "token": "punctuation.definition.constant.markdown" + }, + { + "foreground": "eee8d5", + "background": "eee8d5", + "token": "sublimelinter.notes" + }, + { + "foreground": "93a1a1", + "background": "93a1a1", + "token": "sublimelinter.outline.illegal" + }, + { + "background": "dc322f", + "token": "sublimelinter.underline.illegal" + }, + { + "foreground": "839496", + "background": "839496", + "token": "sublimelinter.outline.warning" + }, + { + "background": "b58900", + "token": "sublimelinter.underline.warning" + }, + { + "foreground": "657b83", + "background": "657b83", + "token": "sublimelinter.outline.violation" + }, + { + "background": "cb4b16", + "token": "sublimelinter.underline.violation" + } + ], + "colors": { + "editor.foreground": "#839496", + "editor.background": "#002B36", + "editor.selectionBackground": "#073642", + "editor.lineHighlightBackground": "#073642", + "editorCursor.foreground": "#819090", + "editorWhitespace.foreground": "#073642" + } +} \ No newline at end of file diff --git a/frontend/src/components/monaco/themes/Solarized-light.json b/frontend/src/components/monaco/themes/Solarized-light.json new file mode 100644 index 00000000..f32b9855 --- /dev/null +++ b/frontend/src/components/monaco/themes/Solarized-light.json @@ -0,0 +1,1077 @@ +{ + "base": "vs", + "inherit": true, + "rules": [ + { + "background": "FDF6E3", + "token": "" + }, + { + "foreground": "93a1a1", + "token": "comment" + }, + { + "foreground": "2aa198", + "token": "string" + }, + { + "foreground": "586e75", + "token": "string" + }, + { + "foreground": "dc322f", + "token": "string.regexp" + }, + { + "foreground": "d33682", + "token": "constant.numeric" + }, + { + "foreground": "268bd2", + "token": "variable.language" + }, + { + "foreground": "268bd2", + "token": "variable.other" + }, + { + "foreground": "859900", + "token": "keyword" + }, + { + "foreground": "073642", + "fontStyle": "bold", + "token": "storage" + }, + { + "foreground": "268bd2", + "token": "entity.name.class" + }, + { + "foreground": "268bd2", + "token": "entity.name.type.class" + }, + { + "foreground": "268bd2", + "token": "entity.name.function" + }, + { + "foreground": "859900", + "token": "punctuation.definition.variable" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.end" + }, + { + "foreground": "b58900", + "token": "constant.language" + }, + { + "foreground": "b58900", + "token": "meta.preprocessor" + }, + { + "foreground": "dc322f", + "token": "support.function.construct" + }, + { + "foreground": "dc322f", + "token": "keyword.other.new" + }, + { + "foreground": "cb4b16", + "token": "constant.character" + }, + { + "foreground": "cb4b16", + "token": "constant.other" + }, + { + "foreground": "268bd2", + "fontStyle": "bold", + "token": "entity.name.tag" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.tag.html" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.tag.begin" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.tag.end" + }, + { + "foreground": "93a1a1", + "token": "entity.other.attribute-name" + }, + { + "foreground": "268bd2", + "token": "support.function" + }, + { + "foreground": "dc322f", + "token": "punctuation.separator.continuation" + }, + { + "foreground": "859900", + "token": "support.type" + }, + { + "foreground": "859900", + "token": "support.class" + }, + { + "foreground": "cb4b16", + "token": "support.type.exception" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.special-method" + }, + { + "foreground": "2aa198", + "token": "string.quoted.double" + }, + { + "foreground": "2aa198", + "token": "string.quoted.single" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end" + }, + { + "foreground": "b58900", + "token": "entity.name.tag.css" + }, + { + "foreground": "b58900", + "token": "support.type.property-name.css" + }, + { + "foreground": "b58900", + "token": "meta.property-name.css" + }, + { + "foreground": "dc322f", + "token": "source.css" + }, + { + "foreground": "586e75", + "token": "meta.selector.css" + }, + { + "foreground": "6c71c4", + "token": "punctuation.section.property-list.css" + }, + { + "foreground": "2aa198", + "token": "meta.property-value.css constant.numeric.css" + }, + { + "foreground": "2aa198", + "token": "keyword.other.unit.css" + }, + { + "foreground": "2aa198", + "token": "constant.other.color.rgb-value.css" + }, + { + "foreground": "2aa198", + "token": "meta.property-value.css" + }, + { + "foreground": "dc322f", + "token": "keyword.other.important.css" + }, + { + "foreground": "2aa198", + "token": "support.constant.color" + }, + { + "foreground": "859900", + "token": "entity.name.tag.css" + }, + { + "foreground": "586e75", + "token": "punctuation.separator.key-value.css" + }, + { + "foreground": "586e75", + "token": "punctuation.terminator.rule.css" + }, + { + "foreground": "268bd2", + "token": "entity.other.attribute-name.class.css" + }, + { + "foreground": "cb4b16", + "token": "entity.other.attribute-name.pseudo-element.css" + }, + { + "foreground": "cb4b16", + "token": "entity.other.attribute-name.pseudo-class.css" + }, + { + "foreground": "268bd2", + "token": "entity.other.attribute-name.id.css" + }, + { + "foreground": "b58900", + "token": "meta.function.js" + }, + { + "foreground": "b58900", + "token": "entity.name.function.js" + }, + { + "foreground": "b58900", + "token": "support.function.dom.js" + }, + { + "foreground": "b58900", + "token": "text.html.basic source.js.embedded.html" + }, + { + "foreground": "268bd2", + "token": "storage.type.function.js" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.js" + }, + { + "foreground": "268bd2", + "token": "meta.brace.square.js" + }, + { + "foreground": "268bd2", + "token": "storage.type.js" + }, + { + "foreground": "93a1a1", + "token": "meta.brace.round" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.parameters.begin.js" + }, + { + "foreground": "93a1a1", + "token": "punctuation.definition.parameters.end.js" + }, + { + "foreground": "268bd2", + "token": "meta.brace.curly.js" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "entity.name.tag.doctype.html" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "meta.tag.sgml.html" + }, + { + "foreground": "93a1a1", + "fontStyle": "italic", + "token": "string.quoted.double.doctype.identifiers-and-DTDs.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "comment.block.html" + }, + { + "fontStyle": "italic", + "token": "entity.name.tag.script.html" + }, + { + "foreground": "2aa198", + "token": "source.css.embedded.html string.quoted.double.html" + }, + { + "foreground": "cb4b16", + "fontStyle": "bold", + "token": "text.html.ruby" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.other.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.any.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.block.any" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.inline.any" + }, + { + "foreground": "657b83", + "token": "text.html.basic meta.tag.structure.any.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic source.js.embedded.html" + }, + { + "foreground": "657b83", + "token": "punctuation.separator.key-value.html" + }, + { + "foreground": "657b83", + "token": "text.html.basic entity.other.attribute-name.html" + }, + { + "foreground": "2aa198", + "token": "text.html.basic meta.tag.structure.any.html punctuation.definition.string.begin.html" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.html" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.html" + }, + { + "foreground": "268bd2", + "fontStyle": "bold", + "token": "entity.name.tag.block.any.html" + }, + { + "fontStyle": "italic", + "token": "source.css.embedded.html entity.name.tag.style.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "source.css.embedded.html" + }, + { + "foreground": "839496", + "fontStyle": "italic", + "token": "comment.block.html" + }, + { + "foreground": "268bd2", + "token": "punctuation.definition.variable.ruby" + }, + { + "foreground": "657b83", + "token": "meta.function.method.with-arguments.ruby" + }, + { + "foreground": "2aa198", + "token": "variable.language.ruby" + }, + { + "foreground": "268bd2", + "token": "entity.name.function.ruby" + }, + { + "foreground": "859900", + "fontStyle": "bold", + "token": "keyword.control.ruby" + }, + { + "foreground": "859900", + "fontStyle": "bold", + "token": "keyword.control.def.ruby" + }, + { + "foreground": "859900", + "token": "keyword.control.class.ruby" + }, + { + "foreground": "859900", + "token": "meta.class.ruby" + }, + { + "foreground": "b58900", + "token": "entity.name.type.class.ruby" + }, + { + "foreground": "859900", + "token": "keyword.control.ruby" + }, + { + "foreground": "b58900", + "token": "support.class.ruby" + }, + { + "foreground": "859900", + "token": "keyword.other.special-method.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.language.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.ruby" + }, + { + "foreground": "b58900", + "token": "variable.other.constant.ruby" + }, + { + "foreground": "2aa198", + "token": "constant.other.symbol.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.embedded.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin.ruby" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end.ruby" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.special-method.ruby" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.include.php" + }, + { + "foreground": "839496", + "token": "text.html.ruby meta.tag.inline.any.html" + }, + { + "foreground": "2aa198", + "token": "text.html.ruby punctuation.definition.string.begin" + }, + { + "foreground": "2aa198", + "token": "text.html.ruby punctuation.definition.string.end" + }, + { + "foreground": "839496", + "token": "punctuation.definition.string.begin" + }, + { + "foreground": "839496", + "token": "punctuation.definition.string.end" + }, + { + "foreground": "dc322f", + "token": "keyword.operator.index-start.php" + }, + { + "foreground": "dc322f", + "token": "keyword.operator.index-end.php" + }, + { + "foreground": "586e75", + "token": "meta.array.php" + }, + { + "foreground": "b58900", + "token": "meta.array.php support.function.construct.php" + }, + { + "foreground": "b58900", + "token": "meta.array.empty.php support.function.construct.php" + }, + { + "foreground": "b58900", + "token": "support.function.construct.php" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.array.begin" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.array.end" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.php" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.new.php" + }, + { + "foreground": "586e75", + "token": "support.class.php" + }, + { + "foreground": "586e75", + "token": "keyword.operator.class" + }, + { + "foreground": "93a1a1", + "token": "variable.other.property.php" + }, + { + "foreground": "b58900", + "token": "storage.modifier.extends.php" + }, + { + "foreground": "b58900", + "token": "storage.type.class.php" + }, + { + "foreground": "b58900", + "token": "keyword.operator.class.php" + }, + { + "foreground": "586e75", + "token": "meta.other.inherited-class.php" + }, + { + "foreground": "859900", + "token": "storage.type.php" + }, + { + "foreground": "93a1a1", + "token": "entity.name.function.php" + }, + { + "foreground": "859900", + "token": "support.function.construct.php" + }, + { + "foreground": "839496", + "token": "entity.name.type.class.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.static.php" + }, + { + "foreground": "839496", + "token": "meta.function-call.object.php" + }, + { + "foreground": "93a1a1", + "token": "keyword.other.phpdoc" + }, + { + "foreground": "cb4b16", + "token": "source.php.embedded.block.html" + }, + { + "foreground": "cb4b16", + "token": "storage.type.function.php" + }, + { + "foreground": "2aa198", + "token": "constant.numeric.c" + }, + { + "foreground": "cb4b16", + "token": "meta.preprocessor.c.include" + }, + { + "foreground": "cb4b16", + "token": "meta.preprocessor.macro.c" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.define.c" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.include.c" + }, + { + "foreground": "cb4b16", + "token": "entity.name.function.preprocessor.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include string.quoted.other.lt-gt.include.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include punctuation.definition.string.begin.c" + }, + { + "foreground": "2aa198", + "token": "meta.preprocessor.c.include punctuation.definition.string.end.c" + }, + { + "foreground": "586e75", + "token": "support.function.C99.c" + }, + { + "foreground": "586e75", + "token": "support.function.any-method.c" + }, + { + "foreground": "586e75", + "token": "entity.name.function.c" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.c" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.c" + }, + { + "foreground": "b58900", + "token": "storage.type.c" + }, + { + "foreground": "e0eddd", + "background": "b58900", + "fontStyle": "italic", + "token": "meta.diff" + }, + { + "foreground": "e0eddd", + "background": "b58900", + "fontStyle": "italic", + "token": "meta.diff.header" + }, + { + "foreground": "dc322f", + "background": "eee8d5", + "token": "markup.deleted" + }, + { + "foreground": "cb4b16", + "background": "eee8d5", + "token": "markup.changed" + }, + { + "foreground": "219186", + "background": "eee8d5", + "token": "markup.inserted" + }, + { + "foreground": "e0eddd", + "background": "a57706", + "token": "text.html.markdown meta.dummy.line-break" + }, + { + "foreground": "2aa198", + "token": "text.html.markdown markup.raw.inline" + }, + { + "foreground": "2aa198", + "token": "text.restructuredtext markup.raw" + }, + { + "foreground": "dc322f", + "token": "other.package.exclude" + }, + { + "foreground": "dc322f", + "token": "other.remove" + }, + { + "foreground": "2aa198", + "token": "other.add" + }, + { + "foreground": "dc322f", + "token": "punctuation.section.group.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.begin.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.end.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.arguments.latex" + }, + { + "foreground": "b58900", + "token": "meta.group.braces.tex" + }, + { + "foreground": "b58900", + "token": "string.other.math.tex" + }, + { + "foreground": "cb4b16", + "token": "variable.parameter.function.latex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.constant.math.tex" + }, + { + "foreground": "2aa198", + "token": "text.tex.latex constant.other.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.other.general.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.other.general.math.tex" + }, + { + "foreground": "2aa198", + "token": "constant.character.math.tex" + }, + { + "foreground": "b58900", + "token": "string.other.math.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin.tex" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end.tex" + }, + { + "foreground": "2aa198", + "token": "keyword.control.label.latex" + }, + { + "foreground": "2aa198", + "token": "text.tex.latex constant.other.general.math.tex" + }, + { + "foreground": "dc322f", + "token": "variable.parameter.definition.label.latex" + }, + { + "foreground": "859900", + "token": "support.function.be.latex" + }, + { + "foreground": "cb4b16", + "token": "support.function.section.latex" + }, + { + "foreground": "2aa198", + "token": "support.function.general.tex" + }, + { + "fontStyle": "italic", + "token": "punctuation.definition.comment.tex" + }, + { + "fontStyle": "italic", + "token": "comment.line.percentage.tex" + }, + { + "foreground": "2aa198", + "token": "keyword.control.ref.latex" + }, + { + "foreground": "586e75", + "token": "string.quoted.double.block.python" + }, + { + "foreground": "859900", + "token": "storage.type.class.python" + }, + { + "foreground": "859900", + "token": "storage.type.function.python" + }, + { + "foreground": "859900", + "token": "storage.modifier.global.python" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.python" + }, + { + "foreground": "cb4b16", + "token": "keyword.control.import.from.python" + }, + { + "foreground": "b58900", + "token": "support.type.exception.python" + }, + { + "foreground": "859900", + "token": "support.function.builtin.shell" + }, + { + "foreground": "cb4b16", + "token": "variable.other.normal.shell" + }, + { + "foreground": "268bd2", + "token": "source.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.for-in-loop.shell" + }, + { + "foreground": "586e75", + "token": "variable.other.loop.shell" + }, + { + "foreground": "859900", + "token": "punctuation.definition.string.end.shell" + }, + { + "foreground": "859900", + "token": "punctuation.definition.string.begin.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.case-block.shell" + }, + { + "foreground": "586e75", + "token": "meta.scope.case-body.shell" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.logical-expression.shell" + }, + { + "fontStyle": "italic", + "token": "comment.line.number-sign.shell" + }, + { + "foreground": "cb4b16", + "token": "keyword.other.import.java" + }, + { + "foreground": "586e75", + "token": "storage.modifier.import.java" + }, + { + "foreground": "b58900", + "token": "meta.class.java storage.modifier.java" + }, + { + "foreground": "586e75", + "token": "source.java comment.block" + }, + { + "foreground": "586e75", + "token": "comment.block meta.documentation.tag.param.javadoc keyword.other.documentation.param.javadoc" + }, + { + "foreground": "b58900", + "token": "punctuation.definition.variable.perl" + }, + { + "foreground": "b58900", + "token": "variable.other.readwrite.global.perl" + }, + { + "foreground": "b58900", + "token": "variable.other.predefined.perl" + }, + { + "foreground": "b58900", + "token": "keyword.operator.comparison.perl" + }, + { + "foreground": "859900", + "token": "support.function.perl" + }, + { + "foreground": "586e75", + "fontStyle": "italic", + "token": "comment.line.number-sign.perl" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.begin.perl" + }, + { + "foreground": "2aa198", + "token": "punctuation.definition.string.end.perl" + }, + { + "foreground": "dc322f", + "token": "constant.character.escape.perl" + }, + { + "foreground": "268bd2", + "token": "markup.heading.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.1.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.2.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.3.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.4.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.5.markdown" + }, + { + "foreground": "268bd2", + "token": "markup.heading.6.markdown" + }, + { + "foreground": "586e75", + "fontStyle": "bold", + "token": "markup.bold.markdown" + }, + { + "foreground": "586e75", + "fontStyle": "italic", + "token": "markup.italic.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.bold.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.italic.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.raw.markdown" + }, + { + "foreground": "b58900", + "token": "markup.list.unnumbered.markdown" + }, + { + "foreground": "859900", + "token": "markup.list.numbered.markdown" + }, + { + "foreground": "2aa198", + "token": "markup.raw.block.markdown" + }, + { + "foreground": "2aa198", + "token": "markup.raw.inline.markdown" + }, + { + "foreground": "6c71c4", + "token": "markup.quote.markdown" + }, + { + "foreground": "6c71c4", + "token": "punctuation.definition.blockquote.markdown" + }, + { + "foreground": "d33682", + "token": "meta.separator.markdown" + }, + { + "foreground": "839496", + "token": "markup.underline.link.markdown" + }, + { + "foreground": "839496", + "token": "markup.underline.link.markdown" + }, + { + "foreground": "dc322f", + "token": "meta.link.inet.markdown" + }, + { + "foreground": "dc322f", + "token": "meta.link.email.lt-gt.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.begin.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.string.end.markdown" + }, + { + "foreground": "dc322f", + "token": "punctuation.definition.link.markdown" + }, + { + "foreground": "6a8187", + "token": "text.plain" + }, + { + "foreground": "eee8d5", + "background": "eee8d5", + "token": "sublimelinter.notes" + }, + { + "foreground": "93a1a1", + "background": "93a1a1", + "token": "sublimelinter.outline.illegal" + }, + { + "background": "dc322f", + "token": "sublimelinter.underline.illegal" + }, + { + "foreground": "839496", + "background": "839496", + "token": "sublimelinter.outline.warning" + }, + { + "background": "b58900", + "token": "sublimelinter.underline.warning" + }, + { + "foreground": "657b83", + "background": "657b83", + "token": "sublimelinter.outline.violation" + }, + { + "background": "cb4b16", + "token": "sublimelinter.underline.violation" + } + ], + "colors": { + "editor.foreground": "#586E75", + "editor.background": "#FDF6E3", + "editor.selectionBackground": "#EEE8D5", + "editor.lineHighlightBackground": "#EEE8D5", + "editorCursor.foreground": "#000000", + "editorWhitespace.foreground": "#EAE3C9" + } +} \ No newline at end of file diff --git a/frontend/src/i18n/en/db.ts b/frontend/src/i18n/en/db.ts index 2c4e8e48..8ce18edf 100644 --- a/frontend/src/i18n/en/db.ts +++ b/frontend/src/i18n/en/db.ts @@ -1,3 +1,5 @@ +import { exportExcel } from '@/common/utils/export'; + export default { db: { // db instance @@ -99,6 +101,7 @@ export default { cancelFiexd: 'Cancel Fixed', formView: 'Form View', genJson: 'Generating JSON', + exportExcel: 'Export Excel', exportCsv: 'Export CSV', exportSql: 'Export SQL', onlySelectOneData: 'Only one row can be selected', diff --git a/frontend/src/i18n/en/flow.ts b/frontend/src/i18n/en/flow.ts index 03f74fb7..d7af4130 100644 --- a/frontend/src/i18n/en/flow.ts +++ b/frontend/src/i18n/en/flow.ts @@ -113,5 +113,9 @@ export default { taskBeginTime: 'Start Time', flowAudit: 'Process Audit', notify: 'Notify', + + aitask: 'AI Task', + aiAuditRule: 'Audit Rule', + aiAuditRuleTip: 'Please input the audit rule', }, }; diff --git a/frontend/src/i18n/en/system.ts b/frontend/src/i18n/en/system.ts index 188f2a38..fe98fac3 100644 --- a/frontend/src/i18n/en/system.ts +++ b/frontend/src/i18n/en/system.ts @@ -190,6 +190,15 @@ export default { loginFailCountPlaceholder: 'Disable login after n failed login attempts', loginFainMin: 'Prohibited login time', loginFailMinPlaceholder: 'After a specified number of login failures, re-login is prohibited within m minutes', + + aiModelConf: 'AI Model Config', + aiModelType: 'Model Type', + aiModelTypePlaceholder: 'Please select a model type', + aiModel: 'Model', + aiModelPlaceholder: 'Please enter the model', + aiBaseUrl: 'Base URL', + aiBaseUrlPlaceholder: 'Please enter the model request URL', + aiApiKey: 'API Key', }, syslog: { operator: 'Operator', diff --git a/frontend/src/i18n/zh-cn/db.ts b/frontend/src/i18n/zh-cn/db.ts index 619e936f..c17150e6 100644 --- a/frontend/src/i18n/zh-cn/db.ts +++ b/frontend/src/i18n/zh-cn/db.ts @@ -98,6 +98,7 @@ export default { cancelFiexd: '取消固定', formView: '表单视图', genJson: '生成JSON', + exportExcel: '导出Excel', exportCsv: '导出CSV', exportSql: '导出SQL', onlySelectOneData: '只能选择一行数据', diff --git a/frontend/src/i18n/zh-cn/flow.ts b/frontend/src/i18n/zh-cn/flow.ts index fa4c494b..b9483c1c 100644 --- a/frontend/src/i18n/zh-cn/flow.ts +++ b/frontend/src/i18n/zh-cn/flow.ts @@ -94,7 +94,7 @@ export default { waitProcess: '待处理', pass: '通过', reject: '拒绝', - back: '回退', + back: '退回', canceled: '取消', // FlowBizType dbSqlExec: 'DBMS-执行SQL', @@ -113,5 +113,9 @@ export default { taskBeginTime: '开始时间', flowAudit: '流程审批', notify: '通知', + + aitask: 'AI任务', + aiAuditRule: '审核规则', + aiAuditRuleTip: '请输入审核规则', }, }; diff --git a/frontend/src/i18n/zh-cn/system.ts b/frontend/src/i18n/zh-cn/system.ts index 0f33ca4f..69bcf423 100644 --- a/frontend/src/i18n/zh-cn/system.ts +++ b/frontend/src/i18n/zh-cn/system.ts @@ -190,6 +190,15 @@ export default { loginFailCountPlaceholder: '登录失败n次后禁止登录', loginFainMin: '登录失败禁止登录时间', loginFailMinPlaceholder: '登录失败指定次数后禁止m分钟内再次登录', + + aiModelConf: 'AI模型配置', + aiModelType: '模型类型', + aiModelTypePlaceholder: '选择AI模型类型', + aiModel: '模型', + aiModelPlaceholder: '请输入模型', + aiBaseUrl: '地址', + aiBaseUrlPlaceholder: '请输入模型请求地址', + aiApiKey: 'API Key', }, syslog: { operator: '操作人', diff --git a/frontend/src/layout/navBars/breadcrumb/setings.vue b/frontend/src/layout/navBars/breadcrumb/setings.vue index b62e339a..128dd121 100644 --- a/frontend/src/layout/navBars/breadcrumb/setings.vue +++ b/frontend/src/layout/navBars/breadcrumb/setings.vue @@ -62,6 +62,7 @@ + diff --git a/frontend/src/views/flow/ProcInstEdit.vue b/frontend/src/views/flow/ProcInstEdit.vue index b1b54c5f..ebb73c07 100755 --- a/frontend/src/views/flow/ProcInstEdit.vue +++ b/frontend/src/views/flow/ProcInstEdit.vue @@ -5,47 +5,45 @@ - + - + - + {{ $t('flow.bizInfo') }} - + {{ $t('flow.approvalNode') }} - + diff --git a/frontend/src/views/flow/ProcinstDetail.vue b/frontend/src/views/flow/ProcinstDetail.vue index 6818dcb2..7d746843 100755 --- a/frontend/src/views/flow/ProcinstDetail.vue +++ b/frontend/src/views/flow/ProcinstDetail.vue @@ -7,6 +7,7 @@ size="50%" body-class="!p-2" header-class="!mb-2" + :destroy-on-close="true" :close-on-click-modal="!props.instTaskId" >