diff --git a/mayfly_go_web/package.json b/mayfly_go_web/package.json index eb7dc761..6eb7901b 100644 --- a/mayfly_go_web/package.json +++ b/mayfly_go_web/package.json @@ -9,21 +9,21 @@ "dependencies": { "@element-plus/icons-vue": "^2.0.9", "asciinema-player": "^3.0.1", - "axios": "^0.27.2", + "axios": "^1.1.2", "codemirror": "^5.65.5", "countup.js": "^2.0.7", "cropperjs": "^1.5.11", "echarts": "^5.3.3", - "element-plus": "^2.2.17", + "element-plus": "^2.2.18", "jsencrypt": "^3.2.1", - "jsoneditor": "^9.9.0", + "jsoneditor": "^9.9.2", "lodash": "^4.17.21", "mitt": "^3.0.0", "nprogress": "^0.2.0", "screenfull": "^6.0.2", "sortablejs": "^1.13.0", "sql-formatter": "^9.2.0", - "vue": "^3.2.39", + "vue": "^3.2.41", "vue-clipboard3": "^1.0.1", "vue-router": "^4.1.5", "vuex": "^4.0.2", diff --git a/mayfly_go_web/src/views/ops/db/DbList.vue b/mayfly_go_web/src/views/ops/db/DbList.vue index 87011878..92a882a3 100644 --- a/mayfly_go_web/src/views/ops/db/DbList.vue +++ b/mayfly_go_web/src/views/ops/db/DbList.vue @@ -254,7 +254,7 @@ v-model:visible="dbEditDialog.visible" v-model:db="dbEditDialog.data" > - + diff --git a/mayfly_go_web/src/views/ops/db/component/SqlExecDialog.vue b/mayfly_go_web/src/views/ops/db/component/SqlExecDialog.vue index 0cecdf6f..1f22d51e 100644 --- a/mayfly_go_web/src/views/ops/db/component/SqlExecDialog.vue +++ b/mayfly_go_web/src/views/ops/db/component/SqlExecDialog.vue @@ -88,27 +88,24 @@ export default defineComponent({ try { state.btnLoading = true; - const res = await dbApi.sqlExec.request({ + await dbApi.sqlExec.request({ id: state.dbId, db: state.db, remark: state.remark, sql: state.sqlValue.trim(), }); - if (parseInt(res.res[0].影响条数) >= 1) { - ElMessage.success('执行成功'); - runSuccess = true; - } else { - ElMessage.error('执行失败'); - runSuccess = false; - } + ElMessage.success('执行成功'); + runSuccess = true; } catch (e) { runSuccess = false; } - if (runSuccess && runSuccessCallback) { - runSuccessCallback(); + if (runSuccess) { + if (runSuccessCallback) { + runSuccessCallback(); + } + cancel(); } state.btnLoading = false; - cancel(); }; const cancel = () => { diff --git a/mayfly_go_web/yarn.lock b/mayfly_go_web/yarn.lock index 024158a1..b04a4877 100644 --- a/mayfly_go_web/yarn.lock +++ b/mayfly_go_web/yarn.lock @@ -223,6 +223,16 @@ estree-walker "^2.0.2" source-map "^0.6.1" +"@vue/compiler-core@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.41.tgz#fb5b25f23817400f44377d878a0cdead808453ef" + integrity sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.41" + estree-walker "^2.0.2" + source-map "^0.6.1" + "@vue/compiler-dom@3.2.39": version "3.2.39" resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz" @@ -231,7 +241,31 @@ "@vue/compiler-core" "3.2.39" "@vue/shared" "3.2.39" -"@vue/compiler-sfc@3.2.39", "@vue/compiler-sfc@^3.0.11": +"@vue/compiler-dom@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz#dc63dcd3ce8ca8a8721f14009d498a7a54380299" + integrity sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw== + dependencies: + "@vue/compiler-core" "3.2.41" + "@vue/shared" "3.2.41" + +"@vue/compiler-sfc@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz#238fb8c48318408c856748f4116aff8cc1dc2a73" + integrity sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.41" + "@vue/compiler-dom" "3.2.41" + "@vue/compiler-ssr" "3.2.41" + "@vue/reactivity-transform" "3.2.41" + "@vue/shared" "3.2.41" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-sfc@^3.0.11": version "3.2.39" resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz" integrity sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA== @@ -255,6 +289,14 @@ "@vue/compiler-dom" "3.2.39" "@vue/shared" "3.2.39" +"@vue/compiler-ssr@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz#344f564d68584b33367731c04ffc949784611fcb" + integrity sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ== + dependencies: + "@vue/compiler-dom" "3.2.41" + "@vue/shared" "3.2.41" + "@vue/devtools-api@^6.0.0-beta.11": version "6.0.0-beta.20.1" resolved "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.20.1.tgz" @@ -276,43 +318,59 @@ estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/reactivity@3.2.39": - version "3.2.39" - resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.39.tgz" - integrity sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ== +"@vue/reactivity-transform@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz#9ff938877600c97f646e09ac1959b5150fb11a0c" + integrity sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A== dependencies: - "@vue/shared" "3.2.39" + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.41" + "@vue/shared" "3.2.41" + estree-walker "^2.0.2" + magic-string "^0.25.7" -"@vue/runtime-core@3.2.39": - version "3.2.39" - resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.39.tgz" - integrity sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g== +"@vue/reactivity@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.41.tgz#0ad3bdf76d76822da1502dc9f394dafd02642963" + integrity sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g== dependencies: - "@vue/reactivity" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/shared" "3.2.41" -"@vue/runtime-dom@3.2.39": - version "3.2.39" - resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz" - integrity sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA== +"@vue/runtime-core@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.41.tgz#775bfc00b3fadbaddab77138f23322aee3517a76" + integrity sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ== dependencies: - "@vue/runtime-core" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/reactivity" "3.2.41" + "@vue/shared" "3.2.41" + +"@vue/runtime-dom@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz#cdf86be7410f7b15c29632a96ce879e5b4c9ab92" + integrity sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA== + dependencies: + "@vue/runtime-core" "3.2.41" + "@vue/shared" "3.2.41" csstype "^2.6.8" -"@vue/server-renderer@3.2.39": - version "3.2.39" - resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.39.tgz" - integrity sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ== +"@vue/server-renderer@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.41.tgz#ca64552c05878f94e8d191ac439141c06c0fb2ad" + integrity sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig== dependencies: - "@vue/compiler-ssr" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-ssr" "3.2.41" + "@vue/shared" "3.2.41" "@vue/shared@3.2.39": version "3.2.39" resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.39.tgz" integrity sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw== +"@vue/shared@3.2.41": + version "3.2.41" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.41.tgz#fbc95422df654ea64e8428eced96ba6ad555d2bb" + integrity sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw== + "@vueuse/core@^9.1.0": version "9.2.0" resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.2.0.tgz" @@ -335,10 +393,10 @@ dependencies: vue-demi "*" -ace-builds@^1.6.0: - version "1.7.1" - resolved "https://registry.npmmirror.com/ace-builds/-/ace-builds-1.7.1.tgz" - integrity sha512-1mcbP5kXvr729sJ9dA/8tul0pjuvKbma0LF/ZMRwPEwjoNWNpe/x0OXpaPJo36aRpZCjRZMl5zsME3hAKTiaNw== +ace-builds@^1.10.1: + version "1.11.2" + resolved "https://registry.npmmirror.com/ace-builds/-/ace-builds-1.11.2.tgz#93fd7b7770909f3a48a23d71bd212d1b77baaaf5" + integrity sha512-1VNeUF56b6gkaeeWJXMBBuz5n0ceDchjUwwVmTKpNM/N3YRrUEpykGEEsg7Y1PKP7IRyqtXfAu6VJDg7OZaLfA== acorn-jsx@^5.3.1: version "5.3.2" @@ -413,13 +471,14 @@ asynckit@^0.4.0: resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== +axios@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/axios/-/axios-1.1.2.tgz#8b6f6c540abf44ab98d9904e8daf55351ca4a331" + integrity sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA== dependencies: - follow-redirects "^1.14.9" + follow-redirects "^1.15.0" form-data "^4.0.0" + proxy-from-env "^1.1.0" balanced-match@^1.0.0: version "1.0.2" @@ -595,10 +654,10 @@ echarts@^5.3.3: tslib "2.3.0" zrender "5.3.2" -element-plus@^2.2.17: - version "2.2.17" - resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.17.tgz" - integrity sha512-MGwMIE/q+FFD3kgS23x8HIe5043tmD1cTRwjhIX9o6fim1avFnUkrsfYRvybbz4CkyqSb185EheZS5AUPpXh2g== +element-plus@^2.2.18: + version "2.2.18" + resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.18.tgz#62b388e05587506d2d40bede0729046f7c41f9d9" + integrity sha512-2pK2zmVOwP14eFl3rGoR+3BWJwDyO+DZCvzjQ8L6qjUR+hVKwFhgxIcSkKJatbcHFw5Xui6UyN20jV+gQP7mLg== dependencies: "@ctrl/tinycolor" "^3.4.1" "@element-plus/icons-vue" "^2.0.6" @@ -957,10 +1016,10 @@ flatted@^3.1.0: resolved "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -follow-redirects@^1.14.9: - version "1.15.1" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== form-data@^4.0.0: version "4.0.0" @@ -1169,12 +1228,12 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -jsoneditor@^9.9.0: - version "9.9.0" - resolved "https://registry.npmmirror.com/jsoneditor/-/jsoneditor-9.9.0.tgz" - integrity sha512-NHJhyaqcc5U33ah6dEcd0S9b14Auocpe9nydvC9ui7Uq/vjEFnsd7ot6O9Jqwv53B7DmHFUWq5cT4qeWh4MEoA== +jsoneditor@^9.9.2: + version "9.9.2" + resolved "https://registry.npmmirror.com/jsoneditor/-/jsoneditor-9.9.2.tgz#176112f71acbf37e977aae8656a17bc33a7a4269" + integrity sha512-hdM6bgGh3fqnbAEgO1zXM3bNdYfFH/9nPWWJYdNP/wyRU9H+t3Wvb+VtBBE8XjkBYv0rIYjeaYgrwDRaXC3zig== dependencies: - ace-builds "^1.6.0" + ace-builds "^1.10.1" ajv "^6.12.6" javascript-natural-sort "^0.7.1" jmespath "^0.16.0" @@ -1417,6 +1476,11 @@ progress@^2.0.0: resolved "https://registry.nlark.com/progress/download/progress-2.0.3.tgz" integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + punycode@^2.1.0: version "2.1.1" resolved "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz" @@ -1712,16 +1776,16 @@ vue-router@^4.1.5: dependencies: "@vue/devtools-api" "^6.1.4" -vue@^3.2.39: - version "3.2.39" - resolved "https://registry.npmmirror.com/vue/-/vue-3.2.39.tgz" - integrity sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g== +vue@^3.2.41: + version "3.2.41" + resolved "https://registry.npmmirror.com/vue/-/vue-3.2.41.tgz#ed452b8a0f7f2b962f055c8955139c28b1c06806" + integrity sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ== dependencies: - "@vue/compiler-dom" "3.2.39" - "@vue/compiler-sfc" "3.2.39" - "@vue/runtime-dom" "3.2.39" - "@vue/server-renderer" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-dom" "3.2.41" + "@vue/compiler-sfc" "3.2.41" + "@vue/runtime-dom" "3.2.41" + "@vue/server-renderer" "3.2.41" + "@vue/shared" "3.2.41" vuex@^4.0.2: version "4.0.2" diff --git a/server/go.mod b/server/go.mod index 9e4d001d..d42f2275 100644 --- a/server/go.mod +++ b/server/go.mod @@ -15,11 +15,11 @@ require ( github.com/sirupsen/logrus v1.9.0 github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 go.mongodb.org/mongo-driver v1.9.1 // mongo - golang.org/x/crypto v0.0.0-20221005025214-4161e89ecf1b // ssh + golang.org/x/crypto v0.0.0-20221012134737-56aed061732a // ssh gopkg.in/yaml.v3 v3.0.1 // gorm - gorm.io/driver/mysql v1.3.6 - gorm.io/gorm v1.23.10 + gorm.io/driver/mysql v1.4.1 + gorm.io/gorm v1.24.0 ) require ( diff --git a/server/internal/db/application/db.go b/server/internal/db/application/db.go index a82a631f..d6f1625d 100644 --- a/server/internal/db/application/db.go +++ b/server/internal/db/application/db.go @@ -485,248 +485,3 @@ func getDsn(d *entity.Db, db string) string { func CloseDb(dbId uint64, db string) { dbCache.Delete(GetDbCacheKey(dbId, db)) } - -// -----------------------------------元数据------------------------------------------- -// 数据库元信息接口(表、列等元信息) -type DbMetadata interface { - // 获取表基础元信息, 如表名等 - GetTables() []map[string]interface{} - - // 获取列元信息, 如列名等 - GetColumns(tableNames ...string) []map[string]interface{} - - // 获取表主键字段名,默认第一个字段 - GetPrimaryKey(tablename string) string - - // 获取表信息,比GetTables获取更详细的表信息 - GetTableInfos() []map[string]interface{} - - // 获取表索引信息 - GetTableIndex(tableName string) []map[string]interface{} - - // 获取建表ddl - GetCreateTableDdl(tableName string) []map[string]interface{} -} - -// 默认每次查询列元信息数量 -const DEFAULT_COLUMN_SIZE = 2000 - -// ---------------------------------- mysql元数据 ----------------------------------- -const ( - // mysql 表信息元数据 - MYSQL_TABLE_MA = `SELECT table_name tableName, engine, table_comment tableComment, - create_time createTime from information_schema.tables - WHERE table_schema = (SELECT database()) LIMIT 2000` - - // mysql 表信息 - MYSQL_TABLE_INFO = `SELECT table_name tableName, table_comment tableComment, table_rows tableRows, - data_length dataLength, index_length indexLength, create_time createTime - FROM information_schema.tables - WHERE table_schema = (SELECT database()) LIMIT 2000` - - // mysql 索引信息 - MYSQL_INDEX_INFO = `SELECT index_name indexName, column_name columnName, index_type indexType, - SEQ_IN_INDEX seqInIndex, INDEX_COMMENT indexComment - FROM information_schema.STATISTICS - WHERE table_schema = (SELECT database()) AND table_name = '%s' LIMIT 500` - - // mysql 列信息元数据 - MYSQL_COLUMN_MA = `SELECT table_name tableName, column_name columnName, column_type columnType, - column_comment columnComment, column_key columnKey, extra, is_nullable nullable from information_schema.columns - WHERE table_name in (%s) AND table_schema = (SELECT database()) ORDER BY tableName, ordinal_position LIMIT %d, %d` - - // mysql 列信息元数据总数 - MYSQL_COLOUMN_MA_COUNT = `SELECT COUNT(*) maNum from information_schema.columns - WHERE table_name in (%s) AND table_schema = (SELECT database())` -) - -type MysqlMetadata struct { - di *DbInstance -} - -// 获取表基础元信息, 如表名等 -func (mm *MysqlMetadata) GetTables() []map[string]interface{} { - _, res, _ := mm.di.SelectData(MYSQL_TABLE_MA) - return res -} - -// 获取列元信息, 如列名等 -func (mm *MysqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { - var sql, tableName string - for i := 0; i < len(tableNames); i++ { - if i != 0 { - tableName = tableName + ", " - } - tableName = tableName + "'" + tableNames[i] + "'" - } - - pageNum := 1 - // 如果大于一个表,则统计列数并分页获取 - if len(tableNames) > 1 { - countSql := fmt.Sprintf(MYSQL_COLOUMN_MA_COUNT, tableName) - _, countRes, _ := mm.di.SelectData(countSql) - maCount := 0 - // 查询出所有列信息总数,手动分页获取所有数据 - if count64, is64 := countRes[0]["maNum"].(int64); is64 { - maCount = int(count64) - } else { - maCount = countRes[0]["maNum"].(int) - } - - // 计算需要查询的页数 - pageNum = maCount / DEFAULT_COLUMN_SIZE - if maCount%DEFAULT_COLUMN_SIZE > 0 { - pageNum++ - } - } - - res := make([]map[string]interface{}, 0) - for index := 0; index < pageNum; index++ { - sql = fmt.Sprintf(MYSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) - _, result, err := mm.di.SelectData(sql) - biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") - res = append(res, result...) - } - return res -} - -// 获取表主键字段名,默认第一个字段 -func (mm *MysqlMetadata) GetPrimaryKey(tablename string) string { - return mm.GetColumns(tablename)[0]["columnName"].(string) -} - -// 获取表信息,比GetTableMetedatas获取更详细的表信息 -func (mm *MysqlMetadata) GetTableInfos() []map[string]interface{} { - _, res, _ := mm.di.SelectData(MYSQL_TABLE_INFO) - return res -} - -// 获取表索引信息 -func (mm *MysqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { - _, res, _ := mm.di.SelectData(fmt.Sprintf(MYSQL_INDEX_INFO, tableName)) - return res -} - -// 获取建表ddl -func (mm *MysqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { - _, res, _ := mm.di.SelectData(fmt.Sprintf("show create table %s ", tableName)) - return res -} - -// ---------------------------------- pgsql元数据 ----------------------------------- -const ( - // postgres 表信息元数据 - PGSQL_TABLE_MA = `SELECT obj_description(c.oid) AS "tableComment", c.relname AS "tableName" FROM pg_class c - JOIN pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = (select current_schema()) AND c.reltype > 0` - - PGSQL_TABLE_INFO = `SELECT obj_description(c.oid) AS "tableComment", c.relname AS "tableName" FROM pg_class c - JOIN pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = (select current_schema()) AND c.reltype > 0` - - PGSQL_INDEX_INFO = `SELECT indexname AS "indexName", indexdef AS "indexComment" - FROM pg_indexes WHERE schemaname = (select current_schema()) AND tablename = '%s'` - - PGSQL_COLUMN_MA = `SELECT - C.relname AS "tableName", - A.attname AS "columnName", - concat_ws ( '', t.typname, SUBSTRING ( format_type ( a.atttypid, a.atttypmod ) FROM '\(.*\)' ) ) AS "columnType", - d.description AS "columnComment" - FROM - pg_attribute a LEFT JOIN pg_description d ON d.objoid = a.attrelid - AND d.objsubid = A.attnum - LEFT JOIN pg_class c ON A.attrelid = c.oid - LEFT JOIN pg_namespace pn ON c.relnamespace = pn.oid - LEFT JOIN pg_type t ON a.atttypid = t.oid - WHERE - A.attnum >= 0 - AND pn.nspname = (select current_schema()) - AND C.relname in (%s) - ORDER BY - C.relname DESC, - A.attnum ASC - OFFSET %d LIMIT %d - ` - - PGSQL_COLUMN_MA_COUNT = `SELECT COUNT(*) "maNum" - FROM - pg_attribute a LEFT JOIN pg_description d ON d.objoid = a.attrelid - AND d.objsubid = A.attnum - LEFT JOIN pg_class c ON A.attrelid = c.oid - LEFT JOIN pg_namespace pn ON c.relnamespace = pn.oid - LEFT JOIN pg_type t ON a.atttypid = t.oid - WHERE - A.attnum >= 0 - AND pn.nspname = (select current_schema()) - AND C.relname in (%s) - ` -) - -type PgsqlMetadata struct { - di *DbInstance -} - -// 获取表基础元信息, 如表名等 -func (pm *PgsqlMetadata) GetTables() []map[string]interface{} { - _, res, _ := pm.di.SelectData(PGSQL_TABLE_MA) - return res -} - -// 获取列元信息, 如列名等 -func (pm *PgsqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { - var sql, tableName string - for i := 0; i < len(tableNames); i++ { - if i != 0 { - tableName = tableName + ", " - } - tableName = tableName + "'" + tableNames[i] + "'" - } - - pageNum := 1 - // 如果大于一个表,则统计列数并分页获取 - if len(tableNames) > 1 { - countSql := fmt.Sprintf(PGSQL_COLUMN_MA_COUNT, tableName) - _, countRes, _ := pm.di.SelectData(countSql) - maCount := 0 - // 查询出所有列信息总数,手动分页获取所有数据 - if count64, is64 := countRes[0]["maNum"].(int64); is64 { - maCount = int(count64) - } else { - maCount = countRes[0]["maNum"].(int) - } - // 计算需要查询的页数 - pageNum = maCount / DEFAULT_COLUMN_SIZE - if maCount%DEFAULT_COLUMN_SIZE > 0 { - pageNum++ - } - } - - res := make([]map[string]interface{}, 0) - for index := 0; index < pageNum; index++ { - sql = fmt.Sprintf(PGSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) - _, result, err := pm.di.SelectData(sql) - biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") - res = append(res, result...) - } - return res -} - -// 获取表主键字段名,默认第一个字段 -func (pm *PgsqlMetadata) GetPrimaryKey(tablename string) string { - return pm.GetColumns(tablename)[0]["columnName"].(string) -} - -// 获取表信息,比GetTables获取更详细的表信息 -func (pm *PgsqlMetadata) GetTableInfos() []map[string]interface{} { - _, res, _ := pm.di.SelectData(PGSQL_TABLE_INFO) - return res -} - -// 获取表索引信息 -func (pm *PgsqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { - _, res, _ := pm.di.SelectData(fmt.Sprintf(PGSQL_INDEX_INFO, tableName)) - return res -} - -// 获取建表ddl -func (mm *PgsqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { - return nil -} diff --git a/server/internal/db/application/meta.go b/server/internal/db/application/meta.go new file mode 100644 index 00000000..5fb36768 --- /dev/null +++ b/server/internal/db/application/meta.go @@ -0,0 +1,29 @@ +package application + +// -----------------------------------元数据------------------------------------------- +// 数据库元信息接口(表、列等元信息) +// 所有数据查出来直接用map接收,注意map的key需要统一 +type DbMetadata interface { + // 获取表基础元信息 + // 表名: tableName, 备注: tableComment + GetTables() []map[string]interface{} + + // 获取指定表名的所有列元信息 + // 表名: tableName, 列名: columnName, 列类型: columnType, 备注: columnComment, 是否可为null: nullable, 其他信息: extra + GetColumns(tableNames ...string) []map[string]interface{} + + // 获取表主键字段名,目前默认第一个字段 + GetPrimaryKey(tablename string) string + + // 获取表信息,比GetTables获取更详细的表信息 + GetTableInfos() []map[string]interface{} + + // 获取表索引信息 + GetTableIndex(tableName string) []map[string]interface{} + + // 获取建表ddl + GetCreateTableDdl(tableName string) []map[string]interface{} +} + +// 默认每次查询列元信息数量 +const DEFAULT_COLUMN_SIZE = 2000 diff --git a/server/internal/db/application/mysql_meta.go b/server/internal/db/application/mysql_meta.go new file mode 100644 index 00000000..d5555fb7 --- /dev/null +++ b/server/internal/db/application/mysql_meta.go @@ -0,0 +1,112 @@ +package application + +import ( + "fmt" + "mayfly-go/pkg/biz" +) + +// ---------------------------------- mysql元数据 ----------------------------------- +const ( + // mysql 表信息元数据 + MYSQL_TABLE_MA = `SELECT table_name tableName, engine, table_comment tableComment, + create_time createTime from information_schema.tables + WHERE table_schema = (SELECT database()) LIMIT 2000` + + // mysql 表信息 + MYSQL_TABLE_INFO = `SELECT table_name tableName, table_comment tableComment, table_rows tableRows, + data_length dataLength, index_length indexLength, create_time createTime + FROM information_schema.tables + WHERE table_schema = (SELECT database()) LIMIT 2000` + + // mysql 索引信息 + MYSQL_INDEX_INFO = `SELECT index_name indexName, column_name columnName, index_type indexType, + SEQ_IN_INDEX seqInIndex, INDEX_COMMENT indexComment + FROM information_schema.STATISTICS + WHERE table_schema = (SELECT database()) AND table_name = '%s' LIMIT 500` + + // mysql 列信息元数据 + MYSQL_COLUMN_MA = `SELECT table_name tableName, column_name columnName, column_type columnType, + column_comment columnComment, column_key columnKey, extra, is_nullable nullable from information_schema.columns + WHERE table_name in (%s) AND table_schema = (SELECT database()) ORDER BY tableName, ordinal_position LIMIT %d, %d` + + // mysql 列信息元数据总数 + MYSQL_COLOUMN_MA_COUNT = `SELECT COUNT(*) maNum from information_schema.columns + WHERE table_name in (%s) AND table_schema = (SELECT database())` +) + +type MysqlMetadata struct { + di *DbInstance +} + +// 获取表基础元信息, 如表名等 +func (mm *MysqlMetadata) GetTables() []map[string]interface{} { + _, res, _ := mm.di.SelectData(MYSQL_TABLE_MA) + return res +} + +// 获取列元信息, 如列名等 +func (mm *MysqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { + var sql, tableName string + for i := 0; i < len(tableNames); i++ { + if i != 0 { + tableName = tableName + ", " + } + tableName = tableName + "'" + tableNames[i] + "'" + } + + pageNum := 1 + // 如果大于一个表,则统计列数并分页获取 + if len(tableNames) > 1 { + countSql := fmt.Sprintf(MYSQL_COLOUMN_MA_COUNT, tableName) + _, countRes, _ := mm.di.SelectData(countSql) + maCount := 0 + // 查询出所有列信息总数,手动分页获取所有数据 + if count64, is64 := countRes[0]["maNum"].(int64); is64 { + maCount = int(count64) + } else { + maCount = countRes[0]["maNum"].(int) + } + + // 计算需要查询的页数 + pageNum = maCount / DEFAULT_COLUMN_SIZE + if maCount%DEFAULT_COLUMN_SIZE > 0 { + pageNum++ + } + } + + res := make([]map[string]interface{}, 0) + for index := 0; index < pageNum; index++ { + sql = fmt.Sprintf(MYSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) + _, result, err := mm.di.SelectData(sql) + biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") + res = append(res, result...) + } + return res +} + +// 获取表主键字段名,默认第一个字段 +func (mm *MysqlMetadata) GetPrimaryKey(tablename string) string { + columns := mm.GetColumns(tablename) + if len(columns) == 0 { + panic(biz.NewBizErr(fmt.Sprintf("[%s] 表不存在", tablename))) + } + return columns[0]["columnName"].(string) +} + +// 获取表信息,比GetTableMetedatas获取更详细的表信息 +func (mm *MysqlMetadata) GetTableInfos() []map[string]interface{} { + _, res, _ := mm.di.SelectData(MYSQL_TABLE_INFO) + return res +} + +// 获取表索引信息 +func (mm *MysqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { + _, res, _ := mm.di.SelectData(fmt.Sprintf(MYSQL_INDEX_INFO, tableName)) + return res +} + +// 获取建表ddl +func (mm *MysqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { + _, res, _ := mm.di.SelectData(fmt.Sprintf("show create table %s ", tableName)) + return res +} diff --git a/server/internal/db/application/pgsql_meta.go b/server/internal/db/application/pgsql_meta.go new file mode 100644 index 00000000..450ed2a8 --- /dev/null +++ b/server/internal/db/application/pgsql_meta.go @@ -0,0 +1,128 @@ +package application + +import ( + "fmt" + "mayfly-go/pkg/biz" +) + +// ---------------------------------- pgsql元数据 ----------------------------------- +const ( + // postgres 表信息元数据 + PGSQL_TABLE_MA = `SELECT obj_description(c.oid) AS "tableComment", c.relname AS "tableName" FROM pg_class c + JOIN pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = (select current_schema()) AND c.reltype > 0` + + PGSQL_TABLE_INFO = `SELECT obj_description(c.oid) AS "tableComment", c.relname AS "tableName" FROM pg_class c + JOIN pg_namespace n ON c.relnamespace = n.oid WHERE n.nspname = (select current_schema()) AND c.reltype > 0` + + PGSQL_INDEX_INFO = `SELECT indexname AS "indexName", indexdef AS "indexComment" + FROM pg_indexes WHERE schemaname = (select current_schema()) AND tablename = '%s'` + + PGSQL_COLUMN_MA = `SELECT + C.relname AS "tableName", + A.attname AS "columnName", + concat_ws ( '', t.typname, SUBSTRING ( format_type ( a.atttypid, a.atttypmod ) FROM '\(.*\)' ) ) AS "columnType", + d.description AS "columnComment" + FROM + pg_attribute a LEFT JOIN pg_description d ON d.objoid = a.attrelid + AND d.objsubid = A.attnum + LEFT JOIN pg_class c ON A.attrelid = c.oid + LEFT JOIN pg_namespace pn ON c.relnamespace = pn.oid + LEFT JOIN pg_type t ON a.atttypid = t.oid + WHERE + A.attnum >= 0 + AND pn.nspname = (select current_schema()) + AND C.relname in (%s) + ORDER BY + C.relname DESC, + A.attnum ASC + OFFSET %d LIMIT %d + ` + + PGSQL_COLUMN_MA_COUNT = `SELECT COUNT(*) "maNum" + FROM + pg_attribute a LEFT JOIN pg_description d ON d.objoid = a.attrelid + AND d.objsubid = A.attnum + LEFT JOIN pg_class c ON A.attrelid = c.oid + LEFT JOIN pg_namespace pn ON c.relnamespace = pn.oid + LEFT JOIN pg_type t ON a.atttypid = t.oid + WHERE + A.attnum >= 0 + AND pn.nspname = (select current_schema()) + AND C.relname in (%s) + ` +) + +type PgsqlMetadata struct { + di *DbInstance +} + +// 获取表基础元信息, 如表名等 +func (pm *PgsqlMetadata) GetTables() []map[string]interface{} { + _, res, _ := pm.di.SelectData(PGSQL_TABLE_MA) + return res +} + +// 获取列元信息, 如列名等 +func (pm *PgsqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { + var sql, tableName string + for i := 0; i < len(tableNames); i++ { + if i != 0 { + tableName = tableName + ", " + } + tableName = tableName + "'" + tableNames[i] + "'" + } + + pageNum := 1 + // 如果大于一个表,则统计列数并分页获取 + if len(tableNames) > 1 { + countSql := fmt.Sprintf(PGSQL_COLUMN_MA_COUNT, tableName) + _, countRes, _ := pm.di.SelectData(countSql) + maCount := 0 + // 查询出所有列信息总数,手动分页获取所有数据 + if count64, is64 := countRes[0]["maNum"].(int64); is64 { + maCount = int(count64) + } else { + maCount = countRes[0]["maNum"].(int) + } + // 计算需要查询的页数 + pageNum = maCount / DEFAULT_COLUMN_SIZE + if maCount%DEFAULT_COLUMN_SIZE > 0 { + pageNum++ + } + } + + res := make([]map[string]interface{}, 0) + for index := 0; index < pageNum; index++ { + sql = fmt.Sprintf(PGSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) + _, result, err := pm.di.SelectData(sql) + biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") + res = append(res, result...) + } + return res +} + +// 获取表主键字段名,默认第一个字段 +func (pm *PgsqlMetadata) GetPrimaryKey(tablename string) string { + columns := pm.GetColumns(tablename) + if len(columns) == 0 { + panic(biz.NewBizErr(fmt.Sprintf("[%s] 表不存在", tablename))) + } + return columns[0]["columnName"].(string) +} + +// 获取表信息,比GetTables获取更详细的表信息 +func (pm *PgsqlMetadata) GetTableInfos() []map[string]interface{} { + _, res, _ := pm.di.SelectData(PGSQL_TABLE_INFO) + return res +} + +// 获取表索引信息 +func (pm *PgsqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { + _, res, _ := pm.di.SelectData(fmt.Sprintf(PGSQL_INDEX_INFO, tableName)) + return res +} + +// 获取建表ddl +func (mm *PgsqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { + return nil +} diff --git a/server/static/static/assets/401.1665447590227.css b/server/static/static/assets/401.1665826199593.css similarity index 100% rename from server/static/static/assets/401.1665447590227.css rename to server/static/static/assets/401.1665826199593.css diff --git a/server/static/static/assets/401.1665447590227.js b/server/static/static/assets/401.1665826199593.js similarity index 51% rename from server/static/static/assets/401.1665447590227.js rename to server/static/static/assets/401.1665826199593.js index 328118c9..97e8093a 100644 --- a/server/static/static/assets/401.1665447590227.js +++ b/server/static/static/assets/401.1665826199593.js @@ -1 +1 @@ -import{_ as s,u as n,b as l,e as c,h as e,g as d,w as f,$ as m,Q as u,R as _,d as p,B as h}from"./index.1665447590227.js";var x="assets/401.1665447590227.png";const v={name:"401",setup(){const t=n();return{onSetAuth:()=>{m(),t.push("/login")}}}},o=t=>(u("data-v-6ec92039"),t=t(),_(),t),g={class:"error"},y={class:"error-flex"},b={class:"left"},C={class:"left-item"},B=o(()=>e("div",{class:"left-item-animation left-item-num"},"401",-1)),w=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u60A8\u672A\u88AB\u6388\u6743\u6216\u767B\u5F55\u8D85\u65F6\uFF0C\u6CA1\u6709\u64CD\u4F5C\u6743\u9650",-1)),A=o(()=>e("div",{class:"left-item-animation left-item-msg"},null,-1)),S={class:"left-item-animation left-item-btn"},F=h("\u91CD\u65B0\u767B\u5F55"),k=o(()=>e("div",{class:"right"},[e("img",{src:x})],-1));function I(t,r,$,a,z,D){const i=l("el-button");return p(),c("div",g,[e("div",y,[e("div",b,[e("div",C,[B,w,A,e("div",S,[d(i,{type:"primary",round:"",onClick:a.onSetAuth},{default:f(()=>[F]),_:1},8,["onClick"])])])]),k])])}var V=s(v,[["render",I],["__scopeId","data-v-6ec92039"]]);export{V as default}; +import{_ as s,u as n,b as l,e as c,h as e,g as d,w as f,$ as m,Q as u,R as _,d as p,B as h}from"./index.1665826199593.js";var x="assets/401.1665826199593.png";const v={name:"401",setup(){const t=n();return{onSetAuth:()=>{m(),t.push("/login")}}}},o=t=>(u("data-v-6ec92039"),t=t(),_(),t),g={class:"error"},y={class:"error-flex"},b={class:"left"},C={class:"left-item"},B=o(()=>e("div",{class:"left-item-animation left-item-num"},"401",-1)),w=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u60A8\u672A\u88AB\u6388\u6743\u6216\u767B\u5F55\u8D85\u65F6\uFF0C\u6CA1\u6709\u64CD\u4F5C\u6743\u9650",-1)),A=o(()=>e("div",{class:"left-item-animation left-item-msg"},null,-1)),S={class:"left-item-animation left-item-btn"},F=o(()=>e("div",{class:"right"},[e("img",{src:x})],-1));function k(t,r,I,a,$,z){const i=l("el-button");return p(),c("div",g,[e("div",y,[e("div",b,[e("div",C,[B,w,A,e("div",S,[d(i,{type:"primary",round:"",onClick:a.onSetAuth},{default:f(()=>[h("\u91CD\u65B0\u767B\u5F55")]),_:1},8,["onClick"])])])]),F])])}var N=s(v,[["render",k],["__scopeId","data-v-6ec92039"]]);export{N as default}; diff --git a/server/static/static/assets/401.1665447590227.png b/server/static/static/assets/401.1665826199593.png similarity index 100% rename from server/static/static/assets/401.1665447590227.png rename to server/static/static/assets/401.1665826199593.png diff --git a/server/static/static/assets/404.1665447590227.css b/server/static/static/assets/404.1665826199593.css similarity index 100% rename from server/static/static/assets/404.1665447590227.css rename to server/static/static/assets/404.1665826199593.css diff --git a/server/static/static/assets/404.1665447590227.js b/server/static/static/assets/404.1665826199593.js similarity index 54% rename from server/static/static/assets/404.1665447590227.js rename to server/static/static/assets/404.1665826199593.js index 12f45f6a..2e327ec5 100644 --- a/server/static/static/assets/404.1665447590227.js +++ b/server/static/static/assets/404.1665826199593.js @@ -1 +1 @@ -import{_ as s,u as n,b as l,e as c,h as e,g as d,w as m,Q as f,R as u,d as _,B as p}from"./index.1665447590227.js";var h="assets/404.1665447590227.png";const x={name:"404",setup(){const t=n();return{onGoHome:()=>{t.push("/")}}}},o=t=>(f("data-v-69e91ac8"),t=t(),u(),t),v={class:"error"},g={class:"error-flex"},y={class:"left"},F={class:"left-item"},b=o(()=>e("div",{class:"left-item-animation left-item-num"},"404",-1)),C=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u5730\u5740\u8F93\u5165\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u5730\u5740~",-1)),B=o(()=>e("div",{class:"left-item-animation left-item-msg"},"\u60A8\u53EF\u4EE5\u5148\u68C0\u67E5\u7F51\u5740\uFF0C\u7136\u540E\u91CD\u65B0\u8F93\u5165",-1)),E={class:"left-item-animation left-item-btn"},w=p("\u8FD4\u56DE\u9996\u9875"),k=o(()=>e("div",{class:"right"},[e("img",{src:h})],-1));function D(t,a,I,r,z,G){const i=l("el-button");return _(),c("div",v,[e("div",g,[e("div",y,[e("div",F,[b,C,B,e("div",E,[d(i,{type:"primary",round:"",onClick:r.onGoHome},{default:m(()=>[w]),_:1},8,["onClick"])])])]),k])])}var N=s(x,[["render",D],["__scopeId","data-v-69e91ac8"]]);export{N as default}; +import{_ as s,u as n,b as l,e as c,h as e,g as d,w as m,Q as f,R as u,d as _,B as p}from"./index.1665826199593.js";var x="assets/404.1665826199593.png";const h={name:"404",setup(){const t=n();return{onGoHome:()=>{t.push("/")}}}},o=t=>(f("data-v-69e91ac8"),t=t(),u(),t),v={class:"error"},g={class:"error-flex"},y={class:"left"},F={class:"left-item"},b=o(()=>e("div",{class:"left-item-animation left-item-num"},"404",-1)),C=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u5730\u5740\u8F93\u5165\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u5730\u5740~",-1)),B=o(()=>e("div",{class:"left-item-animation left-item-msg"},"\u60A8\u53EF\u4EE5\u5148\u68C0\u67E5\u7F51\u5740\uFF0C\u7136\u540E\u91CD\u65B0\u8F93\u5165",-1)),E={class:"left-item-animation left-item-btn"},w=o(()=>e("div",{class:"right"},[e("img",{src:x})],-1));function k(t,a,D,r,I,z){const i=l("el-button");return _(),c("div",v,[e("div",g,[e("div",y,[e("div",F,[b,C,B,e("div",E,[d(i,{type:"primary",round:"",onClick:r.onGoHome},{default:m(()=>[p("\u8FD4\u56DE\u9996\u9875")]),_:1},8,["onClick"])])])]),w])])}var H=s(h,[["render",k],["__scopeId","data-v-69e91ac8"]]);export{H as default}; diff --git a/server/static/static/assets/404.1665447590227.png b/server/static/static/assets/404.1665826199593.png similarity index 100% rename from server/static/static/assets/404.1665447590227.png rename to server/static/static/assets/404.1665826199593.png diff --git a/server/static/static/assets/Api.1665447590227.js b/server/static/static/assets/Api.1665826199593.js similarity index 82% rename from server/static/static/assets/Api.1665447590227.js rename to server/static/static/assets/Api.1665826199593.js index acef08a9..5653a195 100644 --- a/server/static/static/assets/Api.1665447590227.js +++ b/server/static/static/assets/Api.1665826199593.js @@ -1 +1 @@ -import{p as r}from"./index.1665447590227.js";class s{constructor(t,e){this.url=t,this.method=e}setUrl(t){return this.url=t,this}setMethod(t){return this.method=t,this}getUrl(){return r.getApiUrl(this.url)}request(t=null,e=null){return r.send(this,t,e)}requestWithHeaders(t,e){return r.sendWithHeaders(this,t,e)}static create(t,e){return new s(t,e)}}export{s as A}; +import{p as r}from"./index.1665826199593.js";class s{constructor(t,e){this.url=t,this.method=e}setUrl(t){return this.url=t,this}setMethod(t){return this.method=t,this}getUrl(){return r.getApiUrl(this.url)}request(t=null,e=null){return r.send(this,t,e)}requestWithHeaders(t,e){return r.sendWithHeaders(this,t,e)}static create(t,e){return new s(t,e)}}export{s as A}; diff --git a/server/static/static/assets/ConfigList.1665447590227.js b/server/static/static/assets/ConfigList.1665447590227.js deleted file mode 100644 index ba1f26a1..00000000 --- a/server/static/static/assets/ConfigList.1665447590227.js +++ /dev/null @@ -1 +0,0 @@ -var N=Object.defineProperty,I=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var E=(e,o,n)=>o in e?N(e,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[o]=n,b=(e,o)=>{for(var n in o||(o={}))z.call(o,n)&&E(e,n,o[n]);if(C)for(var n of C(o))A.call(o,n)&&E(e,n,o[n]);return e},y=(e,o)=>I(e,L(o));import{c as _}from"./api.16654475902272.js";import{A as h,q as S,r as F,v as T,t as V,_ as w,b as i,d as k,e as $,g as l,w as a,h as D,B as g,o as j,i as O,E as P}from"./index.1665447590227.js";import"./Api.1665447590227.js";const M=h({name:"ConfigEdit",props:{visible:{type:Boolean},data:{type:[Boolean,Object]},title:{type:String}},setup(e,{emit:o}){const n=S(null),s=F({dvisible:!1,form:{id:null,name:"",key:"",value:"",remark:""},btnLoading:!1});T(e,t=>{s.dvisible=t.visible,t.data?s.form=b({},t.data):s.form={}});const f=()=>{o("update:visible",!1),o("cancel")},m=async()=>{n.value.validate(async t=>{t&&(await _.save.request(s.form),o("val-change",s.form),f(),s.btnLoading=!0,setTimeout(()=>{s.btnLoading=!1},1e3))})};return y(b({},V(s)),{configForm:n,btnOk:m,cancel:f})}}),R={class:"dialog-footer"},G=g("\u53D6 \u6D88"),H=g("\u786E \u5B9A");function J(e,o,n,s,f,m){const t=i("el-input"),p=i("el-form-item"),r=i("el-form"),c=i("el-button"),v=i("el-dialog");return k(),$("div",null,[l(v,{title:e.title,modelValue:e.dvisible,"onUpdate:modelValue":o[5]||(o[5]=u=>e.dvisible=u),"show-close":!1,"before-close":e.cancel,width:"500px","destroy-on-close":!0},{footer:a(()=>[D("div",R,[l(c,{onClick:o[4]||(o[4]=u=>e.cancel())},{default:a(()=>[G]),_:1}),l(c,{type:"primary",loading:e.btnLoading,onClick:e.btnOk},{default:a(()=>[H]),_:1},8,["loading","onClick"])])]),default:a(()=>[l(r,{ref:"configForm",model:e.form,"label-width":"90px"},{default:a(()=>[l(p,{prop:"name",label:"\u914D\u7F6E\u9879:",required:""},{default:a(()=>[l(t,{modelValue:e.form.name,"onUpdate:modelValue":o[0]||(o[0]=u=>e.form.name=u)},null,8,["modelValue"])]),_:1}),l(p,{prop:"key",label:"\u914D\u7F6Ekey:",required:""},{default:a(()=>[l(t,{disabled:e.form.id!=null,modelValue:e.form.key,"onUpdate:modelValue":o[1]||(o[1]=u=>e.form.key=u)},null,8,["disabled","modelValue"])]),_:1}),l(p,{prop:"value",label:"\u914D\u7F6E\u503C:",required:""},{default:a(()=>[l(t,{modelValue:e.form.value,"onUpdate:modelValue":o[2]||(o[2]=u=>e.form.value=u)},null,8,["modelValue"])]),_:1}),l(p,{label:"\u5907\u6CE8:"},{default:a(()=>[l(t,{modelValue:e.form.remark,"onUpdate:modelValue":o[3]||(o[3]=u=>e.form.remark=u),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue","before-close"])])}var K=w(M,[["render",J]]);const Q=h({name:"ConfigList",components:{ConfigEdit:K},setup(){const e=F({dialogFormVisible:!1,currentEditPermissions:!1,query:{pageNum:1,pageSize:10,name:null},total:0,configs:[],chooseId:null,chooseData:null,configEdit:{title:"\u914D\u7F6E\u4FEE\u6539",visible:!1,config:{}}});j(()=>{o()});const o=async()=>{let t=await _.list.request(e.query);e.configs=t.list,e.total=t.total},n=t=>{e.query.pageNum=t,o()},s=t=>{!t||(e.chooseId=t.id,e.chooseData=t)},f=()=>{P.success("\u4FEE\u6539\u6210\u529F\uFF01"),e.chooseId=null,e.chooseData=null,o()},m=t=>{t?e.configEdit.config=t:e.configEdit.config=!1,e.configEdit.visible=!0};return y(b({},V(e)),{search:o,handlePageChange:n,choose:s,configEditChange:f,editConfig:m})}}),W={class:"role-list"},X=g("\u6DFB\u52A0"),Y=g("\u7F16\u8F91"),Z=D("i",null,null,-1);function x(e,o,n,s,f,m){const t=i("el-button"),p=i("el-radio"),r=i("el-table-column"),c=i("el-table"),v=i("el-pagination"),u=i("el-row"),q=i("el-card"),B=i("config-edit");return k(),$("div",W,[l(q,null,{default:a(()=>[l(t,{type:"primary",icon:"plus",onClick:o[0]||(o[0]=d=>e.editConfig(!1))},{default:a(()=>[X]),_:1}),l(t,{disabled:e.chooseId==null,onClick:o[1]||(o[1]=d=>e.editConfig(e.chooseData)),type:"primary",icon:"edit"},{default:a(()=>[Y]),_:1},8,["disabled"]),l(c,{data:e.configs,onCurrentChange:e.choose,ref:"table",style:{width:"100%"}},{default:a(()=>[l(r,{label:"\u9009\u62E9",width:"55px"},{default:a(d=>[l(p,{modelValue:e.chooseId,"onUpdate:modelValue":o[2]||(o[2]=U=>e.chooseId=U),label:d.row.id},{default:a(()=>[Z]),_:2},1032,["modelValue","label"])]),_:1}),l(r,{prop:"name",label:"\u914D\u7F6E\u9879"}),l(r,{prop:"key",label:"\u914D\u7F6Ekey"}),l(r,{prop:"value",label:"\u914D\u7F6E\u503C","min-width":"100px","show-overflow-tooltip":""}),l(r,{prop:"remark",label:"\u5907\u6CE8","min-width":"100px","show-overflow-tooltip":""}),l(r,{prop:"updateTime",label:"\u66F4\u65B0\u65F6\u95F4"},{default:a(d=>[g(O(e.$filters.dateFormat(d.row.createTime)),1)]),_:1}),l(r,{prop:"modifier",label:"\u4FEE\u6539\u8005","show-overflow-tooltip":""})]),_:1},8,["data","onCurrentChange"]),l(u,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:a(()=>[l(v,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":o[3]||(o[3]=d=>e.query.pageNum=d),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1}),l(B,{title:e.configEdit.title,visible:e.configEdit.visible,"onUpdate:visible":o[4]||(o[4]=d=>e.configEdit.visible=d),data:e.configEdit.config,onValChange:e.configEditChange},null,8,["title","visible","data","onValChange"])])}var ne=w(Q,[["render",x]]);export{ne as default}; diff --git a/server/static/static/assets/ConfigList.1665826199593.js b/server/static/static/assets/ConfigList.1665826199593.js new file mode 100644 index 00000000..7eaf057d --- /dev/null +++ b/server/static/static/assets/ConfigList.1665826199593.js @@ -0,0 +1 @@ +var N=Object.defineProperty,I=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var E=(e,o,n)=>o in e?N(e,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[o]=n,b=(e,o)=>{for(var n in o||(o={}))z.call(o,n)&&E(e,n,o[n]);if(C)for(var n of C(o))A.call(o,n)&&E(e,n,o[n]);return e},y=(e,o)=>I(e,L(o));import{c as h}from"./api.16658261995932.js";import{A as F,q as S,r as V,v as T,t as w,_ as k,b as i,d as _,e as D,g as l,w as a,h as $,B as g,o as j,i as O,E as P}from"./index.1665826199593.js";import"./Api.1665826199593.js";const M=F({name:"ConfigEdit",props:{visible:{type:Boolean},data:{type:[Boolean,Object]},title:{type:String}},setup(e,{emit:o}){const n=S(null),s=V({dvisible:!1,form:{id:null,name:"",key:"",value:"",remark:""},btnLoading:!1});T(e,t=>{s.dvisible=t.visible,t.data?s.form=b({},t.data):s.form={}});const f=()=>{o("update:visible",!1),o("cancel")},m=async()=>{n.value.validate(async t=>{t&&(await h.save.request(s.form),o("val-change",s.form),f(),s.btnLoading=!0,setTimeout(()=>{s.btnLoading=!1},1e3))})};return y(b({},w(s)),{configForm:n,btnOk:m,cancel:f})}}),R={class:"dialog-footer"};function G(e,o,n,s,f,m){const t=i("el-input"),p=i("el-form-item"),r=i("el-form"),c=i("el-button"),v=i("el-dialog");return _(),D("div",null,[l(v,{title:e.title,modelValue:e.dvisible,"onUpdate:modelValue":o[5]||(o[5]=u=>e.dvisible=u),"show-close":!1,"before-close":e.cancel,width:"500px","destroy-on-close":!0},{footer:a(()=>[$("div",R,[l(c,{onClick:o[4]||(o[4]=u=>e.cancel())},{default:a(()=>[g("\u53D6 \u6D88")]),_:1}),l(c,{type:"primary",loading:e.btnLoading,onClick:e.btnOk},{default:a(()=>[g("\u786E \u5B9A")]),_:1},8,["loading","onClick"])])]),default:a(()=>[l(r,{ref:"configForm",model:e.form,"label-width":"90px"},{default:a(()=>[l(p,{prop:"name",label:"\u914D\u7F6E\u9879:",required:""},{default:a(()=>[l(t,{modelValue:e.form.name,"onUpdate:modelValue":o[0]||(o[0]=u=>e.form.name=u)},null,8,["modelValue"])]),_:1}),l(p,{prop:"key",label:"\u914D\u7F6Ekey:",required:""},{default:a(()=>[l(t,{disabled:e.form.id!=null,modelValue:e.form.key,"onUpdate:modelValue":o[1]||(o[1]=u=>e.form.key=u)},null,8,["disabled","modelValue"])]),_:1}),l(p,{prop:"value",label:"\u914D\u7F6E\u503C:",required:""},{default:a(()=>[l(t,{modelValue:e.form.value,"onUpdate:modelValue":o[2]||(o[2]=u=>e.form.value=u)},null,8,["modelValue"])]),_:1}),l(p,{label:"\u5907\u6CE8:"},{default:a(()=>[l(t,{modelValue:e.form.remark,"onUpdate:modelValue":o[3]||(o[3]=u=>e.form.remark=u),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue","before-close"])])}var H=k(M,[["render",G]]);const J=F({name:"ConfigList",components:{ConfigEdit:H},setup(){const e=V({dialogFormVisible:!1,currentEditPermissions:!1,query:{pageNum:1,pageSize:10,name:null},total:0,configs:[],chooseId:null,chooseData:null,configEdit:{title:"\u914D\u7F6E\u4FEE\u6539",visible:!1,config:{}}});j(()=>{o()});const o=async()=>{let t=await h.list.request(e.query);e.configs=t.list,e.total=t.total},n=t=>{e.query.pageNum=t,o()},s=t=>{!t||(e.chooseId=t.id,e.chooseData=t)},f=()=>{P.success("\u4FEE\u6539\u6210\u529F\uFF01"),e.chooseId=null,e.chooseData=null,o()},m=t=>{t?e.configEdit.config=t:e.configEdit.config=!1,e.configEdit.visible=!0};return y(b({},w(e)),{search:o,handlePageChange:n,choose:s,configEditChange:f,editConfig:m})}}),K={class:"role-list"},Q=$("i",null,null,-1);function W(e,o,n,s,f,m){const t=i("el-button"),p=i("el-radio"),r=i("el-table-column"),c=i("el-table"),v=i("el-pagination"),u=i("el-row"),q=i("el-card"),B=i("config-edit");return _(),D("div",K,[l(q,null,{default:a(()=>[l(t,{type:"primary",icon:"plus",onClick:o[0]||(o[0]=d=>e.editConfig(!1))},{default:a(()=>[g("\u6DFB\u52A0")]),_:1}),l(t,{disabled:e.chooseId==null,onClick:o[1]||(o[1]=d=>e.editConfig(e.chooseData)),type:"primary",icon:"edit"},{default:a(()=>[g("\u7F16\u8F91")]),_:1},8,["disabled"]),l(c,{data:e.configs,onCurrentChange:e.choose,ref:"table",style:{width:"100%"}},{default:a(()=>[l(r,{label:"\u9009\u62E9",width:"55px"},{default:a(d=>[l(p,{modelValue:e.chooseId,"onUpdate:modelValue":o[2]||(o[2]=U=>e.chooseId=U),label:d.row.id},{default:a(()=>[Q]),_:2},1032,["modelValue","label"])]),_:1}),l(r,{prop:"name",label:"\u914D\u7F6E\u9879"}),l(r,{prop:"key",label:"\u914D\u7F6Ekey"}),l(r,{prop:"value",label:"\u914D\u7F6E\u503C","min-width":"100px","show-overflow-tooltip":""}),l(r,{prop:"remark",label:"\u5907\u6CE8","min-width":"100px","show-overflow-tooltip":""}),l(r,{prop:"updateTime",label:"\u66F4\u65B0\u65F6\u95F4"},{default:a(d=>[g(O(e.$filters.dateFormat(d.row.createTime)),1)]),_:1}),l(r,{prop:"modifier",label:"\u4FEE\u6539\u8005","show-overflow-tooltip":""})]),_:1},8,["data","onCurrentChange"]),l(u,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:a(()=>[l(v,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":o[3]||(o[3]=d=>e.query.pageNum=d),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1}),l(B,{title:e.configEdit.title,visible:e.configEdit.visible,"onUpdate:visible":o[4]||(o[4]=d=>e.configEdit.visible=d),data:e.configEdit.config,onValChange:e.configEditChange},null,8,["title","visible","data","onValChange"])])}var ee=k(J,[["render",W]]);export{ee as default}; diff --git a/server/static/static/assets/DataOperation.1665447590227.js b/server/static/static/assets/DataOperation.1665447590227.js deleted file mode 100644 index 456ff23e..00000000 --- a/server/static/static/assets/DataOperation.1665447590227.js +++ /dev/null @@ -1 +0,0 @@ -var te=Object.defineProperty,oe=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var J=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var Q=(e,a,l)=>a in e?te(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,P=(e,a)=>{for(var l in a||(a={}))ie.call(a,l)&&Q(e,l,a[l]);if(J)for(var l of J(a))se.call(a,l)&&Q(e,l,a[l]);return e},z=(e,a)=>oe(e,ne(a));import{r as D}from"./api.16654475902275.js";import{P as ue}from"./ProjectEnvSelect.1665447590227.js";import{n as N,i as U,a as de,b as W}from"./assert.1665447590227.js";import{A as L,r as R,v as B,E as w,t as O,_ as H,G as Z,b as s,C as K,d as v,k as E,K as re,w as o,h as I,g as t,x as M,z as A,e as j,i as q,B as V,F as X,j as Y}from"./index.1665447590227.js";import{a as G}from"./format.1665447590227.js";import"./Api.1665447590227.js";import"./api.16654475902274.js";const pe=L({name:"HashValue",components:{},props:{visible:{type:Boolean},title:{type:String},operationType:{type:[Number],require:!0},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},hashValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:0,db:0,key:{key:"",type:"hash",timed:-1},scanParam:{key:"",id:0,db:0,cursor:0,match:"",count:10},keySize:0,hashValues:[{field:"",value:""}]}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.hashValues=[],l.key={}},500)};B(e,async p=>{const f=p.visible;l.redisId=p.redisId,l.db=p.db,l.key=p.keyInfo,l.operationType=p.operationType,f&&l.operationType==2&&(l.scanParam.id=e.redisId,l.scanParam.key=l.key.key,await h()),l.dialogVisible=f});const h=async()=>{l.scanParam.id=l.redisId,l.scanParam.db=l.db,l.scanParam.cursor=0,C()},C=async()=>{const p=l.scanParam.match;if(!p||p==""||p=="*"){if(l.scanParam.count>100){w.error("match\u4E3A\u7A7A\u6216\u8005*\u65F6, count\u4E0D\u80FD\u8D85\u8FC7100");return}}else if(l.scanParam.count>1e3){w.error("count\u4E0D\u80FD\u8D85\u8FC71000");return}const f=await D.hscan.request(l.scanParam);l.scanParam.cursor=f.cursor,l.keySize=f.keySize;const g=f.keys,_=[],m=g.length/2;let i=0;for(let u=0;u{if(l.operationType==1){l.hashValues.splice(f,1);return}await Z.confirm(`\u786E\u5B9A\u5220\u9664[${p}]?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),await D.hdel.request({id:l.redisId,db:l.db,key:l.key.key,field:p}),w.success("\u5220\u9664\u6210\u529F"),h()},n=async p=>{await D.saveHashValue.request({id:l.redisId,db:l.db,key:l.key.key,timed:l.key.timed,value:[{field:p.field,value:p.value}]}),w.success("\u4FDD\u5B58\u6210\u529F")},y=()=>{l.hashValues.unshift({field:"",value:""})},c=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.hashValues.length>0,"hash\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A");const p={value:l.hashValues,id:l.redisId,db:l.db};Object.assign(p,l.key),await D.saveHashValue.request(p),w.success("\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")};return z(P({},O(l)),{reHscan:h,hscan:C,cancel:k,hdel:d,hset:n,onAddHashValue:y,saveValue:c})}}),me=V("scan"),ye=V("\u6DFB\u52A0"),ce={key:2,class:"mt10",style:{float:"right"}},be={class:"dialog-footer"},fe=V("\u53D6 \u6D88"),ge=V("\u786E \u5B9A");function ve(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-button"),c=s("el-form"),p=s("el-row"),f=s("el-table-column"),g=s("el-table"),_=s("el-dialog"),m=K("auth");return v(),E(_,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[8]||(a[8]=i=>e.dialogVisible=i),"before-close":e.cancel,width:"800px","destroy-on-close":!0},re({default:o(()=>[t(c,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=i=>e.key.key=i)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=i=>e.key.timed=i),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=i=>e.key.type=i),disabled:""},null,8,["modelValue"])]),_:1}),t(p,{class:"mt10"},{default:o(()=>[t(c,{"label-position":"right",inline:!0},{default:o(()=>[e.operationType==2?(v(),E(n,{key:0,label:"field","label-width":"40px"},{default:o(()=>[t(d,{placeholder:"\u652F\u6301*\u6A21\u7CCAfield",style:{width:"140px"},modelValue:e.scanParam.match,"onUpdate:modelValue":a[3]||(a[3]=i=>e.scanParam.match=i),clearable:"",size:"small"},null,8,["modelValue"])]),_:1})):A("",!0),e.operationType==2?(v(),E(n,{key:1,label:"count"},{default:o(()=>[t(d,{placeholder:"count",style:{width:"62px"},modelValue:e.scanParam.count,"onUpdate:modelValue":a[4]||(a[4]=i=>e.scanParam.count=i),modelModifiers:{number:!0},size:"small"},null,8,["modelValue"])]),_:1})):A("",!0),t(n,null,{default:o(()=>[e.operationType==2?(v(),E(y,{key:0,onClick:a[5]||(a[5]=i=>e.reHscan()),type:"success",icon:"search",plain:"",size:"small"})):A("",!0),e.operationType==2?(v(),E(y,{key:1,onClick:a[6]||(a[6]=i=>e.hscan()),icon:"bottom",plain:"",size:"small"},{default:o(()=>[me]),_:1})):A("",!0),t(y,{onClick:e.onAddHashValue,icon:"plus",size:"small",plain:""},{default:o(()=>[ye]),_:1},8,["onClick"])]),_:1}),e.operationType==2?(v(),j("div",ce,[I("span",null,"fieldSize: "+q(e.keySize),1)])):A("",!0)]),_:1})]),_:1}),t(g,{data:e.hashValues,stripe:"",style:{width:"100%"}},{default:o(()=>[t(f,{prop:"field",label:"field",width:""},{default:o(i=>[t(d,{modelValue:i.row.field,"onUpdate:modelValue":u=>i.row.field=u,clearable:"",size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(f,{prop:"value",label:"value","min-width":"200"},{default:o(i=>[t(d,{modelValue:i.row.value,"onUpdate:modelValue":u=>i.row.value=u,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(f,{label:"\u64CD\u4F5C",width:"120"},{default:o(i=>[e.operationType==2?(v(),E(y,{key:0,type:"success",onClick:u=>e.hset(i.row),icon:"check",size:"small",plain:""},null,8,["onClick"])):A("",!0),t(y,{type:"danger",onClick:u=>e.hdel(i.row.field,i.$index),icon:"delete",size:"small",plain:""},null,8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:2},[e.operationType==1?{name:"footer",fn:o(()=>[I("div",be,[t(y,{onClick:a[7]||(a[7]=i=>e.cancel())},{default:o(()=>[fe]),_:1}),M((v(),E(y,{onClick:e.saveValue,type:"primary"},{default:o(()=>[ge]),_:1},8,["onClick"])),[[m,"redis:data:save"]])])]),key:"0"}:void 0]),1032,["title","modelValue","before-close"])}var ke=H(pe,[["render",ve]]);const Ve=L({name:"StringValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},string:{type:"text",value:""}}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.string.value="",l.string.type="text"},500)};B(()=>e.visible,n=>{l.dialogVisible=n}),B(()=>e.redisId,n=>{l.redisId=n}),B(()=>e.db,n=>{l.db=n}),B(e,async n=>{l.dialogVisible=n.visible,l.key=n.key,l.redisId=n.redisId,l.db=n.db,l.key=n.keyInfo,l.operationType=n.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{l.string.value=await D.getStringValue.request({id:l.redisId,db:l.db,key:l.key.key})},C=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),N(l.string.value,"value\u4E0D\u80FD\u4E3A\u7A7A");const n={value:G(l.string.value,!0),id:l.redisId,db:l.db};Object.assign(n,l.key),await D.saveStringValue.request(n),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},d=n=>{if(n=="json"){l.string.value=G(l.string.value,!1);return}n=="text"&&(l.string.value=G(l.string.value,!0))};return z(P({},O(l)),{saveValue:C,cancel:k,onChangeTextType:d})}}),he={id:"string-value-text",style:{width:"100%"}},Ce={class:"dialog-footer"},_e=V("\u53D6 \u6D88"),Ee=V("\u786E \u5B9A");function De(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-option"),c=s("el-select"),p=s("el-form"),f=s("el-button"),g=s("el-dialog"),_=K("auth");return v(),E(g,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[6]||(a[6]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{footer:o(()=>[I("div",Ce,[t(f,{onClick:a[5]||(a[5]=m=>e.cancel())},{default:o(()=>[_e]),_:1}),M((v(),E(f,{onClick:e.saveValue,type:"primary"},{default:o(()=>[Ee]),_:1},8,["onClick"])),[[_,"redis:data:save"]])])]),default:o(()=>[t(p,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=m=>e.key.key=m)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=m=>e.key.timed=m),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=m=>e.key.type=m),disabled:""},null,8,["modelValue"])]),_:1}),I("div",he,[t(d,{class:"json-text",modelValue:e.string.value,"onUpdate:modelValue":a[3]||(a[3]=m=>e.string.value=m),type:"textarea",autosize:{minRows:10,maxRows:20}},null,8,["modelValue"]),t(c,{class:"text-type-select",onChange:e.onChangeTextType,modelValue:e.string.type,"onUpdate:modelValue":a[4]||(a[4]=m=>e.string.type=m)},{default:o(()=>[t(y,{key:"text",label:"text",value:"text"}),t(y,{key:"json",label:"json",value:"json"})]),_:1},8,["onChange","modelValue"])])]),_:1})]),_:1},8,["title","modelValue","before-close"])}var we=H(Ve,[["render",De]]);const Fe=L({name:"SetValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]},setValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},value:[{value:""}]}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.value=[]},500)};B(e,async n=>{l.dialogVisible=n.visible,l.key=n.key,l.redisId=n.redisId,l.db=n.db,l.key=n.keyInfo,l.operationType=n.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{const n=await D.getSetValue.request({id:l.redisId,db:l.db,key:l.key.key});l.value=n.map(y=>({value:y}))},C=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.value.length>0,"set\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A");const n={value:l.value.map(y=>y.value),id:l.redisId,db:l.db};Object.assign(n,l.key),await D.saveSetValue.request(n),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},d=()=>{l.value.unshift({value:""})};return z(P({},O(l)),{saveValue:C,cancel:k,onAddSetValue:d})}}),Ie=V("\u6DFB\u52A0"),Te=V("\u5220\u9664"),$e={class:"dialog-footer"},Ae=V("\u53D6 \u6D88"),Be=V("\u786E \u5B9A");function Pe(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-button"),c=s("el-table-column"),p=s("el-table"),f=s("el-form"),g=s("el-dialog"),_=K("auth");return v(),E(g,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[4]||(a[4]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{footer:o(()=>[I("div",$e,[t(y,{onClick:a[3]||(a[3]=m=>e.cancel())},{default:o(()=>[Ae]),_:1}),M((v(),E(y,{onClick:e.saveValue,type:"primary"},{default:o(()=>[Be]),_:1},8,["onClick"])),[[_,"redis:data:save"]])])]),default:o(()=>[t(f,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=m=>e.key.key=m)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=m=>e.key.timed=m),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=m=>e.key.type=m),disabled:""},null,8,["modelValue"])]),_:1}),t(y,{onClick:e.onAddSetValue,icon:"plus",size:"small",plain:"",class:"mt10"},{default:o(()=>[Ie]),_:1},8,["onClick"]),t(p,{data:e.value,stripe:"",style:{width:"100%"}},{default:o(()=>[t(c,{prop:"value",label:"value","min-width":"200"},{default:o(m=>[t(d,{modelValue:m.row.value,"onUpdate:modelValue":i=>m.row.value=i,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(c,{label:"\u64CD\u4F5C",width:"90"},{default:o(m=>[t(y,{type:"danger",onClick:i=>e.value.splice(m.$index,1),icon:"delete",size:"small",plain:""},{default:o(()=>[Te]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:1},8,["title","modelValue","before-close"])}var ze=H(Fe,[["render",Pe]]);const Ue=L({name:"ListValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]},listValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},value:[{value:""}],len:0,start:0,stop:0,pageNum:1,pageSize:10}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.value=[]},500)};B(e,async c=>{l.dialogVisible=c.visible,l.key=c.key,l.redisId=c.redisId,l.db=c.db,l.key=c.keyInfo,l.operationType=c.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{const c=l.pageNum,p=l.pageSize,f=await D.getListValue.request({id:l.redisId,db:l.db,key:l.key.key,start:(c-1)*p,stop:c*p-1});l.len=f.len,l.value=f.list.map(g=>({value:g}))},C=async(c,p)=>{await D.setListValue.request({id:l.redisId,db:l.db,key:l.key.key,index:(l.pageNum-1)*l.pageSize+p,value:c.value}),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F")},d=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.value.length>0,"list\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A"),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},n=()=>{l.value.unshift({value:""})},y=c=>{l.pageNum=c,h()};return z(P({},O(l)),{saveValue:d,handlePageChange:y,cancel:k,lset:C,onAddListValue:n})}}),Se={key:0,class:"mt10",style:{float:"left"}};function je(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-table-column"),c=s("el-button"),p=s("el-table"),f=s("el-pagination"),g=s("el-row"),_=s("el-form"),m=s("el-dialog");return v(),E(m,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[4]||(a[4]=i=>e.dialogVisible=i),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{default:o(()=>[t(_,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=i=>e.key.key=i)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=i=>e.key.timed=i),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=i=>e.key.type=i),disabled:""},null,8,["modelValue"])]),_:1}),e.operationType==2?(v(),j("div",Se,[I("span",null,"len: "+q(e.len),1)])):A("",!0),t(p,{data:e.value,stripe:"",style:{width:"100%"}},{default:o(()=>[t(y,{prop:"value",label:"value","min-width":"200"},{default:o(i=>[t(d,{modelValue:i.row.value,"onUpdate:modelValue":u=>i.row.value=u,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(y,{label:"\u64CD\u4F5C",width:"140"},{default:o(i=>[e.operationType==2?(v(),E(c,{key:0,type:"success",onClick:u=>e.lset(i.row,i.$index),icon:"check",size:"small",plain:""},null,8,["onClick"])):A("",!0)]),_:1})]),_:1},8,["data"]),t(g,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:o(()=>[t(f,{style:{"text-align":"right"},total:e.len,layout:"prev, pager, next, total",onCurrentChange:e.handlePageChange,"current-page":e.pageNum,"onUpdate:current-page":a[3]||(a[3]=i=>e.pageNum=i),"page-size":e.pageSize},null,8,["total","onCurrentChange","current-page","page-size"])]),_:1})]),_:1})]),_:1},8,["title","modelValue","before-close"])}var qe=H(Ue,[["render",je]]);const Ne=L({name:"DataOperation",components:{StringValue:we,HashValue:ke,SetValue:ze,ListValue:qe,ProjectEnvSelect:ue},setup(){const e=R({loading:!1,redisList:[],dbList:[],query:{envId:0},scanParam:{id:null,db:null,match:null,count:10,cursor:{}},dataEdit:{visible:!1,title:"\u65B0\u589E\u6570\u636E",operationType:1,keyInfo:{type:"string",timed:-1,key:""}},hashValueDialog:{visible:!1},stringValueDialog:{visible:!1},setValueDialog:{visible:!1},listValueDialog:{visible:!1},keys:[],dbsize:0}),a=async()=>{W(e.query.envId,"\u8BF7\u5148\u9009\u62E9\u9879\u76EE\u73AF\u5883");const u=await D.redisList.request(e.query);e.redisList=u.list},l=(u,b)=>{n(),b!=null&&(e.query.envId=b,a())},k=u=>{c(u),e.scanParam.db=null,e.dbList=e.redisList.find(b=>b.id==u).db.split(","),e.keys=[],e.dbsize=0},h=()=>{c(e.scanParam.id),e.keys=[],e.dbsize=0,d()},C=async()=>{U(e.scanParam.id!=null,"\u8BF7\u5148\u9009\u62E9redis"),de(e.scanParam.count,"count\u4E0D\u80FD\u4E3A\u7A7A");const u=e.scanParam.match;!u||u.length<4?U(e.scanParam.count<=200,"key\u4E3A\u7A7A\u6216\u5C0F\u4E8E4\u5B57\u7B26\u65F6, count\u4E0D\u80FD\u8D85\u8FC7200"):U(e.scanParam.count<=2e4,"count\u4E0D\u80FD\u8D85\u8FC720000"),e.loading=!0;try{const b=await D.scan.request(e.scanParam);e.keys=b.keys,e.dbsize=b.dbSize,e.scanParam.cursor=b.cursor}finally{e.loading=!1}},d=async()=>{e.scanParam.cursor={},await C()},n=()=>{e.redisList=[],e.scanParam.id=null,c(),e.scanParam.db=null,e.keys=[],e.dbsize=0},y=()=>{c(),e.scanParam.id&&C()},c=(u=0)=>{if(e.scanParam.count=10,u!=0){const b=e.redisList.find(F=>F.id==u);b&&b.mode=="cluster"&&(e.scanParam.count=4)}e.scanParam.match=null,e.scanParam.cursor={}},p=async u=>{const b=u.type;e.dataEdit.keyInfo.type=b,e.dataEdit.keyInfo.timed=u.ttl,e.dataEdit.keyInfo.key=u.key,e.dataEdit.operationType=2,e.dataEdit.title="\u67E5\u770B\u6570\u636E",b=="hash"?e.hashValueDialog.visible=!0:b=="string"?e.stringValueDialog.visible=!0:b=="set"?e.setValueDialog.visible=!0:b=="list"?e.listValueDialog.visible=!0:w.warning("\u6682\u4E0D\u652F\u6301\u8BE5\u7C7B\u578B")},f=u=>{W(e.scanParam.id,"\u8BF7\u5148\u9009\u62E9redis"),e.dataEdit.operationType=1,e.dataEdit.title="\u65B0\u589E\u6570\u636E",e.dataEdit.keyInfo.type=u,e.dataEdit.keyInfo.timed=-1,u=="hash"?e.hashValueDialog.visible=!0:u=="string"?e.stringValueDialog.visible=!0:u=="set"?e.setValueDialog.visible=!0:u=="list"?e.listValueDialog.visible=!0:w.warning("\u6682\u4E0D\u652F\u6301\u8BE5\u7C7B\u578B")},g=()=>{e.dataEdit.keyInfo={}},_=u=>{Z.confirm(`\u786E\u5B9A\u5220\u9664[ ${u} ] \u8BE5key?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{D.delKey.request({key:u,id:e.scanParam.id,db:e.scanParam.db}).then(()=>{w.success("\u5220\u9664\u6210\u529F\uFF01"),d()})}).catch(()=>{})},m=u=>{if(u==-1||u==0)return"\u6C38\u4E45";u||(u=0);let b=parseInt(u),F=0,T=0,S=0;b>60&&(F=parseInt(b/60+""),b=b%60,F>60&&(T=parseInt(F/60+""),F=F%60,T>24&&(S=parseInt(T/24+""),T=T%24)));let $=""+b+"s";return F>0&&($=""+F+"m:"+$),T>0&&($=""+T+"h:"+$),S>0&&($=""+S+"d:"+$),$},i=u=>{if(u=="string")return"#E4F5EB";if(u=="hash")return"#F9E2AE";if(u=="set")return"#A8DEE0"};return z(P({},O(e)),{changeProjectEnv:l,changeRedis:k,changeDb:h,clearRedis:n,searchKey:d,scan:C,clear:y,getValue:p,del:_,ttlConveter:m,getTypeColor:i,onAddData:f,onCancelDataEdit:g})}}),Le={style:{float:"left"}},Re=V("scan"),Oe=V("string"),He=V("hash"),Ke=V("set"),Me={style:{float:"right"}},Ge=V("\u67E5\u770B"),Je=V("\u5220\u9664"),Qe=I("div",{style:{"text-align":"center","margin-top":"10px"}},null,-1);function We(e,a,l,k,h,C){const d=s("el-option"),n=s("el-select"),y=s("el-form-item"),c=s("project-env-select"),p=s("el-col"),f=s("el-input"),g=s("el-button"),_=s("el-tag"),m=s("el-popover"),i=s("el-form"),u=s("el-row"),b=s("el-table-column"),F=s("el-table"),T=s("el-card"),S=s("hash-value"),$=s("string-value"),x=s("set-value"),ee=s("list-value"),le=K("loading");return v(),j("div",null,[t(T,null,{default:o(()=>[I("div",Le,[t(u,{type:"flex",justify:"space-between"},{default:o(()=>[t(p,{span:24},{default:o(()=>[t(c,{onChangeProjectEnv:e.changeProjectEnv,onClear:e.clearRedis},{default:o(()=>[t(y,{label:"redis","label-width":"40px"},{default:o(()=>[t(n,{modelValue:e.scanParam.id,"onUpdate:modelValue":a[0]||(a[0]=r=>e.scanParam.id=r),placeholder:"\u8BF7\u9009\u62E9redis",onChange:e.changeRedis,onClear:e.clearRedis,clearable:""},{default:o(()=>[(v(!0),j(X,null,Y(e.redisList,r=>(v(),E(d,{key:r.id,label:r.host,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange","onClear"])]),_:1}),t(y,{label:"\u5E93","label-width":"20px"},{default:o(()=>[t(n,{modelValue:e.scanParam.db,"onUpdate:modelValue":a[1]||(a[1]=r=>e.scanParam.db=r),onChange:e.changeDb,placeholder:"\u5E93",style:{width:"85px"}},{default:o(()=>[(v(!0),j(X,null,Y(e.dbList,r=>(v(),E(d,{key:r,label:r,value:r},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1})]),_:1},8,["onChangeProjectEnv","onClear"])]),_:1}),t(p,{class:"mt10"},{default:o(()=>[t(i,{class:"search-form","label-position":"right",inline:!0,"label-width":"60px"},{default:o(()=>[t(y,{label:"key","label-width":"40px"},{default:o(()=>[t(f,{placeholder:"match \u652F\u6301*\u6A21\u7CCAkey",style:{width:"240px"},modelValue:e.scanParam.match,"onUpdate:modelValue":a[2]||(a[2]=r=>e.scanParam.match=r),onClear:a[3]||(a[3]=r=>e.clear()),clearable:""},null,8,["modelValue"])]),_:1}),t(y,{label:"count","label-width":"60px"},{default:o(()=>[t(f,{placeholder:"count",style:{width:"62px"},modelValue:e.scanParam.count,"onUpdate:modelValue":a[4]||(a[4]=r=>e.scanParam.count=r),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),t(y,null,{default:o(()=>[t(g,{onClick:a[5]||(a[5]=r=>e.searchKey()),type:"success",icon:"search",plain:""}),t(g,{onClick:a[6]||(a[6]=r=>e.scan()),icon:"bottom",plain:""},{default:o(()=>[Re]),_:1}),t(m,{placement:"right",width:200,trigger:"click"},{reference:o(()=>[t(g,{type:"primary",icon:"plus",plain:""})]),default:o(()=>[t(_,{onClick:a[7]||(a[7]=r=>e.onAddData("string")),color:e.getTypeColor("string"),style:{cursor:"pointer"}},{default:o(()=>[Oe]),_:1},8,["color"]),t(_,{onClick:a[8]||(a[8]=r=>e.onAddData("hash")),color:e.getTypeColor("hash"),class:"ml5",style:{cursor:"pointer"}},{default:o(()=>[He]),_:1},8,["color"]),t(_,{onClick:a[9]||(a[9]=r=>e.onAddData("set")),color:e.getTypeColor("set"),class:"ml5",style:{cursor:"pointer"}},{default:o(()=>[Ke]),_:1},8,["color"])]),_:1})]),_:1}),I("div",Me,[I("span",null,"keys: "+q(e.dbsize),1)])]),_:1})]),_:1})]),_:1})]),M((v(),E(F,{data:e.keys,stripe:"","highlight-current-row":!0,style:{cursor:"pointer"}},{default:o(()=>[t(b,{"show-overflow-tooltip":"",prop:"key",label:"key"}),t(b,{prop:"type",label:"type",width:"80"},{default:o(r=>[t(_,{color:e.getTypeColor(r.row.type),size:"small"},{default:o(()=>[V(q(r.row.type),1)]),_:2},1032,["color"])]),_:1}),t(b,{prop:"ttl",label:"ttl(\u8FC7\u671F\u65F6\u95F4)",width:"140"},{default:o(r=>[V(q(e.ttlConveter(r.row.ttl)),1)]),_:1}),t(b,{label:"\u64CD\u4F5C"},{default:o(r=>[t(g,{onClick:ae=>e.getValue(r.row),type:"success",icon:"search",plain:"",size:"small"},{default:o(()=>[Ge]),_:2},1032,["onClick"]),t(g,{onClick:ae=>e.del(r.row.key),type:"danger",icon:"delete",plain:"",size:"small"},{default:o(()=>[Je]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[le,e.loading]])]),_:1}),Qe,t(S,{visible:e.hashValueDialog.visible,"onUpdate:visible":a[10]||(a[10]=r=>e.hashValueDialog.visible=r),operationType:e.dataEdit.operationType,title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,onCancel:e.onCancelDataEdit,onValChange:e.searchKey},null,8,["visible","operationType","title","keyInfo","redisId","db","onCancel","onValChange"]),t($,{visible:e.stringValueDialog.visible,"onUpdate:visible":a[11]||(a[11]=r=>e.stringValueDialog.visible=r),operationType:e.dataEdit.operationType,title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,onCancel:e.onCancelDataEdit,onValChange:e.searchKey},null,8,["visible","operationType","title","keyInfo","redisId","db","onCancel","onValChange"]),t(x,{visible:e.setValueDialog.visible,"onUpdate:visible":a[12]||(a[12]=r=>e.setValueDialog.visible=r),title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,operationType:e.dataEdit.operationType,onValChange:e.searchKey,onCancel:e.onCancelDataEdit},null,8,["visible","title","keyInfo","redisId","db","operationType","onValChange","onCancel"]),t(ee,{visible:e.listValueDialog.visible,"onUpdate:visible":a[13]||(a[13]=r=>e.listValueDialog.visible=r),title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,operationType:e.dataEdit.operationType,onValChange:e.searchKey,onCancel:e.onCancelDataEdit},null,8,["visible","title","keyInfo","redisId","db","operationType","onValChange","onCancel"])])}var ol=H(Ne,[["render",We]]);export{ol as default}; diff --git a/server/static/static/assets/DataOperation.1665447590227.css b/server/static/static/assets/DataOperation.1665826199593.css similarity index 100% rename from server/static/static/assets/DataOperation.1665447590227.css rename to server/static/static/assets/DataOperation.1665826199593.css diff --git a/server/static/static/assets/DataOperation.1665826199593.js b/server/static/static/assets/DataOperation.1665826199593.js new file mode 100644 index 00000000..7dd072ca --- /dev/null +++ b/server/static/static/assets/DataOperation.1665826199593.js @@ -0,0 +1 @@ +var te=Object.defineProperty,oe=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var J=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var Q=(e,a,l)=>a in e?te(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,$=(e,a)=>{for(var l in a||(a={}))ie.call(a,l)&&Q(e,l,a[l]);if(J)for(var l of J(a))se.call(a,l)&&Q(e,l,a[l]);return e},z=(e,a)=>oe(e,ne(a));import{r as _}from"./api.16658261995935.js";import{P as ue}from"./ProjectEnvSelect.1665826199593.js";import{n as N,i as U,a as de,b as W}from"./assert.1665826199593.js";import{A as L,r as R,v as P,E as w,t as O,_ as H,G as Z,b as s,C as K,d as v,k as D,K as re,w as o,h as I,g as t,B as V,x as M,y as B,e as j,i as q,F as X,j as Y}from"./index.1665826199593.js";import{a as G}from"./format.1665826199593.js";import"./Api.1665826199593.js";import"./api.16658261995934.js";const pe=L({name:"HashValue",components:{},props:{visible:{type:Boolean},title:{type:String},operationType:{type:[Number],require:!0},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},hashValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:0,db:0,key:{key:"",type:"hash",timed:-1},scanParam:{key:"",id:0,db:0,cursor:0,match:"",count:10},keySize:0,hashValues:[{field:"",value:""}]}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.hashValues=[],l.key={}},500)};P(e,async p=>{const f=p.visible;l.redisId=p.redisId,l.db=p.db,l.key=p.keyInfo,l.operationType=p.operationType,f&&l.operationType==2&&(l.scanParam.id=e.redisId,l.scanParam.key=l.key.key,await h()),l.dialogVisible=f});const h=async()=>{l.scanParam.id=l.redisId,l.scanParam.db=l.db,l.scanParam.cursor=0,C()},C=async()=>{const p=l.scanParam.match;if(!p||p==""||p=="*"){if(l.scanParam.count>100){w.error("match\u4E3A\u7A7A\u6216\u8005*\u65F6, count\u4E0D\u80FD\u8D85\u8FC7100");return}}else if(l.scanParam.count>1e3){w.error("count\u4E0D\u80FD\u8D85\u8FC71000");return}const f=await _.hscan.request(l.scanParam);l.scanParam.cursor=f.cursor,l.keySize=f.keySize;const g=f.keys,E=[],m=g.length/2;let i=0;for(let u=0;u{if(l.operationType==1){l.hashValues.splice(f,1);return}await Z.confirm(`\u786E\u5B9A\u5220\u9664[${p}]?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),await _.hdel.request({id:l.redisId,db:l.db,key:l.key.key,field:p}),w.success("\u5220\u9664\u6210\u529F"),h()},n=async p=>{await _.saveHashValue.request({id:l.redisId,db:l.db,key:l.key.key,timed:l.key.timed,value:[{field:p.field,value:p.value}]}),w.success("\u4FDD\u5B58\u6210\u529F")},y=()=>{l.hashValues.unshift({field:"",value:""})},c=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.hashValues.length>0,"hash\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A");const p={value:l.hashValues,id:l.redisId,db:l.db};Object.assign(p,l.key),await _.saveHashValue.request(p),w.success("\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")};return z($({},O(l)),{reHscan:h,hscan:C,cancel:k,hdel:d,hset:n,onAddHashValue:y,saveValue:c})}}),me={key:2,class:"mt10",style:{float:"right"}},ye={class:"dialog-footer"};function ce(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-button"),c=s("el-form"),p=s("el-row"),f=s("el-table-column"),g=s("el-table"),E=s("el-dialog"),m=K("auth");return v(),D(E,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[8]||(a[8]=i=>e.dialogVisible=i),"before-close":e.cancel,width:"800px","destroy-on-close":!0},re({default:o(()=>[t(c,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=i=>e.key.key=i)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=i=>e.key.timed=i),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=i=>e.key.type=i),disabled:""},null,8,["modelValue"])]),_:1}),t(p,{class:"mt10"},{default:o(()=>[t(c,{"label-position":"right",inline:!0},{default:o(()=>[e.operationType==2?(v(),D(n,{key:0,label:"field","label-width":"40px"},{default:o(()=>[t(d,{placeholder:"\u652F\u6301*\u6A21\u7CCAfield",style:{width:"140px"},modelValue:e.scanParam.match,"onUpdate:modelValue":a[3]||(a[3]=i=>e.scanParam.match=i),clearable:"",size:"small"},null,8,["modelValue"])]),_:1})):B("",!0),e.operationType==2?(v(),D(n,{key:1,label:"count"},{default:o(()=>[t(d,{placeholder:"count",style:{width:"62px"},modelValue:e.scanParam.count,"onUpdate:modelValue":a[4]||(a[4]=i=>e.scanParam.count=i),modelModifiers:{number:!0},size:"small"},null,8,["modelValue"])]),_:1})):B("",!0),t(n,null,{default:o(()=>[e.operationType==2?(v(),D(y,{key:0,onClick:a[5]||(a[5]=i=>e.reHscan()),type:"success",icon:"search",plain:"",size:"small"})):B("",!0),e.operationType==2?(v(),D(y,{key:1,onClick:a[6]||(a[6]=i=>e.hscan()),icon:"bottom",plain:"",size:"small"},{default:o(()=>[V("scan")]),_:1})):B("",!0),t(y,{onClick:e.onAddHashValue,icon:"plus",size:"small",plain:""},{default:o(()=>[V("\u6DFB\u52A0")]),_:1},8,["onClick"])]),_:1}),e.operationType==2?(v(),j("div",me,[I("span",null,"fieldSize: "+q(e.keySize),1)])):B("",!0)]),_:1})]),_:1}),t(g,{data:e.hashValues,stripe:"",style:{width:"100%"}},{default:o(()=>[t(f,{prop:"field",label:"field",width:""},{default:o(i=>[t(d,{modelValue:i.row.field,"onUpdate:modelValue":u=>i.row.field=u,clearable:"",size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(f,{prop:"value",label:"value","min-width":"200"},{default:o(i=>[t(d,{modelValue:i.row.value,"onUpdate:modelValue":u=>i.row.value=u,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(f,{label:"\u64CD\u4F5C",width:"120"},{default:o(i=>[e.operationType==2?(v(),D(y,{key:0,type:"success",onClick:u=>e.hset(i.row),icon:"check",size:"small",plain:""},null,8,["onClick"])):B("",!0),t(y,{type:"danger",onClick:u=>e.hdel(i.row.field,i.$index),icon:"delete",size:"small",plain:""},null,8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:2},[e.operationType==1?{name:"footer",fn:o(()=>[I("div",ye,[t(y,{onClick:a[7]||(a[7]=i=>e.cancel())},{default:o(()=>[V("\u53D6 \u6D88")]),_:1}),M((v(),D(y,{onClick:e.saveValue,type:"primary"},{default:o(()=>[V("\u786E \u5B9A")]),_:1},8,["onClick"])),[[m,"redis:data:save"]])])]),key:"0"}:void 0]),1032,["title","modelValue","before-close"])}var be=H(pe,[["render",ce]]);const fe=L({name:"StringValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},string:{type:"text",value:""}}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.string.value="",l.string.type="text"},500)};P(()=>e.visible,n=>{l.dialogVisible=n}),P(()=>e.redisId,n=>{l.redisId=n}),P(()=>e.db,n=>{l.db=n}),P(e,async n=>{l.dialogVisible=n.visible,l.key=n.key,l.redisId=n.redisId,l.db=n.db,l.key=n.keyInfo,l.operationType=n.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{l.string.value=await _.getStringValue.request({id:l.redisId,db:l.db,key:l.key.key})},C=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),N(l.string.value,"value\u4E0D\u80FD\u4E3A\u7A7A");const n={value:G(l.string.value,!0),id:l.redisId,db:l.db};Object.assign(n,l.key),await _.saveStringValue.request(n),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},d=n=>{if(n=="json"){l.string.value=G(l.string.value,!1);return}n=="text"&&(l.string.value=G(l.string.value,!0))};return z($({},O(l)),{saveValue:C,cancel:k,onChangeTextType:d})}}),ge={id:"string-value-text",style:{width:"100%"}},ve={class:"dialog-footer"};function ke(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-option"),c=s("el-select"),p=s("el-form"),f=s("el-button"),g=s("el-dialog"),E=K("auth");return v(),D(g,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[6]||(a[6]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{footer:o(()=>[I("div",ve,[t(f,{onClick:a[5]||(a[5]=m=>e.cancel())},{default:o(()=>[V("\u53D6 \u6D88")]),_:1}),M((v(),D(f,{onClick:e.saveValue,type:"primary"},{default:o(()=>[V("\u786E \u5B9A")]),_:1},8,["onClick"])),[[E,"redis:data:save"]])])]),default:o(()=>[t(p,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=m=>e.key.key=m)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=m=>e.key.timed=m),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=m=>e.key.type=m),disabled:""},null,8,["modelValue"])]),_:1}),I("div",ge,[t(d,{class:"json-text",modelValue:e.string.value,"onUpdate:modelValue":a[3]||(a[3]=m=>e.string.value=m),type:"textarea",autosize:{minRows:10,maxRows:20}},null,8,["modelValue"]),t(c,{class:"text-type-select",onChange:e.onChangeTextType,modelValue:e.string.type,"onUpdate:modelValue":a[4]||(a[4]=m=>e.string.type=m)},{default:o(()=>[t(y,{key:"text",label:"text",value:"text"}),t(y,{key:"json",label:"json",value:"json"})]),_:1},8,["onChange","modelValue"])])]),_:1})]),_:1},8,["title","modelValue","before-close"])}var Ve=H(fe,[["render",ke]]);const he=L({name:"SetValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]},setValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},value:[{value:""}]}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.value=[]},500)};P(e,async n=>{l.dialogVisible=n.visible,l.key=n.key,l.redisId=n.redisId,l.db=n.db,l.key=n.keyInfo,l.operationType=n.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{const n=await _.getSetValue.request({id:l.redisId,db:l.db,key:l.key.key});l.value=n.map(y=>({value:y}))},C=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.value.length>0,"set\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A");const n={value:l.value.map(y=>y.value),id:l.redisId,db:l.db};Object.assign(n,l.key),await _.saveSetValue.request(n),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},d=()=>{l.value.unshift({value:""})};return z($({},O(l)),{saveValue:C,cancel:k,onAddSetValue:d})}}),Ce={class:"dialog-footer"};function Ee(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-button"),c=s("el-table-column"),p=s("el-table"),f=s("el-form"),g=s("el-dialog"),E=K("auth");return v(),D(g,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[4]||(a[4]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{footer:o(()=>[I("div",Ce,[t(y,{onClick:a[3]||(a[3]=m=>e.cancel())},{default:o(()=>[V("\u53D6 \u6D88")]),_:1}),M((v(),D(y,{onClick:e.saveValue,type:"primary"},{default:o(()=>[V("\u786E \u5B9A")]),_:1},8,["onClick"])),[[E,"redis:data:save"]])])]),default:o(()=>[t(f,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=m=>e.key.key=m)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=m=>e.key.timed=m),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=m=>e.key.type=m),disabled:""},null,8,["modelValue"])]),_:1}),t(y,{onClick:e.onAddSetValue,icon:"plus",size:"small",plain:"",class:"mt10"},{default:o(()=>[V("\u6DFB\u52A0")]),_:1},8,["onClick"]),t(p,{data:e.value,stripe:"",style:{width:"100%"}},{default:o(()=>[t(c,{prop:"value",label:"value","min-width":"200"},{default:o(m=>[t(d,{modelValue:m.row.value,"onUpdate:modelValue":i=>m.row.value=i,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(c,{label:"\u64CD\u4F5C",width:"90"},{default:o(m=>[t(y,{type:"danger",onClick:i=>e.value.splice(m.$index,1),icon:"delete",size:"small",plain:""},{default:o(()=>[V("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:1},8,["title","modelValue","before-close"])}var De=H(he,[["render",Ee]]);const _e=L({name:"ListValue",components:{},props:{visible:{type:Boolean},title:{type:String},redisId:{type:[Number],require:!0},db:{type:[Number],require:!0},keyInfo:{type:[Object]},operationType:{type:[Number]},listValue:{type:[Array,Object]}},emits:["valChange","cancel","update:visible"],setup(e,{emit:a}){const l=R({dialogVisible:!1,operationType:1,redisId:"",db:0,key:{key:"",type:"string",timed:-1},value:[{value:""}],len:0,start:0,stop:0,pageNum:1,pageSize:10}),k=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{l.key={key:"",type:"string",timed:-1},l.value=[]},500)};P(e,async c=>{l.dialogVisible=c.visible,l.key=c.key,l.redisId=c.redisId,l.db=c.db,l.key=c.keyInfo,l.operationType=c.operationType,l.dialogVisible&&l.operationType==2&&h()});const h=async()=>{const c=l.pageNum,p=l.pageSize,f=await _.getListValue.request({id:l.redisId,db:l.db,key:l.key.key,start:(c-1)*p,stop:c*p-1});l.len=f.len,l.value=f.list.map(g=>({value:g}))},C=async(c,p)=>{await _.setListValue.request({id:l.redisId,db:l.db,key:l.key.key,index:(l.pageNum-1)*l.pageSize+p,value:c.value}),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F")},d=async()=>{N(l.key.key,"key\u4E0D\u80FD\u4E3A\u7A7A"),U(l.value.length>0,"list\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A"),w.success("\u6570\u636E\u4FDD\u5B58\u6210\u529F"),k(),a("valChange")},n=()=>{l.value.unshift({value:""})},y=c=>{l.pageNum=c,h()};return z($({},O(l)),{saveValue:d,handlePageChange:y,cancel:k,lset:C,onAddListValue:n})}}),we={key:0,class:"mt10",style:{float:"left"}};function Fe(e,a,l,k,h,C){const d=s("el-input"),n=s("el-form-item"),y=s("el-table-column"),c=s("el-button"),p=s("el-table"),f=s("el-pagination"),g=s("el-row"),E=s("el-form"),m=s("el-dialog");return v(),D(m,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[4]||(a[4]=i=>e.dialogVisible=i),"before-close":e.cancel,width:"800px","destroy-on-close":!0},{default:o(()=>[t(E,{"label-width":"85px"},{default:o(()=>[t(n,{prop:"key",label:"key:"},{default:o(()=>[t(d,{disabled:e.operationType==2,modelValue:e.key.key,"onUpdate:modelValue":a[0]||(a[0]=i=>e.key.key=i)},null,8,["disabled","modelValue"])]),_:1}),t(n,{prop:"timed",label:"\u8FC7\u671F\u65F6\u95F4:"},{default:o(()=>[t(d,{modelValue:e.key.timed,"onUpdate:modelValue":a[1]||(a[1]=i=>e.key.timed=i),modelModifiers:{number:!0},type:"number"},null,8,["modelValue"])]),_:1}),t(n,{prop:"dataType",label:"\u6570\u636E\u7C7B\u578B:"},{default:o(()=>[t(d,{modelValue:e.key.type,"onUpdate:modelValue":a[2]||(a[2]=i=>e.key.type=i),disabled:""},null,8,["modelValue"])]),_:1}),e.operationType==2?(v(),j("div",we,[I("span",null,"len: "+q(e.len),1)])):B("",!0),t(p,{data:e.value,stripe:"",style:{width:"100%"}},{default:o(()=>[t(y,{prop:"value",label:"value","min-width":"200"},{default:o(i=>[t(d,{modelValue:i.row.value,"onUpdate:modelValue":u=>i.row.value=u,clearable:"",type:"textarea",autosize:{minRows:2,maxRows:10},size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(y,{label:"\u64CD\u4F5C",width:"140"},{default:o(i=>[e.operationType==2?(v(),D(c,{key:0,type:"success",onClick:u=>e.lset(i.row,i.$index),icon:"check",size:"small",plain:""},null,8,["onClick"])):B("",!0)]),_:1})]),_:1},8,["data"]),t(g,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:o(()=>[t(f,{style:{"text-align":"right"},total:e.len,layout:"prev, pager, next, total",onCurrentChange:e.handlePageChange,"current-page":e.pageNum,"onUpdate:current-page":a[3]||(a[3]=i=>e.pageNum=i),"page-size":e.pageSize},null,8,["total","onCurrentChange","current-page","page-size"])]),_:1})]),_:1})]),_:1},8,["title","modelValue","before-close"])}var Ie=H(_e,[["render",Fe]]);const Te=L({name:"DataOperation",components:{StringValue:Ve,HashValue:be,SetValue:De,ListValue:Ie,ProjectEnvSelect:ue},setup(){const e=R({loading:!1,redisList:[],dbList:[],query:{envId:0},scanParam:{id:null,db:null,match:null,count:10,cursor:{}},dataEdit:{visible:!1,title:"\u65B0\u589E\u6570\u636E",operationType:1,keyInfo:{type:"string",timed:-1,key:""}},hashValueDialog:{visible:!1},stringValueDialog:{visible:!1},setValueDialog:{visible:!1},listValueDialog:{visible:!1},keys:[],dbsize:0}),a=async()=>{W(e.query.envId,"\u8BF7\u5148\u9009\u62E9\u9879\u76EE\u73AF\u5883");const u=await _.redisList.request(e.query);e.redisList=u.list},l=(u,b)=>{n(),b!=null&&(e.query.envId=b,a())},k=u=>{c(u),e.scanParam.db=null,e.dbList=e.redisList.find(b=>b.id==u).db.split(","),e.keys=[],e.dbsize=0},h=()=>{c(e.scanParam.id),e.keys=[],e.dbsize=0,d()},C=async()=>{U(e.scanParam.id!=null,"\u8BF7\u5148\u9009\u62E9redis"),de(e.scanParam.count,"count\u4E0D\u80FD\u4E3A\u7A7A");const u=e.scanParam.match;!u||u.length<4?U(e.scanParam.count<=200,"key\u4E3A\u7A7A\u6216\u5C0F\u4E8E4\u5B57\u7B26\u65F6, count\u4E0D\u80FD\u8D85\u8FC7200"):U(e.scanParam.count<=2e4,"count\u4E0D\u80FD\u8D85\u8FC720000"),e.loading=!0;try{const b=await _.scan.request(e.scanParam);e.keys=b.keys,e.dbsize=b.dbSize,e.scanParam.cursor=b.cursor}finally{e.loading=!1}},d=async()=>{e.scanParam.cursor={},await C()},n=()=>{e.redisList=[],e.scanParam.id=null,c(),e.scanParam.db=null,e.keys=[],e.dbsize=0},y=()=>{c(),e.scanParam.id&&C()},c=(u=0)=>{if(e.scanParam.count=10,u!=0){const b=e.redisList.find(F=>F.id==u);b&&b.mode=="cluster"&&(e.scanParam.count=4)}e.scanParam.match=null,e.scanParam.cursor={}},p=async u=>{const b=u.type;e.dataEdit.keyInfo.type=b,e.dataEdit.keyInfo.timed=u.ttl,e.dataEdit.keyInfo.key=u.key,e.dataEdit.operationType=2,e.dataEdit.title="\u67E5\u770B\u6570\u636E",b=="hash"?e.hashValueDialog.visible=!0:b=="string"?e.stringValueDialog.visible=!0:b=="set"?e.setValueDialog.visible=!0:b=="list"?e.listValueDialog.visible=!0:w.warning("\u6682\u4E0D\u652F\u6301\u8BE5\u7C7B\u578B")},f=u=>{W(e.scanParam.id,"\u8BF7\u5148\u9009\u62E9redis"),e.dataEdit.operationType=1,e.dataEdit.title="\u65B0\u589E\u6570\u636E",e.dataEdit.keyInfo.type=u,e.dataEdit.keyInfo.timed=-1,u=="hash"?e.hashValueDialog.visible=!0:u=="string"?e.stringValueDialog.visible=!0:u=="set"?e.setValueDialog.visible=!0:u=="list"?e.listValueDialog.visible=!0:w.warning("\u6682\u4E0D\u652F\u6301\u8BE5\u7C7B\u578B")},g=()=>{e.dataEdit.keyInfo={}},E=u=>{Z.confirm(`\u786E\u5B9A\u5220\u9664[ ${u} ] \u8BE5key?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{_.delKey.request({key:u,id:e.scanParam.id,db:e.scanParam.db}).then(()=>{w.success("\u5220\u9664\u6210\u529F\uFF01"),d()})}).catch(()=>{})},m=u=>{if(u==-1||u==0)return"\u6C38\u4E45";u||(u=0);let b=parseInt(u),F=0,T=0,S=0;b>60&&(F=parseInt(b/60+""),b=b%60,F>60&&(T=parseInt(F/60+""),F=F%60,T>24&&(S=parseInt(T/24+""),T=T%24)));let A=""+b+"s";return F>0&&(A=""+F+"m:"+A),T>0&&(A=""+T+"h:"+A),S>0&&(A=""+S+"d:"+A),A},i=u=>{if(u=="string")return"#E4F5EB";if(u=="hash")return"#F9E2AE";if(u=="set")return"#A8DEE0"};return z($({},O(e)),{changeProjectEnv:l,changeRedis:k,changeDb:h,clearRedis:n,searchKey:d,scan:C,clear:y,getValue:p,del:E,ttlConveter:m,getTypeColor:i,onAddData:f,onCancelDataEdit:g})}}),Ae={style:{float:"left"}},Be={style:{float:"right"}},Pe=I("div",{style:{"text-align":"center","margin-top":"10px"}},null,-1);function $e(e,a,l,k,h,C){const d=s("el-option"),n=s("el-select"),y=s("el-form-item"),c=s("project-env-select"),p=s("el-col"),f=s("el-input"),g=s("el-button"),E=s("el-tag"),m=s("el-popover"),i=s("el-form"),u=s("el-row"),b=s("el-table-column"),F=s("el-table"),T=s("el-card"),S=s("hash-value"),A=s("string-value"),x=s("set-value"),ee=s("list-value"),le=K("loading");return v(),j("div",null,[t(T,null,{default:o(()=>[I("div",Ae,[t(u,{type:"flex",justify:"space-between"},{default:o(()=>[t(p,{span:24},{default:o(()=>[t(c,{onChangeProjectEnv:e.changeProjectEnv,onClear:e.clearRedis},{default:o(()=>[t(y,{label:"redis","label-width":"40px"},{default:o(()=>[t(n,{modelValue:e.scanParam.id,"onUpdate:modelValue":a[0]||(a[0]=r=>e.scanParam.id=r),placeholder:"\u8BF7\u9009\u62E9redis",onChange:e.changeRedis,onClear:e.clearRedis,clearable:""},{default:o(()=>[(v(!0),j(X,null,Y(e.redisList,r=>(v(),D(d,{key:r.id,label:r.host,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange","onClear"])]),_:1}),t(y,{label:"\u5E93","label-width":"20px"},{default:o(()=>[t(n,{modelValue:e.scanParam.db,"onUpdate:modelValue":a[1]||(a[1]=r=>e.scanParam.db=r),onChange:e.changeDb,placeholder:"\u5E93",style:{width:"85px"}},{default:o(()=>[(v(!0),j(X,null,Y(e.dbList,r=>(v(),D(d,{key:r,label:r,value:r},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1})]),_:1},8,["onChangeProjectEnv","onClear"])]),_:1}),t(p,{class:"mt10"},{default:o(()=>[t(i,{class:"search-form","label-position":"right",inline:!0,"label-width":"60px"},{default:o(()=>[t(y,{label:"key","label-width":"40px"},{default:o(()=>[t(f,{placeholder:"match \u652F\u6301*\u6A21\u7CCAkey",style:{width:"240px"},modelValue:e.scanParam.match,"onUpdate:modelValue":a[2]||(a[2]=r=>e.scanParam.match=r),onClear:a[3]||(a[3]=r=>e.clear()),clearable:""},null,8,["modelValue"])]),_:1}),t(y,{label:"count","label-width":"60px"},{default:o(()=>[t(f,{placeholder:"count",style:{width:"62px"},modelValue:e.scanParam.count,"onUpdate:modelValue":a[4]||(a[4]=r=>e.scanParam.count=r),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),t(y,null,{default:o(()=>[t(g,{onClick:a[5]||(a[5]=r=>e.searchKey()),type:"success",icon:"search",plain:""}),t(g,{onClick:a[6]||(a[6]=r=>e.scan()),icon:"bottom",plain:""},{default:o(()=>[V("scan")]),_:1}),t(m,{placement:"right",width:200,trigger:"click"},{reference:o(()=>[t(g,{type:"primary",icon:"plus",plain:""})]),default:o(()=>[t(E,{onClick:a[7]||(a[7]=r=>e.onAddData("string")),color:e.getTypeColor("string"),style:{cursor:"pointer"}},{default:o(()=>[V("string")]),_:1},8,["color"]),t(E,{onClick:a[8]||(a[8]=r=>e.onAddData("hash")),color:e.getTypeColor("hash"),class:"ml5",style:{cursor:"pointer"}},{default:o(()=>[V("hash")]),_:1},8,["color"]),t(E,{onClick:a[9]||(a[9]=r=>e.onAddData("set")),color:e.getTypeColor("set"),class:"ml5",style:{cursor:"pointer"}},{default:o(()=>[V("set")]),_:1},8,["color"])]),_:1})]),_:1}),I("div",Be,[I("span",null,"keys: "+q(e.dbsize),1)])]),_:1})]),_:1})]),_:1})]),M((v(),D(F,{data:e.keys,stripe:"","highlight-current-row":!0,style:{cursor:"pointer"}},{default:o(()=>[t(b,{"show-overflow-tooltip":"",prop:"key",label:"key"}),t(b,{prop:"type",label:"type",width:"80"},{default:o(r=>[t(E,{color:e.getTypeColor(r.row.type),size:"small"},{default:o(()=>[V(q(r.row.type),1)]),_:2},1032,["color"])]),_:1}),t(b,{prop:"ttl",label:"ttl(\u8FC7\u671F\u65F6\u95F4)",width:"140"},{default:o(r=>[V(q(e.ttlConveter(r.row.ttl)),1)]),_:1}),t(b,{label:"\u64CD\u4F5C"},{default:o(r=>[t(g,{onClick:ae=>e.getValue(r.row),type:"success",icon:"search",plain:"",size:"small"},{default:o(()=>[V("\u67E5\u770B")]),_:2},1032,["onClick"]),t(g,{onClick:ae=>e.del(r.row.key),type:"danger",icon:"delete",plain:"",size:"small"},{default:o(()=>[V("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[le,e.loading]])]),_:1}),Pe,t(S,{visible:e.hashValueDialog.visible,"onUpdate:visible":a[10]||(a[10]=r=>e.hashValueDialog.visible=r),operationType:e.dataEdit.operationType,title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,onCancel:e.onCancelDataEdit,onValChange:e.searchKey},null,8,["visible","operationType","title","keyInfo","redisId","db","onCancel","onValChange"]),t(A,{visible:e.stringValueDialog.visible,"onUpdate:visible":a[11]||(a[11]=r=>e.stringValueDialog.visible=r),operationType:e.dataEdit.operationType,title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,onCancel:e.onCancelDataEdit,onValChange:e.searchKey},null,8,["visible","operationType","title","keyInfo","redisId","db","onCancel","onValChange"]),t(x,{visible:e.setValueDialog.visible,"onUpdate:visible":a[12]||(a[12]=r=>e.setValueDialog.visible=r),title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,operationType:e.dataEdit.operationType,onValChange:e.searchKey,onCancel:e.onCancelDataEdit},null,8,["visible","title","keyInfo","redisId","db","operationType","onValChange","onCancel"]),t(ee,{visible:e.listValueDialog.visible,"onUpdate:visible":a[13]||(a[13]=r=>e.listValueDialog.visible=r),title:e.dataEdit.title,keyInfo:e.dataEdit.keyInfo,redisId:e.scanParam.id,db:e.scanParam.db,operationType:e.dataEdit.operationType,onValChange:e.searchKey,onCancel:e.onCancelDataEdit},null,8,["visible","title","keyInfo","redisId","db","operationType","onValChange","onCancel"])])}var Oe=H(Te,[["render",$e]]);export{Oe as default}; diff --git a/server/static/static/assets/DbList.1665447590227.js b/server/static/static/assets/DbList.1665447590227.js deleted file mode 100644 index 2f55fdbb..00000000 --- a/server/static/static/assets/DbList.1665447590227.js +++ /dev/null @@ -1,7 +0,0 @@ -var de=Object.defineProperty,pe=Object.defineProperties;var me=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var oe=(e,o,v)=>o in e?de(e,o,{enumerable:!0,configurable:!0,writable:!0,value:v}):e[o]=v,R=(e,o)=>{for(var v in o||(o={}))be.call(o,v)&&oe(e,v,o[v]);if(le)for(var v of le(o))fe.call(o,v)&&oe(e,v,o[v]);return e},G=(e,o)=>pe(e,me(o));import{A as X,q as ue,r as Z,v as ne,t as x,_ as ee,E as K,b as p,d,e as I,g as l,w as a,h as Y,F as N,j as _,k as f,K as ge,z as k,B as b,i as M,D as Q,H as ce,o as Ee,c as De,C as J,x as H,G as ae,J as he,I as ye}from"./index.1665447590227.js";import{f as we}from"./format.1665447590227.js";import{d as T,S as se}from"./SqlExecBox.1665447590227.js";import{p as ie}from"./api.16654475902274.js";import{m as ve}from"./api.16654475902273.js";import{a as Ce,i as Fe}from"./assert.1665447590227.js";import{R as te}from"./rsa.1665447590227.js";import{E as Ve}from"./Enum.1665447590227.js";import"./Api.1665447590227.js";import"./codemirror.1665447590227.js";const Be=X({name:"DbEdit",props:{visible:{type:Boolean},projects:{type:Array},db:{type:[Boolean,Object]},title:{type:String}},setup(e,{emit:o}){const v=ue(null),r=Z({dialogVisible:!1,projects:[],envs:[],allDatabases:[],databaseList:[],sshTunnelMachineList:[],form:{id:null,name:null,port:3306,username:null,password:null,params:null,database:"",project:null,projectId:null,envId:null,env:null,enableSshTunnel:null,sshTunnelMachineId:null},pwd:"",btnLoading:!1,rules:{projectId:[{required:!0,message:"\u8BF7\u9009\u62E9\u9879\u76EE",trigger:["change","blur"]}],envId:[{required:!0,message:"\u8BF7\u9009\u62E9\u73AF\u5883",trigger:["change","blur"]}],name:[{required:!0,message:"\u8BF7\u8F93\u5165\u522B\u540D",trigger:["change","blur"]}],type:[{required:!0,message:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93\u7C7B\u578B",trigger:["change","blur"]}],host:[{required:!0,message:"\u8BF7\u8F93\u5165\u4E3B\u673Aip\u548Cport",trigger:["change","blur"]}],username:[{required:!0,message:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",trigger:["change","blur"]}],database:[{required:!0,message:"\u8BF7\u6DFB\u52A0\u6570\u636E\u5E93",trigger:["change","blur"]}]}});ne(e,i=>{r.dialogVisible=i.visible,r.dialogVisible&&(r.projects=i.projects,i.db?(g(i.db.projectId),r.form=R({},i.db),r.databaseList=i.db.database.split(" ")):(r.envs=[],r.form={port:3306,enableSshTunnel:-1},r.databaseList=[]),L())});const S=()=>{r.form.database=r.databaseList.length==0?"":r.databaseList.join(" ")},L=async()=>{if(r.form.enableSshTunnel==1&&r.sshTunnelMachineList.length==0){const i=await ve.list.request({pageNum:1,pageSize:100});r.sshTunnelMachineList=i.list}},g=async i=>{r.envs=await ie.projectEnvs.request({projectId:i})},F=i=>{for(let V of r.projects)V.id==i&&(r.form.project=V.name);r.form.envId=null,r.form.env=null,r.envs=[],g(i)},h=i=>{for(let V of r.envs)V.id==i&&(r.form.env=V.name)},C=async()=>{const i=R({},r.form);i.password=await te(i.password),r.allDatabases=await T.getAllDatabase.request(i),K.success("\u83B7\u53D6\u6210\u529F, \u8BF7\u9009\u62E9\u9700\u8981\u7BA1\u7406\u64CD\u4F5C\u7684\u6570\u636E\u5E93")},u=async()=>{r.pwd=await T.getDbPwd.request({id:r.form.id})},w=async()=>{r.form.id||Ce(r.form.password,"\u65B0\u589E\u64CD\u4F5C\uFF0C\u5BC6\u7801\u4E0D\u53EF\u4E3A\u7A7A"),v.value.validate(async i=>{if(i){const V=R({},r.form);V.password=await te(V.password),T.saveDb.request(V).then(()=>{K.success("\u4FDD\u5B58\u6210\u529F"),o("val-change",r.form),r.btnLoading=!0,setTimeout(()=>{r.btnLoading=!1},1e3),q()})}else return K.error("\u8BF7\u6B63\u786E\u586B\u5199\u4FE1\u606F"),!1})},B=()=>{r.databaseList=[],r.allDatabases=[]},q=()=>{o("update:visible",!1),o("cancel"),setTimeout(()=>{B()},500)};return G(R({},x(r)),{dbForm:v,getAllDatabase:C,getDbPwd:u,changeDatabase:S,getSshTunnelMachines:L,changeProject:F,changeEnv:h,btnOk:w,cancel:q})}}),qe=b(":"),ke=b("\u539F\u5BC6\u7801"),Ie=b("\u83B7\u53D6\u5E93\u540D"),Se=b(" \u673A\u5668: "),$e={class:"dialog-footer"},Te=b("\u53D6 \u6D88"),Le=b("\u786E \u5B9A");function Ne(e,o,v,r,S,L){const g=p("el-option"),F=p("el-select"),h=p("el-form-item"),C=p("el-input"),u=p("el-col"),w=p("el-link"),B=p("el-popover"),q=p("el-divider"),i=p("el-checkbox"),V=p("el-form"),$=p("el-button"),U=p("el-dialog");return d(),I("div",null,[l(U,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":o[14]||(o[14]=s=>e.dialogVisible=s),"before-close":e.cancel,"close-on-click-modal":!1,"destroy-on-close":!0,width:"38%"},{footer:a(()=>[Y("div",$e,[l($,{onClick:o[13]||(o[13]=s=>e.cancel())},{default:a(()=>[Te]),_:1}),l($,{type:"primary",loading:e.btnLoading,onClick:e.btnOk},{default:a(()=>[Le]),_:1},8,["loading","onClick"])])]),default:a(()=>[l(V,{model:e.form,ref:"dbForm",rules:e.rules,"label-width":"95px"},{default:a(()=>[l(h,{prop:"projectId",label:"\u9879\u76EE:",required:""},{default:a(()=>[l(F,{style:{width:"100%"},modelValue:e.form.projectId,"onUpdate:modelValue":o[0]||(o[0]=s=>e.form.projectId=s),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",onChange:e.changeProject,filterable:""},{default:a(()=>[(d(!0),I(N,null,_(e.projects,s=>(d(),f(g,{key:s.id,label:`${s.name} [${s.remark}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),l(h,{prop:"envId",label:"\u73AF\u5883:",required:""},{default:a(()=>[l(F,{onChange:e.changeEnv,style:{width:"100%"},modelValue:e.form.envId,"onUpdate:modelValue":o[1]||(o[1]=s=>e.form.envId=s),placeholder:"\u8BF7\u9009\u62E9\u73AF\u5883"},{default:a(()=>[(d(!0),I(N,null,_(e.envs,s=>(d(),f(g,{key:s.id,label:`${s.name} [${s.remark}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"])]),_:1}),l(h,{prop:"name",label:"\u522B\u540D:",required:""},{default:a(()=>[l(C,{modelValue:e.form.name,"onUpdate:modelValue":o[2]||(o[2]=s=>e.form.name=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u522B\u540D","auto-complete":"off"},null,8,["modelValue"])]),_:1}),l(h,{prop:"type",label:"\u7C7B\u578B:",required:""},{default:a(()=>[l(F,{style:{width:"100%"},modelValue:e.form.type,"onUpdate:modelValue":o[3]||(o[3]=s=>e.form.type=s),placeholder:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93\u7C7B\u578B"},{default:a(()=>[l(g,{key:"item.id",label:"mysql",value:"mysql"}),l(g,{key:"item.id",label:"postgres",value:"postgres"})]),_:1},8,["modelValue"])]),_:1}),l(h,{prop:"host",label:"host:",required:""},{default:a(()=>[l(u,{span:18},{default:a(()=>[l(C,{disabled:e.form.id,modelValue:e.form.host,"onUpdate:modelValue":o[4]||(o[4]=s=>e.form.host=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u4E3B\u673Aip","auto-complete":"off"},null,8,["disabled","modelValue"])]),_:1}),l(u,{style:{"text-align":"center"},span:1},{default:a(()=>[qe]),_:1}),l(u,{span:5},{default:a(()=>[l(C,{type:"number",modelValue:e.form.port,"onUpdate:modelValue":o[5]||(o[5]=s=>e.form.port=s),modelModifiers:{number:!0},placeholder:"\u8BF7\u8F93\u5165\u7AEF\u53E3"},null,8,["modelValue"])]),_:1})]),_:1}),l(h,{prop:"username",label:"\u7528\u6237\u540D:",required:""},{default:a(()=>[l(C,{modelValue:e.form.username,"onUpdate:modelValue":o[6]||(o[6]=s=>e.form.username=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D"},null,8,["modelValue"])]),_:1}),l(h,{prop:"password",label:"\u5BC6\u7801:"},{default:a(()=>[l(C,{type:"password","show-password":"",modelValue:e.form.password,"onUpdate:modelValue":o[8]||(o[8]=s=>e.form.password=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801\uFF0C\u4FEE\u6539\u64CD\u4F5C\u53EF\u4E0D\u586B",autocomplete:"new-password"},ge({_:2},[e.form.id&&e.form.id!=0?{name:"suffix",fn:a(()=>[l(B,{onHide:o[7]||(o[7]=s=>e.pwd=""),placement:"right",title:"\u539F\u5BC6\u7801",width:200,trigger:"click",content:e.pwd},{reference:a(()=>[l(w,{onClick:e.getDbPwd,underline:!1,type:"primary",class:"mr5"},{default:a(()=>[ke]),_:1},8,["onClick"])]),_:1},8,["content"])]),key:"0"}:void 0]),1032,["modelValue"])]),_:1}),l(h,{prop:"params",label:"\u8FDE\u63A5\u53C2\u6570:"},{default:a(()=>[l(C,{modelValue:e.form.params,"onUpdate:modelValue":o[9]||(o[9]=s=>e.form.params=s),placeholder:"\u5176\u4ED6\u8FDE\u63A5\u53C2\u6570\uFF0C\u5F62\u5982: key1=value1&key2=value2"},null,8,["modelValue"])]),_:1}),l(h,{prop:"database",label:"\u6570\u636E\u5E93\u540D:",required:""},{default:a(()=>[l(u,{span:19},{default:a(()=>[l(F,{onChange:e.changeDatabase,modelValue:e.databaseList,"onUpdate:modelValue":o[10]||(o[10]=s=>e.databaseList=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","allow-create":"",placeholder:"\u8BF7\u786E\u4FDD\u6570\u636E\u5E93\u5B9E\u4F8B\u4FE1\u606F\u586B\u5199\u5B8C\u6574\u540E\u83B7\u53D6\u5E93\u540D",style:{width:"100%"}},{default:a(()=>[(d(!0),I(N,null,_(e.allDatabases,s=>(d(),f(g,{key:s,label:s,value:s},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"])]),_:1}),l(u,{style:{"text-align":"center"},span:1},{default:a(()=>[l(q,{direction:"vertical","border-style":"dashed"})]),_:1}),l(u,{span:4},{default:a(()=>[l(w,{onClick:e.getAllDatabase,underline:!1,type:"success"},{default:a(()=>[Ie]),_:1},8,["onClick"])]),_:1})]),_:1}),l(h,{prop:"enableSshTunnel",label:"SSH\u96A7\u9053:"},{default:a(()=>[l(u,{span:3},{default:a(()=>[l(i,{onChange:e.getSshTunnelMachines,modelValue:e.form.enableSshTunnel,"onUpdate:modelValue":o[11]||(o[11]=s=>e.form.enableSshTunnel=s),"true-label":1,"false-label":-1},null,8,["onChange","modelValue"])]),_:1}),e.form.enableSshTunnel==1?(d(),f(u,{key:0,span:2},{default:a(()=>[Se]),_:1})):k("",!0),e.form.enableSshTunnel==1?(d(),f(u,{key:1,span:19},{default:a(()=>[l(F,{style:{width:"100%"},modelValue:e.form.sshTunnelMachineId,"onUpdate:modelValue":o[12]||(o[12]=s=>e.form.sshTunnelMachineId=s),placeholder:"\u8BF7\u9009\u62E9SSH\u96A7\u9053\u673A\u5668"},{default:a(()=>[(d(!0),I(N,null,_(e.sshTunnelMachineList,s=>(d(),f(g,{key:s.id,label:`${s.ip}:${s.port} [${s.name}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):k("",!0)]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title","modelValue","before-close"])])}var _e=ee(Be,[["render",Ne]]);const Ae=["bigint","binary","blob","char","datetime","decimal","double","enum","float","int","json","longblob","longtext","mediumblob","mediumtext","set","smallint","text","time","timestamp","tinyint","varbinary","varchar"],Ue=["armscii8","ascii","big5","binary","cp1250","cp1251","cp1256","cp1257","cp850","cp852","cp866","cp932","dec8","eucjpms","euckr","gb18030","gb2312","gbk","geostd8","greek","hebrew","hp8","keybcs2","koi8r","koi8u","latin1","latin2","latin5","latin7","macce","macroman","sjis","swe7","tis620","ucs2","ujis","utf16","utf16le","utf32","utf8","utf8mb4"],ze=X({name:"createTable",props:{visible:{type:Boolean},title:{type:String},data:{type:Object},dbId:{type:Number},db:{type:String}},setup(e,{emit:o}){const v=ue(),{proxy:r}=ce(),S=Z({dialogVisible:!1,btnloading:!1,activeName:"1",typeList:Ae,characterSetNameList:Ue,tableData:{fields:{colNames:[{prop:"name",label:"\u5B57\u6BB5\u540D\u79F0"},{prop:"type",label:"\u5B57\u6BB5\u7C7B\u578B"},{prop:"length",label:"\u957F\u5EA6"},{prop:"value",label:"\u9ED8\u8BA4\u503C"},{prop:"notNull",label:"\u975E\u7A7A"},{prop:"pri",label:"\u4E3B\u952E"},{prop:"auto_increment",label:"\u81EA\u589E"},{prop:"remark",label:"\u5907\u6CE8"},{prop:"action",label:"\u64CD\u4F5C"}],res:[{name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""}]},characterSet:"utf8mb4",tableName:"",tableComment:""}});ne(e,async u=>{S.dialogVisible=u.visible});const L=()=>{o("update:visible",!1),C()},g=()=>{S.tableData.fields.res.push({name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""})},F=u=>{S.tableData.fields.res.splice(u,1)},h=async()=>{let u=S.tableData,w="",B=[];u.fields.res.forEach(i=>{B.push(`${i.name} ${i.type}${+i.length>0?`(${i.length})`:""} ${i.notNull?"NOT NULL":""} ${i.auto_increment?"AUTO_INCREMENT":""} ${i.value?"DEFAULT "+i.value:i.notNull?"":"DEFAULT NULL"} ${i.remark?`COMMENT '${i.remark}'`:""} -`),i.pri&&(w+=`${i.name},`)});let q=` - CREATE TABLE ${u.tableName} ( - ${B.join(",")} - ${w?`, PRIMARY KEY (${w.slice(0,-1)})`:""} - ) ENGINE=InnoDB DEFAULT CHARSET=${u.characterSet} COLLATE=utf8mb4_bin COMMENT='${u.tableComment}';`;se({sql:q,dbId:e.dbId,db:e.db,runSuccessCallback:()=>{K.success("\u521B\u5EFA\u6210\u529F"),r.$parent.tableInfo({id:e.dbId}),L()}})},C=()=>{v.value.resetFields(),S.tableData.fields.res=[{name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""}]};return G(R({},x(S)),{formRef:v,cancel:L,reset:C,addRow:g,deleteRow:F,submit:h})}}),je=b("\u5220\u9664"),Re=b("\u4FDD\u5B58");function Me(e,o,v,r,S,L){const g=p("el-input"),F=p("el-form-item"),h=p("el-col"),C=p("el-option"),u=p("el-select"),w=p("el-row"),B=p("el-checkbox"),q=p("el-button"),i=p("el-table-column"),V=p("el-table"),$=p("el-tab-pane"),U=p("el-tabs"),s=p("el-form"),P=p("el-dialog");return d(),I("div",null,[l(P,{title:"\u521B\u5EFA\u8868",modelValue:e.dialogVisible,"onUpdate:modelValue":o[6]||(o[6]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"90%"},{footer:a(()=>[l(q,{loading:e.btnloading,onClick:o[5]||(o[5]=m=>e.submit()),type:"primary"},{default:a(()=>[Re]),_:1},8,["loading"])]),default:a(()=>[l(s,{"label-position":"left",ref:"formRef",model:e.tableData,"label-width":"80px"},{default:a(()=>[l(w,null,{default:a(()=>[l(h,{span:12},{default:a(()=>[l(F,{prop:"tableName",label:"\u8868\u540D"},{default:a(()=>[l(g,{style:{width:"80%"},modelValue:e.tableData.tableName,"onUpdate:modelValue":o[0]||(o[0]=m=>e.tableData.tableName=m),size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),l(h,{span:12},{default:a(()=>[l(F,{prop:"tableComment",label:"\u5907\u6CE8"},{default:a(()=>[l(g,{style:{width:"80%"},modelValue:e.tableData.tableComment,"onUpdate:modelValue":o[1]||(o[1]=m=>e.tableData.tableComment=m),size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),l(h,{style:{"margin-top":"20px"},span:12},{default:a(()=>[l(F,{prop:"characterSet",label:"\u5B57\u7B26\u96C6"},{default:a(()=>[l(u,{filterable:"",style:{width:"80%"},modelValue:e.tableData.characterSet,"onUpdate:modelValue":o[2]||(o[2]=m=>e.tableData.characterSet=m),size:"small"},{default:a(()=>[(d(!0),I(N,null,_(e.characterSetNameList,m=>(d(),f(C,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(U,{modelValue:e.activeName,"onUpdate:modelValue":o[4]||(o[4]=m=>e.activeName=m)},{default:a(()=>[l($,{label:"\u5B57\u6BB5",name:"1"},{default:a(()=>[l(V,{data:e.tableData.fields.res},{default:a(()=>[(d(!0),I(N,null,_(e.tableData.fields.colNames,m=>(d(),f(i,{prop:m.prop,label:m.label,key:m.prop},{default:a(D=>[m.prop==="name"?(d(),f(g,{key:0,size:"small",modelValue:D.row.name,"onUpdate:modelValue":y=>D.row.name=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="type"?(d(),f(u,{key:1,filterable:"",size:"small",modelValue:D.row.type,"onUpdate:modelValue":y=>D.row.type=y},{default:a(()=>[(d(!0),I(N,null,_(e.typeList,y=>(d(),f(C,{key:y,value:y},{default:a(()=>[b(M(y),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="value"?(d(),f(g,{key:2,size:"small",modelValue:D.row.value,"onUpdate:modelValue":y=>D.row.value=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="length"?(d(),f(g,{key:3,size:"small",modelValue:D.row.length,"onUpdate:modelValue":y=>D.row.length=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="notNull"?(d(),f(B,{key:4,size:"small",modelValue:D.row.notNull,"onUpdate:modelValue":y=>D.row.notNull=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="pri"?(d(),f(B,{key:5,size:"small",modelValue:D.row.pri,"onUpdate:modelValue":y=>D.row.pri=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="auto_increment"?(d(),f(B,{key:6,size:"small",modelValue:D.row.auto_increment,"onUpdate:modelValue":y=>D.row.auto_increment=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="remark"?(d(),f(g,{key:7,size:"small",modelValue:D.row.remark,"onUpdate:modelValue":y=>D.row.remark=y},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="action"?(d(),f(q,{key:8,type:"text",size:"small",onClick:Q(y=>e.deleteRow(D.$index),["prevent"])},{default:a(()=>[je]),_:2},1032,["onClick"])):k("",!0)]),_:2},1032,["prop","label"]))),128))]),_:1},8,["data"]),l(w,{style:{"margin-top":"20px"}},{default:a(()=>[l(q,{onClick:o[3]||(o[3]=m=>e.addRow()),type:"text",icon:"plus"})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model"])]),_:1},8,["modelValue","before-close"])])}var Pe=ee(ze,[["render",Me]]),W={DbSqlExecTypeEnum:new Ve().add("UPDATE","UPDATE",1).add("DELETE","DELETE",2).add("INSERT","INSERT",3)};const Oe=X({name:"DbList",components:{DbEdit:_e,CreateTable:Pe},setup(){const e=Z({dbId:0,db:"",permissions:{saveDb:"db:save",delDb:"db:del"},projects:[],chooseId:null,chooseData:null,query:{pageNum:1,pageSize:10},datas:[],total:0,showDumpInfo:!1,dumpInfo:{id:0,db:"",type:3,tables:[]},sqlExecLogDialog:{title:"",visible:!1,data:[],total:0,dbs:[],query:{dbId:0,db:"",table:"",type:null,pageNum:1,pageSize:12}},rollbackSqlDialog:{visible:!1,sql:""},chooseTableName:"",tableInfoDialog:{loading:!1,visible:!1,infos:[],tableNameSearch:"",tableCommentSearch:""},columnDialog:{visible:!1,columns:[]},indexDialog:{visible:!1,indexs:[]},ddlDialog:{visible:!1,ddl:""},dbEditDialog:{visible:!1,data:null,title:"\u65B0\u589E\u6570\u636E\u5E93"},tableCreateDialog:{visible:!1}});Ee(async()=>{r()});const o=De(()=>{const n=e.tableInfoDialog.infos,c=e.tableInfoDialog.tableNameSearch,A=e.tableInfoDialog.tableCommentSearch;return!c&&!A?n:n.filter(z=>{let t=!0,E=!0;return c&&(t=z.tableName.toLowerCase().includes(c.toLowerCase())),A&&(E=z.tableComment.includes(A)),t&&E})}),v=n=>{!n||(e.chooseId=n.id,e.chooseData=n)},r=async()=>{let n=await T.dbs.request(e.query);n.list.forEach(c=>{c.popoverSelectDbVisible=!1,c.dbs=c.database.split(" ")}),e.datas=n.list,e.total=n.total},S=n=>{e.query.pageNum=n,r()},L=async()=>{e.projects=await ie.accountProjects.request(null)},g=async(n=!1)=>{await L(),n?(e.dbEditDialog.data=null,e.dbEditDialog.title="\u65B0\u589E\u6570\u636E\u5E93\u8D44\u6E90"):(e.dbEditDialog.data=e.chooseData,e.dbEditDialog.title="\u4FEE\u6539\u6570\u636E\u5E93\u8D44\u6E90"),e.dbEditDialog.visible=!0},F=()=>{e.chooseData=null,e.chooseId=null,r()},h=async n=>{try{await ae.confirm("\u786E\u5B9A\u5220\u9664\u8BE5\u5E93?","\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),await T.deleteDb.request({id:n}),K.success("\u5220\u9664\u6210\u529F"),e.chooseData=null,e.chooseId=null,r()}catch{}},C=async n=>{e.sqlExecLogDialog.title=`${n.name}[${n.host}:${n.port}]`,e.sqlExecLogDialog.query.dbId=n.id,e.sqlExecLogDialog.dbs=n.database.split(" "),w(),e.sqlExecLogDialog.visible=!0},u=()=>{e.sqlExecLogDialog.visible=!1,e.sqlExecLogDialog.data=[],e.sqlExecLogDialog.dbs=[],e.sqlExecLogDialog.total=0,e.sqlExecLogDialog.query.dbId=0,e.sqlExecLogDialog.query.pageNum=1,e.sqlExecLogDialog.query.table="",e.sqlExecLogDialog.query.db="",e.sqlExecLogDialog.query.type=null},w=async()=>{const n=await T.getSqlExecs.request(e.sqlExecLogDialog.query);e.sqlExecLogDialog.data=n.list,e.sqlExecLogDialog.total=n.total},B=n=>{e.sqlExecLogDialog.query.pageNum=n,w()},q=n=>{e.dumpInfo.tables=n.map(c=>c.tableName)},i=n=>{Fe(e.dumpInfo.tables.length>0,"\u8BF7\u9009\u62E9\u8981\u5BFC\u51FA\u7684\u8868");const c=document.createElement("a");c.setAttribute("href",`${he.baseApiUrl}/dbs/${e.dbId}/dump?db=${n}&type=${e.dumpInfo.type}&tables=${e.dumpInfo.tables.join(",")}&token=${ye("token")}`),c.click(),e.showDumpInfo=!1},V=async n=>{const c=await T.columnMetadata.request({id:n.dbId,db:n.db,tableName:n.table}),A=c[0].columnName,z=JSON.parse(n.oldValue),t=[];if(n.type==W.DbSqlExecTypeEnum.UPDATE.value)for(let E of z){const j=[];for(let O in E)O!=A&&j.push(`${O} = ${$(E[O])}`);t.push(`UPDATE ${n.table} SET ${j.join(", ")} WHERE ${A} = ${$(E[A])};`)}else if(n.type==W.DbSqlExecTypeEnum.DELETE.value){const E=c.map(j=>j.columnName);for(let j of z){const O=[];for(let re of E)O.push($(j[re]));t.push(`INSERT INTO ${n.table} (${E.join(", ")}) VALUES (${O.join(", ")});`)}}e.rollbackSqlDialog.sql=t.join(` -`),e.rollbackSqlDialog.visible=!0},$=n=>typeof n=="number"?n:`'${n}'`,U=async(n,c)=>{e.tableInfoDialog.loading=!0,e.tableInfoDialog.visible=!0;try{e.tableInfoDialog.infos=await T.tableInfos.request({id:n.id,db:c}),e.dbId=n.id,e.db=c}catch{e.tableInfoDialog.visible=!1}finally{e.tableInfoDialog.loading=!1}},s=()=>{e.showDumpInfo=!1,e.tableInfoDialog.visible=!1,e.tableInfoDialog.infos=[]},P=async n=>{e.chooseTableName=n.tableName,e.columnDialog.columns=await T.columnMetadata.request({id:e.chooseId,db:e.db,tableName:n.tableName}),e.columnDialog.visible=!0},m=async n=>{e.chooseTableName=n.tableName,e.indexDialog.indexs=await T.tableIndex.request({id:e.chooseId,db:e.db,tableName:n.tableName}),e.indexDialog.visible=!0},D=async n=>{e.chooseTableName=n.tableName;const c=await T.tableDdl.request({id:e.chooseId,db:e.db,tableName:n.tableName});e.ddlDialog.ddl=c[0]["Create Table"],e.ddlDialog.visible=!0},y=async n=>{try{const c=n.tableName;await ae.confirm(`\u786E\u5B9A\u5220\u9664'${c}'\u8868?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),se({sql:`DROP TABLE ${c}`,dbId:e.chooseId,db:e.db,runSuccessCallback:async()=>{e.tableInfoDialog.infos=await T.tableInfos.request({id:e.chooseId,db:e.db})}})}catch{}};return G(R({},x(e)),{getProjects:L,filterTableInfos:o,enums:W,search:r,choose:v,handlePageChange:S,editDb:g,valChange:F,deleteDb:h,onShowSqlExec:C,handleDumpTableSelectionChange:q,dump:i,onBeforeCloseSqlExecDialog:u,handleSqlExecPageChange:B,searchSqlExecLog:w,onShowRollbackSql:V,showTableInfo:U,closeTableInfo:s,showColumns:P,showTableIndex:m,showCreateDdl:D,dropTable:y,formatByteSize:we})}}),He={class:"db-list"},Qe=b("\u6DFB\u52A0"),Ke=b("\u7F16\u8F91"),Ye=b("\u5220\u9664"),Ge={style:{float:"right"}},Je=b("\u67E5\u8BE2"),We=Y("i",null,null,-1),Xe=b("\u67E5\u770B"),Ze=b("SQL\u6267\u884C\u8BB0\u5F55"),xe=b("\u5BFC\u51FA"),el=b("\u7ED3\u6784"),ll=b("\u6570\u636E"),ol=b("\u7ED3\u6784\uFF0B\u6570\u636E"),al={style:{"text-align":"right"}},tl=b("\u53D6\u6D88"),ul=b("\u786E\u5B9A"),nl=b("\u521B\u5EFA\u8868"),sl=b("\u5B57\u6BB5"),il=b("\u7D22\u5F15"),rl=b("SQL"),dl=b("\u5220\u9664"),pl={class:"toolbar"},ml=b("UPDATE"),bl=b("DELETE"),fl=b("INSERT"),gl=b("\u8FD8\u539FSQL");function cl(e,o,v,r,S,L){const g=p("el-button"),F=p("el-option"),h=p("el-select"),C=p("el-radio"),u=p("el-table-column"),w=p("el-link"),B=p("el-tag"),q=p("el-popover"),i=p("el-table"),V=p("el-pagination"),$=p("el-row"),U=p("el-card"),s=p("el-radio-group"),P=p("el-form-item"),m=p("el-input"),D=p("el-dialog"),y=p("db-edit"),n=p("create-table"),c=J("auth"),A=J("waves"),z=J("loading");return d(),I("div",He,[l(U,null,{default:a(()=>[H((d(),f(g,{type:"primary",icon:"plus",onClick:o[0]||(o[0]=t=>e.editDb(!0))},{default:a(()=>[Qe]),_:1})),[[c,e.permissions.saveDb]]),H((d(),f(g,{disabled:e.chooseId==null,onClick:o[1]||(o[1]=t=>e.editDb(!1)),type:"primary",icon:"edit"},{default:a(()=>[Ke]),_:1},8,["disabled"])),[[c,e.permissions.saveDb]]),H((d(),f(g,{disabled:e.chooseId==null,onClick:o[2]||(o[2]=t=>e.deleteDb(e.chooseId)),type:"danger",icon:"delete"},{default:a(()=>[Ye]),_:1},8,["disabled"])),[[c,e.permissions.delDb]]),Y("div",Ge,[l(h,{onFocus:e.getProjects,modelValue:e.query.projectId,"onUpdate:modelValue":o[3]||(o[3]=t=>e.query.projectId=t),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",filterable:"",clearable:""},{default:a(()=>[(d(!0),I(N,null,_(e.projects,t=>(d(),f(F,{key:t.id,label:`${t.name} [${t.remark}]`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["onFocus","modelValue"]),H((d(),f(g,{type:"primary",icon:"search",onClick:o[4]||(o[4]=t=>e.search()),class:"ml5"},{default:a(()=>[Je]),_:1})),[[A]])]),l(i,{data:e.datas,ref:"table",onCurrentChange:e.choose,"show-overflow-tooltip":"",stripe:""},{default:a(()=>[l(u,{label:"\u9009\u62E9",width:"60px"},{default:a(t=>[l(C,{modelValue:e.chooseId,"onUpdate:modelValue":o[5]||(o[5]=E=>e.chooseId=E),label:t.row.id},{default:a(()=>[We]),_:2},1032,["modelValue","label"])]),_:1}),l(u,{prop:"project",label:"\u9879\u76EE","min-width":"100","show-overflow-tooltip":""}),l(u,{prop:"env",label:"\u73AF\u5883","min-width":"100"}),l(u,{prop:"name",label:"\u540D\u79F0","min-width":"160","show-overflow-tooltip":""}),l(u,{"min-width":"170",label:"host:port","show-overflow-tooltip":""},{default:a(t=>[b(M(`${t.row.host}:${t.row.port}`),1)]),_:1}),l(u,{prop:"type",label:"\u7C7B\u578B","min-width":"90"}),l(u,{prop:"database",label:"\u6570\u636E\u5E93","min-width":"80"},{default:a(t=>[l(q,{width:250,placement:"right",trigger:"click"},{reference:a(()=>[l(w,{type:"primary",underline:!1,plain:""},{default:a(()=>[Xe]),_:1})]),default:a(()=>[(d(!0),I(N,null,_(t.row.dbs,E=>(d(),f(B,{onClick:j=>e.showTableInfo(t.row,E),effect:"plain",type:"success",size:"small",key:E,style:{cursor:"pointer","margin-left":"3px","margin-bottom":"3px"}},{default:a(()=>[b(M(E),1)]),_:2},1032,["onClick"]))),128))]),_:2},1024)]),_:1}),l(u,{prop:"username",label:"\u7528\u6237\u540D","min-width":"100"}),l(u,{"min-width":"115",prop:"creator",label:"\u521B\u5EFA\u8D26\u53F7"}),l(u,{"min-width":"160",prop:"createTime",label:"\u521B\u5EFA\u65F6\u95F4","show-overflow-tooltip":""},{default:a(t=>[b(M(e.$filters.dateFormat(t.row.createTime)),1)]),_:1}),l(u,{label:"\u64CD\u4F5C","min-width":"120",fixed:"right"},{default:a(t=>[l(w,{type:"primary",plain:"",size:"small",underline:!1,onClick:E=>e.onShowSqlExec(t.row)},{default:a(()=>[Ze]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data","onCurrentChange"]),l($,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:a(()=>[l(V,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":o[6]||(o[6]=t=>e.query.pageNum=t),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1}),l(D,{width:"75%",title:`${e.db} \u8868\u4FE1\u606F`,"before-close":e.closeTableInfo,modelValue:e.tableInfoDialog.visible,"onUpdate:modelValue":o[15]||(o[15]=t=>e.tableInfoDialog.visible=t)},{default:a(()=>[l($,{class:"mb10"},{default:a(()=>[l(q,{visible:e.showDumpInfo,"onUpdate:visible":o[11]||(o[11]=t=>e.showDumpInfo=t),width:470,placement:"right"},{reference:a(()=>[l(g,{class:"ml5",type:"success",size:"small",onClick:o[7]||(o[7]=t=>e.showDumpInfo=!e.showDumpInfo)},{default:a(()=>[xe]),_:1})]),default:a(()=>[l(P,{label:"\u5BFC\u51FA\u5185\u5BB9: "},{default:a(()=>[l(s,{modelValue:e.dumpInfo.type,"onUpdate:modelValue":o[8]||(o[8]=t=>e.dumpInfo.type=t)},{default:a(()=>[l(C,{label:1,size:"small"},{default:a(()=>[el]),_:1}),l(C,{label:2,size:"small"},{default:a(()=>[ll]),_:1}),l(C,{label:3,size:"small"},{default:a(()=>[ol]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(P,{label:"\u5BFC\u51FA\u8868: "},{default:a(()=>[l(i,{onSelectionChange:e.handleDumpTableSelectionChange,"max-height":"300",size:"small",data:e.tableInfoDialog.infos},{default:a(()=>[l(u,{type:"selection",width:"45"}),l(u,{property:"tableName",label:"\u8868\u540D","min-width":"150","show-overflow-tooltip":""}),l(u,{property:"tableComment",label:"\u5907\u6CE8","min-width":"150","show-overflow-tooltip":""})]),_:1},8,["onSelectionChange","data"])]),_:1}),Y("div",al,[l(g,{onClick:o[9]||(o[9]=t=>e.showDumpInfo=!1),size:"small"},{default:a(()=>[tl]),_:1}),l(g,{onClick:o[10]||(o[10]=t=>e.dump(e.db)),type:"success",size:"small"},{default:a(()=>[ul]),_:1})])]),_:1},8,["visible"]),l(g,{type:"primary",size:"small",onClick:o[12]||(o[12]=t=>e.tableCreateDialog.visible=!0)},{default:a(()=>[nl]),_:1})]),_:1}),H((d(),f(i,{border:"",stripe:"",data:e.filterTableInfos,size:"small"},{default:a(()=>[l(u,{property:"tableName",label:"\u8868\u540D","min-width":"150","show-overflow-tooltip":""},{header:a(()=>[l(m,{modelValue:e.tableInfoDialog.tableNameSearch,"onUpdate:modelValue":o[13]||(o[13]=t=>e.tableInfoDialog.tableNameSearch=t),size:"small",placeholder:"\u8868\u540D: \u8F93\u5165\u53EF\u8FC7\u6EE4",clearable:""},null,8,["modelValue"])]),_:1}),l(u,{property:"tableComment",label:"\u5907\u6CE8","min-width":"150","show-overflow-tooltip":""},{header:a(()=>[l(m,{modelValue:e.tableInfoDialog.tableCommentSearch,"onUpdate:modelValue":o[14]||(o[14]=t=>e.tableInfoDialog.tableCommentSearch=t),size:"small",placeholder:"\u5907\u6CE8: \u8F93\u5165\u53EF\u8FC7\u6EE4",clearable:""},null,8,["modelValue"])]),_:1}),l(u,{prop:"tableRows",label:"Rows","min-width":"70",sortable:"","sort-method":(t,E)=>parseInt(t.tableRows)-parseInt(E.tableRows)},null,8,["sort-method"]),l(u,{property:"dataLength",label:"\u6570\u636E\u5927\u5C0F",sortable:"","sort-method":(t,E)=>parseInt(t.dataLength)-parseInt(E.dataLength)},{default:a(t=>[b(M(e.formatByteSize(t.row.dataLength)),1)]),_:1},8,["sort-method"]),l(u,{property:"indexLength",label:"\u7D22\u5F15\u5927\u5C0F",sortable:"","sort-method":(t,E)=>parseInt(t.indexLength)-parseInt(E.indexLength)},{default:a(t=>[b(M(e.formatByteSize(t.row.indexLength)),1)]),_:1},8,["sort-method"]),l(u,{property:"createTime",label:"\u521B\u5EFA\u65F6\u95F4","min-width":"150"}),l(u,{label:"\u66F4\u591A\u4FE1\u606F","min-width":"100"},{default:a(t=>[l(w,{onClick:Q(E=>e.showColumns(t.row),["prevent"]),type:"primary"},{default:a(()=>[sl]),_:2},1032,["onClick"]),l(w,{class:"ml5",onClick:Q(E=>e.showTableIndex(t.row),["prevent"]),type:"success"},{default:a(()=>[il]),_:2},1032,["onClick"]),l(w,{class:"ml5",onClick:Q(E=>e.showCreateDdl(t.row),["prevent"]),type:"info"},{default:a(()=>[rl]),_:2},1032,["onClick"])]),_:1}),l(u,{label:"\u64CD\u4F5C","min-width":"80"},{default:a(t=>[l(w,{onClick:Q(E=>e.dropTable(t.row),["prevent"]),type:"danger"},{default:a(()=>[dl]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[z,e.tableInfoDialog.loading]])]),_:1},8,["title","before-close","modelValue"]),l(D,{width:"90%",title:`${e.sqlExecLogDialog.title} - SQL\u6267\u884C\u8BB0\u5F55`,"before-close":e.onBeforeCloseSqlExecDialog,modelValue:e.sqlExecLogDialog.visible,"onUpdate:modelValue":o[20]||(o[20]=t=>e.sqlExecLogDialog.visible=t)},{default:a(()=>[Y("div",pl,[l(h,{modelValue:e.sqlExecLogDialog.query.db,"onUpdate:modelValue":o[16]||(o[16]=t=>e.sqlExecLogDialog.query.db=t),placeholder:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93",filterable:"",clearable:""},{default:a(()=>[(d(!0),I(N,null,_(e.sqlExecLogDialog.dbs,t=>(d(),f(F,{key:t,label:`${t}`,value:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(m,{modelValue:e.sqlExecLogDialog.query.table,"onUpdate:modelValue":o[17]||(o[17]=t=>e.sqlExecLogDialog.query.table=t),placeholder:"\u8BF7\u8F93\u5165\u8868\u540D",clearable:"",class:"ml5",style:{width:"180px"}},null,8,["modelValue"]),l(h,{modelValue:e.sqlExecLogDialog.query.type,"onUpdate:modelValue":o[18]||(o[18]=t=>e.sqlExecLogDialog.query.type=t),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u7C7B\u578B",clearable:"",class:"ml5"},{default:a(()=>[(d(!0),I(N,null,_(e.enums.DbSqlExecTypeEnum,t=>(d(),f(F,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(g,{class:"ml5",onClick:e.searchSqlExecLog,type:"success",icon:"search"},null,8,["onClick"])]),l(i,{border:"",stripe:"",data:e.sqlExecLogDialog.data,size:"small"},{default:a(()=>[l(u,{prop:"db",label:"\u6570\u636E\u5E93","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"table",label:"\u8868","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"type",label:"\u7C7B\u578B",width:"85","show-overflow-tooltip":""},{default:a(t=>[t.row.type==e.enums.DbSqlExecTypeEnum.UPDATE.value?(d(),f(B,{key:0,color:"#E4F5EB",size:"small"},{default:a(()=>[ml]),_:1})):k("",!0),t.row.type==e.enums.DbSqlExecTypeEnum.DELETE.value?(d(),f(B,{key:1,color:"#F9E2AE",size:"small"},{default:a(()=>[bl]),_:1})):k("",!0),t.row.type==e.enums.DbSqlExecTypeEnum.INSERT.value?(d(),f(B,{key:2,color:"#A8DEE0",size:"small"},{default:a(()=>[fl]),_:1})):k("",!0)]),_:1}),l(u,{prop:"sql",label:"SQL","min-width":"230","show-overflow-tooltip":""}),l(u,{prop:"oldValue",label:"\u539F\u503C","min-width":"150","show-overflow-tooltip":""}),l(u,{prop:"creator",label:"\u6267\u884C\u4EBA","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"createTime",label:"\u6267\u884C\u65F6\u95F4","show-overflow-tooltip":""},{default:a(t=>[b(M(e.$filters.dateFormat(t.row.createTime)),1)]),_:1}),l(u,{prop:"remark",label:"\u5907\u6CE8","min-width":"60","show-overflow-tooltip":""}),l(u,{label:"\u64CD\u4F5C","min-width":"50",fixed:"right"},{default:a(t=>[t.row.type==e.enums.DbSqlExecTypeEnum.UPDATE.value||t.row.type==e.enums.DbSqlExecTypeEnum.DELETE.value?(d(),f(w,{key:0,type:"primary",plain:"",size:"small",underline:!1,onClick:E=>e.onShowRollbackSql(t.row)},{default:a(()=>[gl]),_:2},1032,["onClick"])):k("",!0)]),_:1})]),_:1},8,["data"]),l($,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:a(()=>[l(V,{style:{"text-align":"right"},onCurrentChange:e.handleSqlExecPageChange,total:e.sqlExecLogDialog.total,layout:"prev, pager, next, total, jumper","current-page":e.sqlExecLogDialog.query.pageNum,"onUpdate:current-page":o[19]||(o[19]=t=>e.sqlExecLogDialog.query.pageNum=t),"page-size":e.sqlExecLogDialog.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1},8,["title","before-close","modelValue"]),l(D,{width:"55%",title:"\u8FD8\u539FSQL",modelValue:e.rollbackSqlDialog.visible,"onUpdate:modelValue":o[22]||(o[22]=t=>e.rollbackSqlDialog.visible=t)},{default:a(()=>[l(m,{type:"textarea",autosize:{minRows:15,maxRows:30},modelValue:e.rollbackSqlDialog.sql,"onUpdate:modelValue":o[21]||(o[21]=t=>e.rollbackSqlDialog.sql=t),size:"small"},null,8,["modelValue"])]),_:1},8,["modelValue"]),l(D,{width:"40%",title:`${e.chooseTableName} \u5B57\u6BB5\u4FE1\u606F`,modelValue:e.columnDialog.visible,"onUpdate:modelValue":o[23]||(o[23]=t=>e.columnDialog.visible=t)},{default:a(()=>[l(i,{border:"",stripe:"",data:e.columnDialog.columns,size:"small"},{default:a(()=>[l(u,{prop:"columnName",label:"\u540D\u79F0","show-overflow-tooltip":""}),l(u,{width:"120",prop:"columnType",label:"\u7C7B\u578B","show-overflow-tooltip":""}),l(u,{width:"80",prop:"nullable",label:"\u662F\u5426\u53EF\u4E3A\u7A7A","show-overflow-tooltip":""}),l(u,{prop:"columnComment",label:"\u5907\u6CE8","show-overflow-tooltip":""})]),_:1},8,["data"])]),_:1},8,["title","modelValue"]),l(D,{width:"40%",title:`${e.chooseTableName} \u7D22\u5F15\u4FE1\u606F`,modelValue:e.indexDialog.visible,"onUpdate:modelValue":o[24]||(o[24]=t=>e.indexDialog.visible=t)},{default:a(()=>[l(i,{border:"",stripe:"",data:e.indexDialog.indexs,size:"small"},{default:a(()=>[l(u,{prop:"indexName",label:"\u7D22\u5F15\u540D","show-overflow-tooltip":""}),l(u,{prop:"columnName",label:"\u5217\u540D","show-overflow-tooltip":""}),l(u,{prop:"seqInIndex",label:"\u5217\u5E8F\u5217\u53F7","show-overflow-tooltip":""}),l(u,{prop:"indexType",label:"\u7C7B\u578B"}),l(u,{prop:"indexComment",label:"\u5907\u6CE8","min-width":"230","show-overflow-tooltip":""})]),_:1},8,["data"])]),_:1},8,["title","modelValue"]),l(D,{width:"55%",title:`${e.chooseTableName} Create-DDL`,modelValue:e.ddlDialog.visible,"onUpdate:modelValue":o[26]||(o[26]=t=>e.ddlDialog.visible=t)},{default:a(()=>[l(m,{disabled:"",type:"textarea",autosize:{minRows:15,maxRows:30},modelValue:e.ddlDialog.ddl,"onUpdate:modelValue":o[25]||(o[25]=t=>e.ddlDialog.ddl=t),size:"small"},null,8,["modelValue"])]),_:1},8,["title","modelValue"]),l(y,{onValChange:e.valChange,projects:e.projects,title:e.dbEditDialog.title,visible:e.dbEditDialog.visible,"onUpdate:visible":o[27]||(o[27]=t=>e.dbEditDialog.visible=t),db:e.dbEditDialog.data,"onUpdate:db":o[28]||(o[28]=t=>e.dbEditDialog.data=t)},null,8,["onValChange","projects","title","visible","db"]),l(n,{dbId:e.dbId,visible:e.tableCreateDialog.visible,"onUpdate:visible":o[29]||(o[29]=t=>e.tableCreateDialog.visible=t)},null,8,["dbId","visible"])])}var kl=ee(Oe,[["render",cl]]);export{kl as default}; diff --git a/server/static/static/assets/DbList.1665826199593.js b/server/static/static/assets/DbList.1665826199593.js new file mode 100644 index 00000000..1f5182be --- /dev/null +++ b/server/static/static/assets/DbList.1665826199593.js @@ -0,0 +1,7 @@ +var de=Object.defineProperty,pe=Object.defineProperties;var me=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var ae=(e,a,v)=>a in e?de(e,a,{enumerable:!0,configurable:!0,writable:!0,value:v}):e[a]=v,M=(e,a)=>{for(var v in a||(a={}))be.call(a,v)&&ae(e,v,a[v]);if(le)for(var v of le(a))fe.call(a,v)&&ae(e,v,a[v]);return e},G=(e,a)=>pe(e,me(a));import{A as X,q as ue,r as Z,v as ne,t as x,_ as ee,E as K,b as p,d,e as I,g as l,w as o,h as Y,B as b,F as N,j as A,k as f,K as ge,y as k,i as _,D as Q,H as ce,o as Ee,c as De,C as J,x as H,G as oe,J as ye,I as he}from"./index.1665826199593.js";import{f as we}from"./format.1665826199593.js";import{d as $,S as se}from"./SqlExecBox.1665826199593.js";import{p as re}from"./api.16658261995934.js";import{m as ve}from"./api.16658261995933.js";import{a as Ce,i as Fe}from"./assert.1665826199593.js";import{R as te}from"./rsa.1665826199593.js";import{E as Ve}from"./Enum.1665826199593.js";import"./Api.1665826199593.js";import"./codemirror.1665826199593.js";const Be=X({name:"DbEdit",props:{visible:{type:Boolean},projects:{type:Array},db:{type:[Boolean,Object]},title:{type:String}},setup(e,{emit:a}){const v=ue(null),i=Z({dialogVisible:!1,projects:[],envs:[],allDatabases:[],databaseList:[],sshTunnelMachineList:[],form:{id:null,name:null,port:3306,username:null,password:null,params:null,database:"",project:null,projectId:null,envId:null,env:null,enableSshTunnel:null,sshTunnelMachineId:null},pwd:"",btnLoading:!1,rules:{projectId:[{required:!0,message:"\u8BF7\u9009\u62E9\u9879\u76EE",trigger:["change","blur"]}],envId:[{required:!0,message:"\u8BF7\u9009\u62E9\u73AF\u5883",trigger:["change","blur"]}],name:[{required:!0,message:"\u8BF7\u8F93\u5165\u522B\u540D",trigger:["change","blur"]}],type:[{required:!0,message:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93\u7C7B\u578B",trigger:["change","blur"]}],host:[{required:!0,message:"\u8BF7\u8F93\u5165\u4E3B\u673Aip\u548Cport",trigger:["change","blur"]}],username:[{required:!0,message:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",trigger:["change","blur"]}],database:[{required:!0,message:"\u8BF7\u6DFB\u52A0\u6570\u636E\u5E93",trigger:["change","blur"]}]}});ne(e,r=>{i.dialogVisible=r.visible,i.dialogVisible&&(i.projects=r.projects,r.db?(g(r.db.projectId),i.form=M({},r.db),i.databaseList=r.db.database.split(" ")):(i.envs=[],i.form={port:3306,enableSshTunnel:-1},i.databaseList=[]),L())});const S=()=>{i.form.database=i.databaseList.length==0?"":i.databaseList.join(" ")},L=async()=>{if(i.form.enableSshTunnel==1&&i.sshTunnelMachineList.length==0){const r=await ve.list.request({pageNum:1,pageSize:100});i.sshTunnelMachineList=r.list}},g=async r=>{i.envs=await re.projectEnvs.request({projectId:r})},F=r=>{for(let V of i.projects)V.id==r&&(i.form.project=V.name);i.form.envId=null,i.form.env=null,i.envs=[],g(r)},y=r=>{for(let V of i.envs)V.id==r&&(i.form.env=V.name)},C=async()=>{const r=M({},i.form);r.password=await te(r.password),i.allDatabases=await $.getAllDatabase.request(r),K.success("\u83B7\u53D6\u6210\u529F, \u8BF7\u9009\u62E9\u9700\u8981\u7BA1\u7406\u64CD\u4F5C\u7684\u6570\u636E\u5E93")},u=async()=>{i.pwd=await $.getDbPwd.request({id:i.form.id})},w=async()=>{i.form.id||Ce(i.form.password,"\u65B0\u589E\u64CD\u4F5C\uFF0C\u5BC6\u7801\u4E0D\u53EF\u4E3A\u7A7A"),v.value.validate(async r=>{if(r){const V=M({},i.form);V.password=await te(V.password),$.saveDb.request(V).then(()=>{K.success("\u4FDD\u5B58\u6210\u529F"),a("val-change",i.form),i.btnLoading=!0,setTimeout(()=>{i.btnLoading=!1},1e3),q()})}else return K.error("\u8BF7\u6B63\u786E\u586B\u5199\u4FE1\u606F"),!1})},B=()=>{i.databaseList=[],i.allDatabases=[]},q=()=>{a("update:visible",!1),a("cancel"),setTimeout(()=>{B()},500)};return G(M({},x(i)),{dbForm:v,getAllDatabase:C,getDbPwd:u,changeDatabase:S,getSshTunnelMachines:L,changeProject:F,changeEnv:y,btnOk:w,cancel:q})}}),qe={class:"dialog-footer"};function ke(e,a,v,i,S,L){const g=p("el-option"),F=p("el-select"),y=p("el-form-item"),C=p("el-input"),u=p("el-col"),w=p("el-link"),B=p("el-popover"),q=p("el-divider"),r=p("el-checkbox"),V=p("el-form"),T=p("el-button"),z=p("el-dialog");return d(),I("div",null,[l(z,{title:e.title,modelValue:e.dialogVisible,"onUpdate:modelValue":a[14]||(a[14]=s=>e.dialogVisible=s),"before-close":e.cancel,"close-on-click-modal":!1,"destroy-on-close":!0,width:"38%"},{footer:o(()=>[Y("div",qe,[l(T,{onClick:a[13]||(a[13]=s=>e.cancel())},{default:o(()=>[b("\u53D6 \u6D88")]),_:1}),l(T,{type:"primary",loading:e.btnLoading,onClick:e.btnOk},{default:o(()=>[b("\u786E \u5B9A")]),_:1},8,["loading","onClick"])])]),default:o(()=>[l(V,{model:e.form,ref:"dbForm",rules:e.rules,"label-width":"95px"},{default:o(()=>[l(y,{prop:"projectId",label:"\u9879\u76EE:",required:""},{default:o(()=>[l(F,{style:{width:"100%"},modelValue:e.form.projectId,"onUpdate:modelValue":a[0]||(a[0]=s=>e.form.projectId=s),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",onChange:e.changeProject,filterable:""},{default:o(()=>[(d(!0),I(N,null,A(e.projects,s=>(d(),f(g,{key:s.id,label:`${s.name} [${s.remark}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),l(y,{prop:"envId",label:"\u73AF\u5883:",required:""},{default:o(()=>[l(F,{onChange:e.changeEnv,style:{width:"100%"},modelValue:e.form.envId,"onUpdate:modelValue":a[1]||(a[1]=s=>e.form.envId=s),placeholder:"\u8BF7\u9009\u62E9\u73AF\u5883"},{default:o(()=>[(d(!0),I(N,null,A(e.envs,s=>(d(),f(g,{key:s.id,label:`${s.name} [${s.remark}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"])]),_:1}),l(y,{prop:"name",label:"\u522B\u540D:",required:""},{default:o(()=>[l(C,{modelValue:e.form.name,"onUpdate:modelValue":a[2]||(a[2]=s=>e.form.name=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u522B\u540D","auto-complete":"off"},null,8,["modelValue"])]),_:1}),l(y,{prop:"type",label:"\u7C7B\u578B:",required:""},{default:o(()=>[l(F,{style:{width:"100%"},modelValue:e.form.type,"onUpdate:modelValue":a[3]||(a[3]=s=>e.form.type=s),placeholder:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93\u7C7B\u578B"},{default:o(()=>[l(g,{key:"item.id",label:"mysql",value:"mysql"}),l(g,{key:"item.id",label:"postgres",value:"postgres"})]),_:1},8,["modelValue"])]),_:1}),l(y,{prop:"host",label:"host:",required:""},{default:o(()=>[l(u,{span:18},{default:o(()=>[l(C,{disabled:e.form.id,modelValue:e.form.host,"onUpdate:modelValue":a[4]||(a[4]=s=>e.form.host=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u4E3B\u673Aip","auto-complete":"off"},null,8,["disabled","modelValue"])]),_:1}),l(u,{style:{"text-align":"center"},span:1},{default:o(()=>[b(":")]),_:1}),l(u,{span:5},{default:o(()=>[l(C,{type:"number",modelValue:e.form.port,"onUpdate:modelValue":a[5]||(a[5]=s=>e.form.port=s),modelModifiers:{number:!0},placeholder:"\u8BF7\u8F93\u5165\u7AEF\u53E3"},null,8,["modelValue"])]),_:1})]),_:1}),l(y,{prop:"username",label:"\u7528\u6237\u540D:",required:""},{default:o(()=>[l(C,{modelValue:e.form.username,"onUpdate:modelValue":a[6]||(a[6]=s=>e.form.username=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D"},null,8,["modelValue"])]),_:1}),l(y,{prop:"password",label:"\u5BC6\u7801:"},{default:o(()=>[l(C,{type:"password","show-password":"",modelValue:e.form.password,"onUpdate:modelValue":a[8]||(a[8]=s=>e.form.password=s),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801\uFF0C\u4FEE\u6539\u64CD\u4F5C\u53EF\u4E0D\u586B",autocomplete:"new-password"},ge({_:2},[e.form.id&&e.form.id!=0?{name:"suffix",fn:o(()=>[l(B,{onHide:a[7]||(a[7]=s=>e.pwd=""),placement:"right",title:"\u539F\u5BC6\u7801",width:200,trigger:"click",content:e.pwd},{reference:o(()=>[l(w,{onClick:e.getDbPwd,underline:!1,type:"primary",class:"mr5"},{default:o(()=>[b("\u539F\u5BC6\u7801")]),_:1},8,["onClick"])]),_:1},8,["content"])]),key:"0"}:void 0]),1032,["modelValue"])]),_:1}),l(y,{prop:"params",label:"\u8FDE\u63A5\u53C2\u6570:"},{default:o(()=>[l(C,{modelValue:e.form.params,"onUpdate:modelValue":a[9]||(a[9]=s=>e.form.params=s),placeholder:"\u5176\u4ED6\u8FDE\u63A5\u53C2\u6570\uFF0C\u5F62\u5982: key1=value1&key2=value2"},null,8,["modelValue"])]),_:1}),l(y,{prop:"database",label:"\u6570\u636E\u5E93\u540D:",required:""},{default:o(()=>[l(u,{span:19},{default:o(()=>[l(F,{onChange:e.changeDatabase,modelValue:e.databaseList,"onUpdate:modelValue":a[10]||(a[10]=s=>e.databaseList=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","allow-create":"",placeholder:"\u8BF7\u786E\u4FDD\u6570\u636E\u5E93\u5B9E\u4F8B\u4FE1\u606F\u586B\u5199\u5B8C\u6574\u540E\u83B7\u53D6\u5E93\u540D",style:{width:"100%"}},{default:o(()=>[(d(!0),I(N,null,A(e.allDatabases,s=>(d(),f(g,{key:s,label:s,value:s},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"])]),_:1}),l(u,{style:{"text-align":"center"},span:1},{default:o(()=>[l(q,{direction:"vertical","border-style":"dashed"})]),_:1}),l(u,{span:4},{default:o(()=>[l(w,{onClick:e.getAllDatabase,underline:!1,type:"success"},{default:o(()=>[b("\u83B7\u53D6\u5E93\u540D")]),_:1},8,["onClick"])]),_:1})]),_:1}),l(y,{prop:"enableSshTunnel",label:"SSH\u96A7\u9053:"},{default:o(()=>[l(u,{span:3},{default:o(()=>[l(r,{onChange:e.getSshTunnelMachines,modelValue:e.form.enableSshTunnel,"onUpdate:modelValue":a[11]||(a[11]=s=>e.form.enableSshTunnel=s),"true-label":1,"false-label":-1},null,8,["onChange","modelValue"])]),_:1}),e.form.enableSshTunnel==1?(d(),f(u,{key:0,span:2},{default:o(()=>[b(" \u673A\u5668: ")]),_:1})):k("",!0),e.form.enableSshTunnel==1?(d(),f(u,{key:1,span:19},{default:o(()=>[l(F,{style:{width:"100%"},modelValue:e.form.sshTunnelMachineId,"onUpdate:modelValue":a[12]||(a[12]=s=>e.form.sshTunnelMachineId=s),placeholder:"\u8BF7\u9009\u62E9SSH\u96A7\u9053\u673A\u5668"},{default:o(()=>[(d(!0),I(N,null,A(e.sshTunnelMachineList,s=>(d(),f(g,{key:s.id,label:`${s.ip}:${s.port} [${s.name}]`,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):k("",!0)]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title","modelValue","before-close"])])}var Ie=ee(Be,[["render",ke]]);const Se=["bigint","binary","blob","char","datetime","decimal","double","enum","float","int","json","longblob","longtext","mediumblob","mediumtext","set","smallint","text","time","timestamp","tinyint","varbinary","varchar"],Te=["armscii8","ascii","big5","binary","cp1250","cp1251","cp1256","cp1257","cp850","cp852","cp866","cp932","dec8","eucjpms","euckr","gb18030","gb2312","gbk","geostd8","greek","hebrew","hp8","keybcs2","koi8r","koi8u","latin1","latin2","latin5","latin7","macce","macroman","sjis","swe7","tis620","ucs2","ujis","utf16","utf16le","utf32","utf8","utf8mb4"],$e=X({name:"createTable",props:{visible:{type:Boolean},title:{type:String},data:{type:Object},dbId:{type:Number},db:{type:String}},setup(e,{emit:a}){const v=ue(),{proxy:i}=ce(),S=Z({dialogVisible:!1,btnloading:!1,activeName:"1",typeList:Se,characterSetNameList:Te,tableData:{fields:{colNames:[{prop:"name",label:"\u5B57\u6BB5\u540D\u79F0"},{prop:"type",label:"\u5B57\u6BB5\u7C7B\u578B"},{prop:"length",label:"\u957F\u5EA6"},{prop:"value",label:"\u9ED8\u8BA4\u503C"},{prop:"notNull",label:"\u975E\u7A7A"},{prop:"pri",label:"\u4E3B\u952E"},{prop:"auto_increment",label:"\u81EA\u589E"},{prop:"remark",label:"\u5907\u6CE8"},{prop:"action",label:"\u64CD\u4F5C"}],res:[{name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""}]},characterSet:"utf8mb4",tableName:"",tableComment:""}});ne(e,async u=>{S.dialogVisible=u.visible});const L=()=>{a("update:visible",!1),C()},g=()=>{S.tableData.fields.res.push({name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""})},F=u=>{S.tableData.fields.res.splice(u,1)},y=async()=>{let u=S.tableData,w="",B=[];u.fields.res.forEach(r=>{B.push(`${r.name} ${r.type}${+r.length>0?`(${r.length})`:""} ${r.notNull?"NOT NULL":""} ${r.auto_increment?"AUTO_INCREMENT":""} ${r.value?"DEFAULT "+r.value:r.notNull?"":"DEFAULT NULL"} ${r.remark?`COMMENT '${r.remark}'`:""} +`),r.pri&&(w+=`${r.name},`)});let q=` + CREATE TABLE ${u.tableName} ( + ${B.join(",")} + ${w?`, PRIMARY KEY (${w.slice(0,-1)})`:""} + ) ENGINE=InnoDB DEFAULT CHARSET=${u.characterSet} COLLATE=utf8mb4_bin COMMENT='${u.tableComment}';`;se({sql:q,dbId:e.dbId,db:e.db,runSuccessCallback:()=>{K.success("\u521B\u5EFA\u6210\u529F"),i.$parent.tableInfo({id:e.dbId}),L()}})},C=()=>{v.value.resetFields(),S.tableData.fields.res=[{name:"",type:"",value:"",length:"",notNull:!1,pri:!1,auto_increment:!1,remark:""}]};return G(M({},x(S)),{formRef:v,cancel:L,reset:C,addRow:g,deleteRow:F,submit:y})}});function Le(e,a,v,i,S,L){const g=p("el-input"),F=p("el-form-item"),y=p("el-col"),C=p("el-option"),u=p("el-select"),w=p("el-row"),B=p("el-checkbox"),q=p("el-button"),r=p("el-table-column"),V=p("el-table"),T=p("el-tab-pane"),z=p("el-tabs"),s=p("el-form"),P=p("el-dialog");return d(),I("div",null,[l(P,{title:"\u521B\u5EFA\u8868",modelValue:e.dialogVisible,"onUpdate:modelValue":a[6]||(a[6]=m=>e.dialogVisible=m),"before-close":e.cancel,width:"90%"},{footer:o(()=>[l(q,{loading:e.btnloading,onClick:a[5]||(a[5]=m=>e.submit()),type:"primary"},{default:o(()=>[b("\u4FDD\u5B58")]),_:1},8,["loading"])]),default:o(()=>[l(s,{"label-position":"left",ref:"formRef",model:e.tableData,"label-width":"80px"},{default:o(()=>[l(w,null,{default:o(()=>[l(y,{span:12},{default:o(()=>[l(F,{prop:"tableName",label:"\u8868\u540D"},{default:o(()=>[l(g,{style:{width:"80%"},modelValue:e.tableData.tableName,"onUpdate:modelValue":a[0]||(a[0]=m=>e.tableData.tableName=m),size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),l(y,{span:12},{default:o(()=>[l(F,{prop:"tableComment",label:"\u5907\u6CE8"},{default:o(()=>[l(g,{style:{width:"80%"},modelValue:e.tableData.tableComment,"onUpdate:modelValue":a[1]||(a[1]=m=>e.tableData.tableComment=m),size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),l(y,{style:{"margin-top":"20px"},span:12},{default:o(()=>[l(F,{prop:"characterSet",label:"\u5B57\u7B26\u96C6"},{default:o(()=>[l(u,{filterable:"",style:{width:"80%"},modelValue:e.tableData.characterSet,"onUpdate:modelValue":a[2]||(a[2]=m=>e.tableData.characterSet=m),size:"small"},{default:o(()=>[(d(!0),I(N,null,A(e.characterSetNameList,m=>(d(),f(C,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(z,{modelValue:e.activeName,"onUpdate:modelValue":a[4]||(a[4]=m=>e.activeName=m)},{default:o(()=>[l(T,{label:"\u5B57\u6BB5",name:"1"},{default:o(()=>[l(V,{data:e.tableData.fields.res},{default:o(()=>[(d(!0),I(N,null,A(e.tableData.fields.colNames,m=>(d(),f(r,{prop:m.prop,label:m.label,key:m.prop},{default:o(D=>[m.prop==="name"?(d(),f(g,{key:0,size:"small",modelValue:D.row.name,"onUpdate:modelValue":h=>D.row.name=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="type"?(d(),f(u,{key:1,filterable:"",size:"small",modelValue:D.row.type,"onUpdate:modelValue":h=>D.row.type=h},{default:o(()=>[(d(!0),I(N,null,A(e.typeList,h=>(d(),f(C,{key:h,value:h},{default:o(()=>[b(_(h),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="value"?(d(),f(g,{key:2,size:"small",modelValue:D.row.value,"onUpdate:modelValue":h=>D.row.value=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="length"?(d(),f(g,{key:3,size:"small",modelValue:D.row.length,"onUpdate:modelValue":h=>D.row.length=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="notNull"?(d(),f(B,{key:4,size:"small",modelValue:D.row.notNull,"onUpdate:modelValue":h=>D.row.notNull=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="pri"?(d(),f(B,{key:5,size:"small",modelValue:D.row.pri,"onUpdate:modelValue":h=>D.row.pri=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="auto_increment"?(d(),f(B,{key:6,size:"small",modelValue:D.row.auto_increment,"onUpdate:modelValue":h=>D.row.auto_increment=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="remark"?(d(),f(g,{key:7,size:"small",modelValue:D.row.remark,"onUpdate:modelValue":h=>D.row.remark=h},null,8,["modelValue","onUpdate:modelValue"])):k("",!0),m.prop==="action"?(d(),f(q,{key:8,type:"text",size:"small",onClick:Q(h=>e.deleteRow(D.$index),["prevent"])},{default:o(()=>[b("\u5220\u9664")]),_:2},1032,["onClick"])):k("",!0)]),_:2},1032,["prop","label"]))),128))]),_:1},8,["data"]),l(w,{style:{"margin-top":"20px"}},{default:o(()=>[l(q,{onClick:a[3]||(a[3]=m=>e.addRow()),type:"text",icon:"plus"})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model"])]),_:1},8,["modelValue","before-close"])])}var Ne=ee($e,[["render",Le]]),W={DbSqlExecTypeEnum:new Ve().add("UPDATE","UPDATE",1).add("DELETE","DELETE",2).add("INSERT","INSERT",3)};const Ae=X({name:"DbList",components:{DbEdit:Ie,CreateTable:Ne},setup(){const e=Z({dbId:0,db:"",permissions:{saveDb:"db:save",delDb:"db:del"},projects:[],chooseId:null,chooseData:null,query:{pageNum:1,pageSize:10},datas:[],total:0,showDumpInfo:!1,dumpInfo:{id:0,db:"",type:3,tables:[]},sqlExecLogDialog:{title:"",visible:!1,data:[],total:0,dbs:[],query:{dbId:0,db:"",table:"",type:null,pageNum:1,pageSize:12}},rollbackSqlDialog:{visible:!1,sql:""},chooseTableName:"",tableInfoDialog:{loading:!1,visible:!1,infos:[],tableNameSearch:"",tableCommentSearch:""},columnDialog:{visible:!1,columns:[]},indexDialog:{visible:!1,indexs:[]},ddlDialog:{visible:!1,ddl:""},dbEditDialog:{visible:!1,data:null,title:"\u65B0\u589E\u6570\u636E\u5E93"},tableCreateDialog:{visible:!1}});Ee(async()=>{i()});const a=De(()=>{const n=e.tableInfoDialog.infos,c=e.tableInfoDialog.tableNameSearch,U=e.tableInfoDialog.tableCommentSearch;return!c&&!U?n:n.filter(j=>{let t=!0,E=!0;return c&&(t=j.tableName.toLowerCase().includes(c.toLowerCase())),U&&(E=j.tableComment.includes(U)),t&&E})}),v=n=>{!n||(e.chooseId=n.id,e.chooseData=n)},i=async()=>{let n=await $.dbs.request(e.query);n.list.forEach(c=>{c.popoverSelectDbVisible=!1,c.dbs=c.database.split(" ")}),e.datas=n.list,e.total=n.total},S=n=>{e.query.pageNum=n,i()},L=async()=>{e.projects=await re.accountProjects.request(null)},g=async(n=!1)=>{await L(),n?(e.dbEditDialog.data=null,e.dbEditDialog.title="\u65B0\u589E\u6570\u636E\u5E93\u8D44\u6E90"):(e.dbEditDialog.data=e.chooseData,e.dbEditDialog.title="\u4FEE\u6539\u6570\u636E\u5E93\u8D44\u6E90"),e.dbEditDialog.visible=!0},F=()=>{e.chooseData=null,e.chooseId=null,i()},y=async n=>{try{await oe.confirm("\u786E\u5B9A\u5220\u9664\u8BE5\u5E93?","\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),await $.deleteDb.request({id:n}),K.success("\u5220\u9664\u6210\u529F"),e.chooseData=null,e.chooseId=null,i()}catch{}},C=async n=>{e.sqlExecLogDialog.title=`${n.name}[${n.host}:${n.port}]`,e.sqlExecLogDialog.query.dbId=n.id,e.sqlExecLogDialog.dbs=n.database.split(" "),w(),e.sqlExecLogDialog.visible=!0},u=()=>{e.sqlExecLogDialog.visible=!1,e.sqlExecLogDialog.data=[],e.sqlExecLogDialog.dbs=[],e.sqlExecLogDialog.total=0,e.sqlExecLogDialog.query.dbId=0,e.sqlExecLogDialog.query.pageNum=1,e.sqlExecLogDialog.query.table="",e.sqlExecLogDialog.query.db="",e.sqlExecLogDialog.query.type=null},w=async()=>{const n=await $.getSqlExecs.request(e.sqlExecLogDialog.query);e.sqlExecLogDialog.data=n.list,e.sqlExecLogDialog.total=n.total},B=n=>{e.sqlExecLogDialog.query.pageNum=n,w()},q=n=>{e.dumpInfo.tables=n.map(c=>c.tableName)},r=n=>{Fe(e.dumpInfo.tables.length>0,"\u8BF7\u9009\u62E9\u8981\u5BFC\u51FA\u7684\u8868");const c=document.createElement("a");c.setAttribute("href",`${ye.baseApiUrl}/dbs/${e.dbId}/dump?db=${n}&type=${e.dumpInfo.type}&tables=${e.dumpInfo.tables.join(",")}&token=${he("token")}`),c.click(),e.showDumpInfo=!1},V=async n=>{const c=await $.columnMetadata.request({id:n.dbId,db:n.db,tableName:n.table}),U=c[0].columnName,j=JSON.parse(n.oldValue),t=[];if(n.type==W.DbSqlExecTypeEnum.UPDATE.value)for(let E of j){const R=[];for(let O in E)O!=U&&R.push(`${O} = ${T(E[O])}`);t.push(`UPDATE ${n.table} SET ${R.join(", ")} WHERE ${U} = ${T(E[U])};`)}else if(n.type==W.DbSqlExecTypeEnum.DELETE.value){const E=c.map(R=>R.columnName);for(let R of j){const O=[];for(let ie of E)O.push(T(R[ie]));t.push(`INSERT INTO ${n.table} (${E.join(", ")}) VALUES (${O.join(", ")});`)}}e.rollbackSqlDialog.sql=t.join(` +`),e.rollbackSqlDialog.visible=!0},T=n=>typeof n=="number"?n:`'${n}'`,z=async(n,c)=>{e.tableInfoDialog.loading=!0,e.tableInfoDialog.visible=!0;try{e.tableInfoDialog.infos=await $.tableInfos.request({id:n.id,db:c}),e.dbId=n.id,e.db=c}catch{e.tableInfoDialog.visible=!1}finally{e.tableInfoDialog.loading=!1}},s=()=>{e.showDumpInfo=!1,e.tableInfoDialog.visible=!1,e.tableInfoDialog.infos=[]},P=async n=>{e.chooseTableName=n.tableName,e.columnDialog.columns=await $.columnMetadata.request({id:e.chooseId,db:e.db,tableName:n.tableName}),e.columnDialog.visible=!0},m=async n=>{e.chooseTableName=n.tableName,e.indexDialog.indexs=await $.tableIndex.request({id:e.chooseId,db:e.db,tableName:n.tableName}),e.indexDialog.visible=!0},D=async n=>{e.chooseTableName=n.tableName;const c=await $.tableDdl.request({id:e.chooseId,db:e.db,tableName:n.tableName});e.ddlDialog.ddl=c[0]["Create Table"],e.ddlDialog.visible=!0},h=async n=>{try{const c=n.tableName;await oe.confirm(`\u786E\u5B9A\u5220\u9664'${c}'\u8868?`,"\u63D0\u793A",{confirmButtonText:"\u786E\u5B9A",cancelButtonText:"\u53D6\u6D88",type:"warning"}),se({sql:`DROP TABLE ${c}`,dbId:e.chooseId,db:e.db,runSuccessCallback:async()=>{e.tableInfoDialog.infos=await $.tableInfos.request({id:e.chooseId,db:e.db})}})}catch{}};return G(M({},x(e)),{getProjects:L,filterTableInfos:a,enums:W,search:i,choose:v,handlePageChange:S,editDb:g,valChange:F,deleteDb:y,onShowSqlExec:C,handleDumpTableSelectionChange:q,dump:r,onBeforeCloseSqlExecDialog:u,handleSqlExecPageChange:B,searchSqlExecLog:w,onShowRollbackSql:V,showTableInfo:z,closeTableInfo:s,showColumns:P,showTableIndex:m,showCreateDdl:D,dropTable:h,formatByteSize:we})}}),Ue={class:"db-list"},ze={style:{float:"right"}},je=Y("i",null,null,-1),Re={style:{"text-align":"right"}},Me={class:"toolbar"};function _e(e,a,v,i,S,L){const g=p("el-button"),F=p("el-option"),y=p("el-select"),C=p("el-radio"),u=p("el-table-column"),w=p("el-link"),B=p("el-tag"),q=p("el-popover"),r=p("el-table"),V=p("el-pagination"),T=p("el-row"),z=p("el-card"),s=p("el-radio-group"),P=p("el-form-item"),m=p("el-input"),D=p("el-dialog"),h=p("db-edit"),n=p("create-table"),c=J("auth"),U=J("waves"),j=J("loading");return d(),I("div",Ue,[l(z,null,{default:o(()=>[H((d(),f(g,{type:"primary",icon:"plus",onClick:a[0]||(a[0]=t=>e.editDb(!0))},{default:o(()=>[b("\u6DFB\u52A0")]),_:1})),[[c,e.permissions.saveDb]]),H((d(),f(g,{disabled:e.chooseId==null,onClick:a[1]||(a[1]=t=>e.editDb(!1)),type:"primary",icon:"edit"},{default:o(()=>[b("\u7F16\u8F91")]),_:1},8,["disabled"])),[[c,e.permissions.saveDb]]),H((d(),f(g,{disabled:e.chooseId==null,onClick:a[2]||(a[2]=t=>e.deleteDb(e.chooseId)),type:"danger",icon:"delete"},{default:o(()=>[b("\u5220\u9664")]),_:1},8,["disabled"])),[[c,e.permissions.delDb]]),Y("div",ze,[l(y,{onFocus:e.getProjects,modelValue:e.query.projectId,"onUpdate:modelValue":a[3]||(a[3]=t=>e.query.projectId=t),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",filterable:"",clearable:""},{default:o(()=>[(d(!0),I(N,null,A(e.projects,t=>(d(),f(F,{key:t.id,label:`${t.name} [${t.remark}]`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["onFocus","modelValue"]),H((d(),f(g,{type:"primary",icon:"search",onClick:a[4]||(a[4]=t=>e.search()),class:"ml5"},{default:o(()=>[b("\u67E5\u8BE2")]),_:1})),[[U]])]),l(r,{data:e.datas,ref:"table",onCurrentChange:e.choose,"show-overflow-tooltip":"",stripe:""},{default:o(()=>[l(u,{label:"\u9009\u62E9",width:"60px"},{default:o(t=>[l(C,{modelValue:e.chooseId,"onUpdate:modelValue":a[5]||(a[5]=E=>e.chooseId=E),label:t.row.id},{default:o(()=>[je]),_:2},1032,["modelValue","label"])]),_:1}),l(u,{prop:"project",label:"\u9879\u76EE","min-width":"100","show-overflow-tooltip":""}),l(u,{prop:"env",label:"\u73AF\u5883","min-width":"100"}),l(u,{prop:"name",label:"\u540D\u79F0","min-width":"160","show-overflow-tooltip":""}),l(u,{"min-width":"170",label:"host:port","show-overflow-tooltip":""},{default:o(t=>[b(_(`${t.row.host}:${t.row.port}`),1)]),_:1}),l(u,{prop:"type",label:"\u7C7B\u578B","min-width":"90"}),l(u,{prop:"database",label:"\u6570\u636E\u5E93","min-width":"80"},{default:o(t=>[l(q,{width:250,placement:"right",trigger:"click"},{reference:o(()=>[l(w,{type:"primary",underline:!1,plain:""},{default:o(()=>[b("\u67E5\u770B")]),_:1})]),default:o(()=>[(d(!0),I(N,null,A(t.row.dbs,E=>(d(),f(B,{onClick:R=>e.showTableInfo(t.row,E),effect:"plain",type:"success",size:"small",key:E,style:{cursor:"pointer","margin-left":"3px","margin-bottom":"3px"}},{default:o(()=>[b(_(E),1)]),_:2},1032,["onClick"]))),128))]),_:2},1024)]),_:1}),l(u,{prop:"username",label:"\u7528\u6237\u540D","min-width":"100"}),l(u,{"min-width":"115",prop:"creator",label:"\u521B\u5EFA\u8D26\u53F7"}),l(u,{"min-width":"160",prop:"createTime",label:"\u521B\u5EFA\u65F6\u95F4","show-overflow-tooltip":""},{default:o(t=>[b(_(e.$filters.dateFormat(t.row.createTime)),1)]),_:1}),l(u,{label:"\u64CD\u4F5C","min-width":"120",fixed:"right"},{default:o(t=>[l(w,{type:"primary",plain:"",size:"small",underline:!1,onClick:E=>e.onShowSqlExec(t.row)},{default:o(()=>[b("SQL\u6267\u884C\u8BB0\u5F55")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data","onCurrentChange"]),l(T,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:o(()=>[l(V,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":a[6]||(a[6]=t=>e.query.pageNum=t),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1}),l(D,{width:"75%",title:`${e.db} \u8868\u4FE1\u606F`,"before-close":e.closeTableInfo,modelValue:e.tableInfoDialog.visible,"onUpdate:modelValue":a[15]||(a[15]=t=>e.tableInfoDialog.visible=t)},{default:o(()=>[l(T,{class:"mb10"},{default:o(()=>[l(q,{visible:e.showDumpInfo,"onUpdate:visible":a[11]||(a[11]=t=>e.showDumpInfo=t),width:470,placement:"right"},{reference:o(()=>[l(g,{class:"ml5",type:"success",size:"small",onClick:a[7]||(a[7]=t=>e.showDumpInfo=!e.showDumpInfo)},{default:o(()=>[b("\u5BFC\u51FA")]),_:1})]),default:o(()=>[l(P,{label:"\u5BFC\u51FA\u5185\u5BB9: "},{default:o(()=>[l(s,{modelValue:e.dumpInfo.type,"onUpdate:modelValue":a[8]||(a[8]=t=>e.dumpInfo.type=t)},{default:o(()=>[l(C,{label:1,size:"small"},{default:o(()=>[b("\u7ED3\u6784")]),_:1}),l(C,{label:2,size:"small"},{default:o(()=>[b("\u6570\u636E")]),_:1}),l(C,{label:3,size:"small"},{default:o(()=>[b("\u7ED3\u6784\uFF0B\u6570\u636E")]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(P,{label:"\u5BFC\u51FA\u8868: "},{default:o(()=>[l(r,{onSelectionChange:e.handleDumpTableSelectionChange,"max-height":"300",size:"small",data:e.tableInfoDialog.infos},{default:o(()=>[l(u,{type:"selection",width:"45"}),l(u,{property:"tableName",label:"\u8868\u540D","min-width":"150","show-overflow-tooltip":""}),l(u,{property:"tableComment",label:"\u5907\u6CE8","min-width":"150","show-overflow-tooltip":""})]),_:1},8,["onSelectionChange","data"])]),_:1}),Y("div",Re,[l(g,{onClick:a[9]||(a[9]=t=>e.showDumpInfo=!1),size:"small"},{default:o(()=>[b("\u53D6\u6D88")]),_:1}),l(g,{onClick:a[10]||(a[10]=t=>e.dump(e.db)),type:"success",size:"small"},{default:o(()=>[b("\u786E\u5B9A")]),_:1})])]),_:1},8,["visible"]),l(g,{type:"primary",size:"small",onClick:a[12]||(a[12]=t=>e.tableCreateDialog.visible=!0)},{default:o(()=>[b("\u521B\u5EFA\u8868")]),_:1})]),_:1}),H((d(),f(r,{border:"",stripe:"",data:e.filterTableInfos,size:"small"},{default:o(()=>[l(u,{property:"tableName",label:"\u8868\u540D","min-width":"150","show-overflow-tooltip":""},{header:o(()=>[l(m,{modelValue:e.tableInfoDialog.tableNameSearch,"onUpdate:modelValue":a[13]||(a[13]=t=>e.tableInfoDialog.tableNameSearch=t),size:"small",placeholder:"\u8868\u540D: \u8F93\u5165\u53EF\u8FC7\u6EE4",clearable:""},null,8,["modelValue"])]),_:1}),l(u,{property:"tableComment",label:"\u5907\u6CE8","min-width":"150","show-overflow-tooltip":""},{header:o(()=>[l(m,{modelValue:e.tableInfoDialog.tableCommentSearch,"onUpdate:modelValue":a[14]||(a[14]=t=>e.tableInfoDialog.tableCommentSearch=t),size:"small",placeholder:"\u5907\u6CE8: \u8F93\u5165\u53EF\u8FC7\u6EE4",clearable:""},null,8,["modelValue"])]),_:1}),l(u,{prop:"tableRows",label:"Rows","min-width":"70",sortable:"","sort-method":(t,E)=>parseInt(t.tableRows)-parseInt(E.tableRows)},null,8,["sort-method"]),l(u,{property:"dataLength",label:"\u6570\u636E\u5927\u5C0F",sortable:"","sort-method":(t,E)=>parseInt(t.dataLength)-parseInt(E.dataLength)},{default:o(t=>[b(_(e.formatByteSize(t.row.dataLength)),1)]),_:1},8,["sort-method"]),l(u,{property:"indexLength",label:"\u7D22\u5F15\u5927\u5C0F",sortable:"","sort-method":(t,E)=>parseInt(t.indexLength)-parseInt(E.indexLength)},{default:o(t=>[b(_(e.formatByteSize(t.row.indexLength)),1)]),_:1},8,["sort-method"]),l(u,{property:"createTime",label:"\u521B\u5EFA\u65F6\u95F4","min-width":"150"}),l(u,{label:"\u66F4\u591A\u4FE1\u606F","min-width":"100"},{default:o(t=>[l(w,{onClick:Q(E=>e.showColumns(t.row),["prevent"]),type:"primary"},{default:o(()=>[b("\u5B57\u6BB5")]),_:2},1032,["onClick"]),l(w,{class:"ml5",onClick:Q(E=>e.showTableIndex(t.row),["prevent"]),type:"success"},{default:o(()=>[b("\u7D22\u5F15")]),_:2},1032,["onClick"]),l(w,{class:"ml5",onClick:Q(E=>e.showCreateDdl(t.row),["prevent"]),type:"info"},{default:o(()=>[b("SQL")]),_:2},1032,["onClick"])]),_:1}),l(u,{label:"\u64CD\u4F5C","min-width":"80"},{default:o(t=>[l(w,{onClick:Q(E=>e.dropTable(t.row),["prevent"]),type:"danger"},{default:o(()=>[b("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[j,e.tableInfoDialog.loading]])]),_:1},8,["title","before-close","modelValue"]),l(D,{width:"90%",title:`${e.sqlExecLogDialog.title} - SQL\u6267\u884C\u8BB0\u5F55`,"before-close":e.onBeforeCloseSqlExecDialog,modelValue:e.sqlExecLogDialog.visible,"onUpdate:modelValue":a[20]||(a[20]=t=>e.sqlExecLogDialog.visible=t)},{default:o(()=>[Y("div",Me,[l(y,{modelValue:e.sqlExecLogDialog.query.db,"onUpdate:modelValue":a[16]||(a[16]=t=>e.sqlExecLogDialog.query.db=t),placeholder:"\u8BF7\u9009\u62E9\u6570\u636E\u5E93",filterable:"",clearable:""},{default:o(()=>[(d(!0),I(N,null,A(e.sqlExecLogDialog.dbs,t=>(d(),f(F,{key:t,label:`${t}`,value:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(m,{modelValue:e.sqlExecLogDialog.query.table,"onUpdate:modelValue":a[17]||(a[17]=t=>e.sqlExecLogDialog.query.table=t),placeholder:"\u8BF7\u8F93\u5165\u8868\u540D",clearable:"",class:"ml5",style:{width:"180px"}},null,8,["modelValue"]),l(y,{modelValue:e.sqlExecLogDialog.query.type,"onUpdate:modelValue":a[18]||(a[18]=t=>e.sqlExecLogDialog.query.type=t),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u7C7B\u578B",clearable:"",class:"ml5"},{default:o(()=>[(d(!0),I(N,null,A(e.enums.DbSqlExecTypeEnum,t=>(d(),f(F,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(g,{class:"ml5",onClick:e.searchSqlExecLog,type:"success",icon:"search"},null,8,["onClick"])]),l(r,{border:"",stripe:"",data:e.sqlExecLogDialog.data,size:"small"},{default:o(()=>[l(u,{prop:"db",label:"\u6570\u636E\u5E93","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"table",label:"\u8868","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"type",label:"\u7C7B\u578B",width:"85","show-overflow-tooltip":""},{default:o(t=>[t.row.type==e.enums.DbSqlExecTypeEnum.UPDATE.value?(d(),f(B,{key:0,color:"#E4F5EB",size:"small"},{default:o(()=>[b("UPDATE")]),_:1})):k("",!0),t.row.type==e.enums.DbSqlExecTypeEnum.DELETE.value?(d(),f(B,{key:1,color:"#F9E2AE",size:"small"},{default:o(()=>[b("DELETE")]),_:1})):k("",!0),t.row.type==e.enums.DbSqlExecTypeEnum.INSERT.value?(d(),f(B,{key:2,color:"#A8DEE0",size:"small"},{default:o(()=>[b("INSERT")]),_:1})):k("",!0)]),_:1}),l(u,{prop:"sql",label:"SQL","min-width":"230","show-overflow-tooltip":""}),l(u,{prop:"oldValue",label:"\u539F\u503C","min-width":"150","show-overflow-tooltip":""}),l(u,{prop:"creator",label:"\u6267\u884C\u4EBA","min-width":"60","show-overflow-tooltip":""}),l(u,{prop:"createTime",label:"\u6267\u884C\u65F6\u95F4","show-overflow-tooltip":""},{default:o(t=>[b(_(e.$filters.dateFormat(t.row.createTime)),1)]),_:1}),l(u,{prop:"remark",label:"\u5907\u6CE8","min-width":"60","show-overflow-tooltip":""}),l(u,{label:"\u64CD\u4F5C","min-width":"50",fixed:"right"},{default:o(t=>[t.row.type==e.enums.DbSqlExecTypeEnum.UPDATE.value||t.row.type==e.enums.DbSqlExecTypeEnum.DELETE.value?(d(),f(w,{key:0,type:"primary",plain:"",size:"small",underline:!1,onClick:E=>e.onShowRollbackSql(t.row)},{default:o(()=>[b("\u8FD8\u539FSQL")]),_:2},1032,["onClick"])):k("",!0)]),_:1})]),_:1},8,["data"]),l(T,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:o(()=>[l(V,{style:{"text-align":"right"},onCurrentChange:e.handleSqlExecPageChange,total:e.sqlExecLogDialog.total,layout:"prev, pager, next, total, jumper","current-page":e.sqlExecLogDialog.query.pageNum,"onUpdate:current-page":a[19]||(a[19]=t=>e.sqlExecLogDialog.query.pageNum=t),"page-size":e.sqlExecLogDialog.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1},8,["title","before-close","modelValue"]),l(D,{width:"55%",title:"\u8FD8\u539FSQL",modelValue:e.rollbackSqlDialog.visible,"onUpdate:modelValue":a[22]||(a[22]=t=>e.rollbackSqlDialog.visible=t)},{default:o(()=>[l(m,{type:"textarea",autosize:{minRows:15,maxRows:30},modelValue:e.rollbackSqlDialog.sql,"onUpdate:modelValue":a[21]||(a[21]=t=>e.rollbackSqlDialog.sql=t),size:"small"},null,8,["modelValue"])]),_:1},8,["modelValue"]),l(D,{width:"40%",title:`${e.chooseTableName} \u5B57\u6BB5\u4FE1\u606F`,modelValue:e.columnDialog.visible,"onUpdate:modelValue":a[23]||(a[23]=t=>e.columnDialog.visible=t)},{default:o(()=>[l(r,{border:"",stripe:"",data:e.columnDialog.columns,size:"small"},{default:o(()=>[l(u,{prop:"columnName",label:"\u540D\u79F0","show-overflow-tooltip":""}),l(u,{width:"120",prop:"columnType",label:"\u7C7B\u578B","show-overflow-tooltip":""}),l(u,{width:"80",prop:"nullable",label:"\u662F\u5426\u53EF\u4E3A\u7A7A","show-overflow-tooltip":""}),l(u,{prop:"columnComment",label:"\u5907\u6CE8","show-overflow-tooltip":""})]),_:1},8,["data"])]),_:1},8,["title","modelValue"]),l(D,{width:"40%",title:`${e.chooseTableName} \u7D22\u5F15\u4FE1\u606F`,modelValue:e.indexDialog.visible,"onUpdate:modelValue":a[24]||(a[24]=t=>e.indexDialog.visible=t)},{default:o(()=>[l(r,{border:"",stripe:"",data:e.indexDialog.indexs,size:"small"},{default:o(()=>[l(u,{prop:"indexName",label:"\u7D22\u5F15\u540D","show-overflow-tooltip":""}),l(u,{prop:"columnName",label:"\u5217\u540D","show-overflow-tooltip":""}),l(u,{prop:"seqInIndex",label:"\u5217\u5E8F\u5217\u53F7","show-overflow-tooltip":""}),l(u,{prop:"indexType",label:"\u7C7B\u578B"}),l(u,{prop:"indexComment",label:"\u5907\u6CE8","min-width":"230","show-overflow-tooltip":""})]),_:1},8,["data"])]),_:1},8,["title","modelValue"]),l(D,{width:"55%",title:`${e.chooseTableName} Create-DDL`,modelValue:e.ddlDialog.visible,"onUpdate:modelValue":a[26]||(a[26]=t=>e.ddlDialog.visible=t)},{default:o(()=>[l(m,{disabled:"",type:"textarea",autosize:{minRows:15,maxRows:30},modelValue:e.ddlDialog.ddl,"onUpdate:modelValue":a[25]||(a[25]=t=>e.ddlDialog.ddl=t),size:"small"},null,8,["modelValue"])]),_:1},8,["title","modelValue"]),l(h,{onValChange:e.valChange,projects:e.projects,title:e.dbEditDialog.title,visible:e.dbEditDialog.visible,"onUpdate:visible":a[27]||(a[27]=t=>e.dbEditDialog.visible=t),db:e.dbEditDialog.data,"onUpdate:db":a[28]||(a[28]=t=>e.dbEditDialog.data=t)},null,8,["onValChange","projects","title","visible","db"]),l(n,{dbId:e.dbId,db:e.db,visible:e.tableCreateDialog.visible,"onUpdate:visible":a[29]||(a[29]=t=>e.tableCreateDialog.visible=t)},null,8,["dbId","db","visible"])])}var xe=ee(Ae,[["render",_e]]);export{xe as default}; diff --git a/server/static/static/assets/Enum.1665447590227.js b/server/static/static/assets/Enum.1665826199593.js similarity index 100% rename from server/static/static/assets/Enum.1665447590227.js rename to server/static/static/assets/Enum.1665826199593.js diff --git a/server/static/static/assets/JetBrainsMono-Regular.1665447590227.woff b/server/static/static/assets/JetBrainsMono-Regular.1665826199593.woff similarity index 100% rename from server/static/static/assets/JetBrainsMono-Regular.1665447590227.woff rename to server/static/static/assets/JetBrainsMono-Regular.1665826199593.woff diff --git a/server/static/static/assets/MachineRec.1665447590227.css b/server/static/static/assets/MachineRec.1665826199593.css similarity index 100% rename from server/static/static/assets/MachineRec.1665447590227.css rename to server/static/static/assets/MachineRec.1665826199593.css diff --git a/server/static/static/assets/MachineRec.1665447590227.js b/server/static/static/assets/MachineRec.1665826199593.js similarity index 99% rename from server/static/static/assets/MachineRec.1665447590227.js rename to server/static/static/assets/MachineRec.1665826199593.js index 7ab4b6f2..f42cc7ce 100644 --- a/server/static/static/assets/MachineRec.1665447590227.js +++ b/server/static/static/assets/MachineRec.1665826199593.js @@ -1,5 +1,5 @@ -var rg=Object.defineProperty,Ig=Object.defineProperties;var og=Object.getOwnPropertyDescriptors;var he=Object.getOwnPropertySymbols;var Bg=Object.prototype.hasOwnProperty,tg=Object.prototype.propertyIsEnumerable;var we=(A,e,g)=>e in A?rg(A,e,{enumerable:!0,configurable:!0,writable:!0,value:g}):A[e]=g,De=(A,e)=>{for(var g in e||(e={}))Bg.call(e,g)&&we(A,g,e[g]);if(he)for(var g of he(e))tg.call(e,g)&&we(A,g,e[g]);return A},ke=(A,e)=>Ig(A,og(e));import{m as GA}from"./api.16654475902273.js";import{_ as Qg,A as Cg,S as Eg,q as cg,r as sg,o as lg,t as fg,b as _A,e as pA,h as $A,i as ug,g as fA,w as Ae,B as mg,d as rA,F as ee,j as ge,k as ie}from"./index.1665447590227.js";import"./Api.1665447590227.js";function be(A,e,g,i,a,n,r){try{var I=A[n](r),o=I.value}catch(B){g(B);return}I.done?e(o):Promise.resolve(o).then(i,a)}function J(A){return function(){var e=this,g=arguments;return new Promise(function(i,a){var n=A.apply(e,g);function r(o){be(n,i,a,r,I,"next",o)}function I(o){be(n,i,a,r,I,"throw",o)}r(void 0)})}}function WA(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function ye(A,e){for(var g=0;g=0;--m){var d=this.tryEntries[m],S=d.completion;if(d.tryLoc==="root")return f("end");if(d.tryLoc<=this.prev){var w=n.call(d,"catchLoc"),c=n.call(d,"finallyLoc");if(w&&c){if(this.prev=0;--f){var m=this.tryEntries[f];if(m.tryLoc<=this.prev&&n.call(m,"finallyLoc")&&this.prev=0;--s){var f=this.tryEntries[s];if(f.finallyLoc===Q)return this.complete(f.completion,f.afterLoc),eA(f),u}},catch:function(Q){for(var s=this.tryEntries.length-1;s>=0;--s){var f=this.tryEntries[s];if(f.tryLoc===Q){var m=f.completion;if(m.type==="throw"){var d=m.arg;eA(f)}return d}}throw new Error("illegal catch attempt")},delegateYield:function(Q,s,f){return this.delegate={iterator:V(Q),resultName:s,nextLoc:f},this.method==="next"&&(this.arg=void 0),u}},i}A.exports=g,A.exports.__esModule=!0,A.exports.default=A.exports})(Ue);var vA=Ue.exports(),p=vA;try{regeneratorRuntime=vA}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=vA:Function("r","regeneratorRuntime = r")(vA)}function DA(A){return DA=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},DA(A)}function dg(A){if(Array.isArray(A))return A}function hg(A,e){var g=A==null?null:typeof Symbol!="undefined"&&A[Symbol.iterator]||A["@@iterator"];if(g!=null){var i=[],a=!0,n=!1,r,I;try{for(g=g.call(A);!(a=(r=g.next()).done)&&(i.push(r.value),!(e&&i.length===e));a=!0);}catch(o){n=!0,I=o}finally{try{!a&&g.return!=null&&g.return()}finally{if(n)throw I}}return i}}function Ge(A,e){(e==null||e>A.length)&&(e=A.length);for(var g=0,i=new Array(e);ge in A?rg(A,e,{enumerable:!0,configurable:!0,writable:!0,value:g}):A[e]=g,De=(A,e)=>{for(var g in e||(e={}))Bg.call(e,g)&&we(A,g,e[g]);if(he)for(var g of he(e))tg.call(e,g)&&we(A,g,e[g]);return A},ke=(A,e)=>Ig(A,og(e));import{m as GA}from"./api.16658261995933.js";import{_ as Qg,A as Cg,S as Eg,q as cg,r as sg,o as lg,t as fg,b as _A,e as pA,h as $A,i as ug,g as fA,w as Ae,B as mg,d as rA,F as ee,j as ge,k as ie}from"./index.1665826199593.js";import"./Api.1665826199593.js";function be(A,e,g,i,a,n,r){try{var I=A[n](r),o=I.value}catch(B){g(B);return}I.done?e(o):Promise.resolve(o).then(i,a)}function J(A){return function(){var e=this,g=arguments;return new Promise(function(i,a){var n=A.apply(e,g);function r(o){be(n,i,a,r,I,"next",o)}function I(o){be(n,i,a,r,I,"throw",o)}r(void 0)})}}function WA(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function ye(A,e){for(var g=0;g=0;--m){var d=this.tryEntries[m],S=d.completion;if(d.tryLoc==="root")return f("end");if(d.tryLoc<=this.prev){var w=n.call(d,"catchLoc"),c=n.call(d,"finallyLoc");if(w&&c){if(this.prev=0;--f){var m=this.tryEntries[f];if(m.tryLoc<=this.prev&&n.call(m,"finallyLoc")&&this.prev=0;--s){var f=this.tryEntries[s];if(f.finallyLoc===Q)return this.complete(f.completion,f.afterLoc),eA(f),u}},catch:function(Q){for(var s=this.tryEntries.length-1;s>=0;--s){var f=this.tryEntries[s];if(f.tryLoc===Q){var m=f.completion;if(m.type==="throw"){var d=m.arg;eA(f)}return d}}throw new Error("illegal catch attempt")},delegateYield:function(Q,s,f){return this.delegate={iterator:V(Q),resultName:s,nextLoc:f},this.method==="next"&&(this.arg=void 0),u}},i}A.exports=g,A.exports.__esModule=!0,A.exports.default=A.exports})(Ue);var vA=Ue.exports(),p=vA;try{regeneratorRuntime=vA}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=vA:Function("r","regeneratorRuntime = r")(vA)}function DA(A){return DA=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},DA(A)}function dg(A){if(Array.isArray(A))return A}function hg(A,e){var g=A==null?null:typeof Symbol!="undefined"&&A[Symbol.iterator]||A["@@iterator"];if(g!=null){var i=[],a=!0,n=!1,r,I;try{for(g=g.call(A);!(a=(r=g.next()).done)&&(i.push(r.value),!(e&&i.length===e));a=!0);}catch(o){n=!0,I=o}finally{try{!a&&g.return!=null&&g.return()}finally{if(n)throw I}}return i}}function Ge(A,e){(e==null||e>A.length)&&(e=A.length);for(var g=0,i=new Array(e);gA===e,EA=Symbol("solid-proxy"),UA={equals:kg};let qe=We;const cA={},IA=1,KA=2,xe={owned:null,cleanups:null,context:null,owner:null};var K=null;let bA=null,L=null,mA=null,H=null,W=null,Ee=0;function CA(A,e){const g=L,i=K,a=A.length===0?xe:{owned:null,cleanups:null,context:null,owner:e||i};K=a,L=null;try{return fe(()=>A(()=>ue(a)),!0)}finally{L=g,K=i}}function ce(A,e){e=e?Object.assign({},UA,e):UA;const g={value:A,observers:null,observerSlots:null,pending:cA,comparator:e.equals||void 0},i=a=>(typeof a=="function"&&(a=a(g.pending!==cA?g.pending:g.value)),se(g,a));return[ze.bind(g),i]}function $(A,e,g){const i=le(A,e,!1,IA);yA(i)}function je(A,e,g){qe=pg;const i=le(A,e,!1,IA);i.user=!0,W?W.push(i):queueMicrotask(()=>yA(i))}function Z(A,e,g){g=g?Object.assign({},UA,g):UA;const i=le(A,e,!0,0);return i.pending=cA,i.observers=null,i.observerSlots=null,i.comparator=g.equals||void 0,yA(i),ze.bind(i)}function Te(A){if(mA)return A();let e;const g=mA=[];try{e=A()}finally{mA=null}return fe(()=>{for(let i=0;ioA(A))}function VA(A){return K===null||(K.cleanups===null?K.cleanups=[A]:K.cleanups.push(A)),A}function Oe(){return L}function bg(A){const e=Z(A);return Z(()=>ae(e()))}function ze(){const A=bA;if(this.sources&&(this.state||A)){const e=H;H=null,this.state===IA||A?yA(this):HA(this),H=e}if(L){const e=this.observers?this.observers.length:0;L.sources?(L.sources.push(this),L.sourceSlots.push(e)):(L.sources=[this],L.sourceSlots=[e]),this.observers?(this.observers.push(L),this.observerSlots.push(L.sources.length-1)):(this.observers=[L],this.observerSlots=[L.sources.length-1])}return this.value}function se(A,e,g){if(mA)return A.pending===cA&&mA.push(A),A.pending=e,e;if(A.comparator&&A.comparator(A.value,e))return e;let i=!1;return A.value=e,A.observers&&A.observers.length&&fe(()=>{for(let a=0;a1e6)throw H=[],new Error},!1),e}function yA(A){if(!A.fn)return;ue(A);const e=K,g=L,i=Ee;L=K=A,yg(A,A.value,i),L=g,K=e}function yg(A,e,g){let i;try{i=A.fn(e)}catch(a){Ve(a)}(!A.updatedAt||A.updatedAt<=g)&&(A.observers&&A.observers.length?se(A,i):A.value=i,A.updatedAt=g)}function le(A,e,g,i=IA,a){const n={fn:A,state:i,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:K,context:null,pure:g};return K===null||K!==xe&&(K.owned?K.owned.push(n):K.owned=[n]),n}function dA(A){const e=bA;if(A.state===0||e)return;if(A.state===KA||e)return HA(A);if(A.suspense&&oA(A.suspense.inFallback))return A.suspense.effects.push(A);const g=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;i--)if(A=g[i],A.state===IA||e)yA(A);else if(A.state===KA||e){const a=H;H=null,HA(A,g[0]),H=a}}function fe(A,e){if(H)return A();let g=!1;e||(H=[]),W?g=!0:W=[],Ee++;try{return A()}catch(i){Ve(i)}finally{Gg(g)}}function Gg(A){H&&(We(H),H=null),!A&&(W.length?Te(()=>{qe(W),W=null}):W=null)}function We(A){for(let e=0;e1?[]:null;return VA(()=>qA(n)),()=>{let o=A()||[],B,t;return oA(()=>{let l=o.length,u,D,k,y,b,N,R,M,q;if(l===0)r!==0&&(qA(n),n=[],i=[],a=[],r=0,I&&(I=[])),g.fallback&&(i=[ne],a[0]=CA(x=>(n[0]=x,g.fallback())),r=1);else if(r===0){for(a=new Array(l),t=0;t=N&&M>=N&&i[R]===o[M];R--,M--)k[M]=a[R],y[M]=n[R],I&&(b[M]=I[R]);for(u=new Map,D=new Array(M+1),t=M;t>=N;t--)q=o[t],B=u.get(q),D[t]=B===void 0?-1:B,u.set(q,t);for(B=N;B<=R;B++)q=i[B],t=u.get(q),t!==void 0&&t!==-1?(k[t]=a[B],y[t]=n[B],I&&(b[t]=I[B]),t=D[t],u.set(q,t)):n[B]();for(t=N;tqA(n)),()=>{const B=A()||[];return oA(()=>{if(B.length===0)return I!==0&&(qA(n),n=[],i=[],a=[],I=0,r=[]),g.fallback&&(i=[ne],a[0]=CA(E=>(n[0]=E,g.fallback())),I=1),a;for(i[0]===ne&&(n[0](),n=[],i=[],a=[],I=0),o=0;oB[o]):o>=i.length&&(a[o]=CA(t));for(;oA(e))}function Rg(A){const e="fallback"in A&&{fallback:()=>A.fallback};return Z(Ng(()=>A.each,A.children,e||void 0))}function Mg(A){const e="fallback"in A&&{fallback:()=>A.fallback};return Z(Fg(()=>A.each,A.children,e||void 0))}function pe(A){let e=!1;const g=Z(()=>A.when,void 0,{equals:(i,a)=>e?i===a:!i==!a});return Z(()=>{const i=g();if(i){const a=A.children;return(e=typeof a=="function"&&a.length>0)?oA(()=>a(i)):a}return A.fallback})}function Pe(A){let e=!1;const g=bg(()=>A.children),i=Z(()=>{let a=g();Array.isArray(a)||(a=[a]);for(let n=0;na[0]===n[0]&&(e?a[1]===n[1]:!a[1]==!n[1])&&a[2]===n[2]});return Z(()=>{const[a,n,r]=i();if(a<0)return A.fallback;const I=r.children;return(e=typeof I=="function"&&I.length>0)?oA(()=>I(n)):I})}function xA(A){return A}function Sg(A,e){return Z(A,void 0,e?void 0:{equals:e})}function vg(A,e,g){let i=g.length,a=e.length,n=i,r=0,I=0,o=e[a-1].nextSibling,B=null;for(;rt-I){const D=e[r];for(;I{i=a,e===document?A():T(e,A(),e.firstChild?null:void 0,g)}),()=>{i(),e.textContent=""}}function O(A,e,g){const i=document.createElement("template");i.innerHTML=A;let a=i.content.firstChild;return g&&(a=a.firstChild),a}function me(A,e=window.document){const g=e[Ne]||(e[Ne]=new Set);for(let i=0,a=A.length;ig[0](g[1],a)):A.addEventListener(e,g)}function PA(A,e,g={}){const i=A.style;if(e==null||typeof e=="string")return i.cssText=e;typeof g=="string"&&(g={});let a,n;for(n in g)e[n]==null&&i.removeProperty(n),delete g[n];for(n in e)a=e[n],a!==g[n]&&(i.setProperty(n,a),g[n]=a);return g}function T(A,e,g,i){if(g!==void 0&&!i&&(i=[]),typeof e!="function")return jA(A,e,i,g);$(a=>jA(A,e(),a,g),i)}function Jg(A){const e=`$$${A.type}`;let g=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==g&&Object.defineProperty(A,"target",{configurable:!0,value:g}),Object.defineProperty(A,"currentTarget",{configurable:!0,get(){return g||document}});g!==null;){const i=g[e];if(i&&!g.disabled){const a=g[`${e}Data`];if(a!==void 0?i(a,A):i(A),A.cancelBubble)return}g=g.host&&g.host!==g&&g.host instanceof Node?g.host:g.parentNode}}function jA(A,e,g,i,a){for(;typeof g=="function";)g=g();if(e===g)return g;const n=typeof e,r=i!==void 0;if(A=r&&g[0]&&g[0].parentNode||A,n==="string"||n==="number")if(n==="number"&&(e=e.toString()),r){let I=g[0];I&&I.nodeType===3?I.data=e:I=document.createTextNode(e),g=BA(A,g,i,I)}else g!==""&&typeof g=="string"?g=A.firstChild.data=e:g=A.textContent=e;else if(e==null||n==="boolean")g=BA(A,g,i);else{if(n==="function")return $(()=>{let I=e();for(;typeof I=="function";)I=I();g=jA(A,I,g,i)}),()=>g;if(Array.isArray(e)){const I=[];if(Ie(I,e,a))return $(()=>g=jA(A,I,g,i,!0)),()=>g;if(I.length===0){if(g=BA(A,g,i),r)return g}else Array.isArray(g)?g.length===0?Fe(A,I,i):vg(A,g,I):(g&&BA(A),Fe(A,I));g=I}else if(e instanceof Node){if(Array.isArray(g)){if(r)return g=BA(A,g,i,e);BA(A,g,null,e)}else g==null||g===""||!A.firstChild?A.appendChild(e):A.replaceChild(e,A.firstChild);g=e}}return g}function Ie(A,e,g){let i=!1;for(let a=0,n=e.length;a=0;r--){const I=e[r];if(a!==I){const o=I.parentNode===A;!n&&!r?o?A.replaceChild(a,I):A.insertBefore(a,g):o&&I.remove()}else n=!0}}else A.insertBefore(a,g);return[a]}var v,_=new Array(32).fill(void 0);_.push(void 0,null,!0,!1);function P(A){return _[A]}var hA=_.length;function Yg(A){A<36||(_[A]=hA,hA=A)}function wA(A){var e=P(A);return Yg(A),e}function aA(A){hA===_.length&&_.push(_.length+1);var e=hA;return hA=_[e],_[e]=A,e}var _e=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_e.decode();var NA=null;function LA(){return(NA===null||NA.buffer!==v.memory.buffer)&&(NA=new Uint8Array(v.memory.buffer)),NA}function JA(A,e){return _e.decode(LA().subarray(A,A+e))}function oe(A){var e=DA(A);if(e=="number"||e=="boolean"||A==null)return"".concat(A);if(e=="string")return'"'.concat(A,'"');if(e=="symbol"){var g=A.description;return g==null?"Symbol":"Symbol(".concat(g,")")}if(e=="function"){var i=A.name;return typeof i=="string"&&i.length>0?"Function(".concat(i,")"):"Function"}if(Array.isArray(A)){var a=A.length,n="[";a>0&&(n+=oe(A[0]));for(var r=1;r1)o=I[1];else return toString.call(A);if(o=="Object")try{return"Object("+JSON.stringify(A)+")"}catch{return"Object"}return A instanceof Error?"".concat(A.name,": ").concat(A.message,` `).concat(A.stack):o}var TA=0,YA=new TextEncoder("utf-8"),Ug=typeof YA.encodeInto=="function"?function(A,e){return YA.encodeInto(A,e)}:function(A,e){var g=YA.encode(A);return e.set(g),{read:A.length,written:g.length}};function $e(A,e,g){if(g===void 0){var i=YA.encode(A),a=e(i.length);return LA().subarray(a,a+i.length).set(i),TA=i.length,a}for(var n=A.length,r=e(n),I=LA(),o=0;o127)break;I[r+o]=B}if(o!==n){o!==0&&(A=A.slice(o)),r=g(r,n,n=o+A.length*3);var t=LA().subarray(r+o,r+n),E=Ug(A,t);o+=E.written}return TA=o,r}var FA=null;function QA(){return(FA===null||FA.buffer!==v.memory.buffer)&&(FA=new Int32Array(v.memory.buffer)),FA}function Kg(A,e){var g=v.create(A,e);return Ag.__wrap(g)}var RA=null;function Hg(){return(RA===null||RA.buffer!==v.memory.buffer)&&(RA=new Uint32Array(v.memory.buffer)),RA}function qg(A,e){return Hg().subarray(A/4,A/4+e)}var Be=new Uint32Array(2),xg=new BigUint64Array(Be.buffer),Ag=function(){function A(){WA(this,A)}return XA(A,[{key:"__destroy_into_raw",value:function(){var g=this.ptr;return this.ptr=0,g}},{key:"free",value:function(){var g=this.__destroy_into_raw();v.__wbg_vtwrapper_free(g)}},{key:"feed",value:function(g){try{var i=v.__wbindgen_add_to_stack_pointer(-16),a=$e(g,v.__wbindgen_malloc,v.__wbindgen_realloc),n=TA;v.vtwrapper_feed(i,this.ptr,a,n);var r=QA()[i/4+0],I=QA()[i/4+1],o=qg(r,I).slice();return v.__wbindgen_free(r,I*4),o}finally{v.__wbindgen_add_to_stack_pointer(16)}}},{key:"inspect",value:function(){try{var g=v.__wbindgen_add_to_stack_pointer(-16);v.vtwrapper_inspect(g,this.ptr);var i=QA()[g/4+0],a=QA()[g/4+1];return JA(i,a)}finally{v.__wbindgen_add_to_stack_pointer(16),v.__wbindgen_free(i,a)}}},{key:"get_line",value:function(g){var i=v.vtwrapper_get_line(this.ptr,g);return wA(i)}},{key:"get_cursor",value:function(){var g=v.vtwrapper_get_cursor(this.ptr);return wA(g)}}],[{key:"__wrap",value:function(g){var i=Object.create(A.prototype);return i.ptr=g,i}}]),A}();function jg(A,e){return te.apply(this,arguments)}function te(){return te=J(p.mark(function A(e,g){var i,a;return p.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(typeof Response=="function"&&e instanceof Response)){r.next=23;break}if(typeof WebAssembly.instantiateStreaming!="function"){r.next=15;break}return r.prev=2,r.next=5,WebAssembly.instantiateStreaming(e,g);case 5:return r.abrupt("return",r.sent);case 8:if(r.prev=8,r.t0=r.catch(2),e.headers.get("Content-Type")=="application/wasm"){r.next=14;break}console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r.t0),r.next=15;break;case 14:throw r.t0;case 15:return r.next=17,e.arrayBuffer();case 17:return i=r.sent,r.next=20,WebAssembly.instantiate(i,g);case 20:return r.abrupt("return",r.sent);case 23:return r.next=25,WebAssembly.instantiate(e,g);case 25:if(a=r.sent,!(a instanceof WebAssembly.Instance)){r.next=30;break}return r.abrupt("return",{instance:a,module:e});case 30:return r.abrupt("return",a);case 31:case"end":return r.stop()}},A,null,[[2,8]])})),te.apply(this,arguments)}function de(A){return Qe.apply(this,arguments)}function Qe(){return Qe=J(p.mark(function A(e){var g,i,a,n;return p.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return typeof e=="undefined"&&(e=new URL("index_bg.wasm","")),g={},g.wbg={},g.wbg.__wbindgen_object_drop_ref=function(o){wA(o)},g.wbg.__wbindgen_number_new=function(o){var B=o;return aA(B)},g.wbg.__wbg_BigInt_1b7cf17b993da2bd=function(o,B){Be[0]=o,Be[1]=B;var t=xg[0],E=BigInt(t);return aA(E)},g.wbg.__wbindgen_string_new=function(o,B){var t=JA(o,B);return aA(t)},g.wbg.__wbg_set_fbb49ad265f9dee8=function(o,B,t){P(o)[wA(B)]=wA(t)},g.wbg.__wbg_new_949bbc1147195c4e=function(){var o=new Array;return aA(o)},g.wbg.__wbg_new_ac32179a660db4bb=function(){var o=new Map;return aA(o)},g.wbg.__wbg_new_0b83d3df67ecb33e=function(){var o=new Object;return aA(o)},g.wbg.__wbindgen_is_string=function(o){var B=typeof P(o)=="string";return B},g.wbg.__wbg_push_284486ca27c6aa8b=function(o,B){var t=P(o).push(P(B));return t},g.wbg.__wbg_new_342a24ca698edd87=function(o,B){var t=new Error(JA(o,B));return aA(t)},g.wbg.__wbg_set_a46091b120cc63e9=function(o,B,t){var E=P(o).set(P(B),P(t));return aA(E)},g.wbg.__wbindgen_debug_string=function(o,B){var t=oe(P(B)),E=$e(t,v.__wbindgen_malloc,v.__wbindgen_realloc),l=TA;QA()[o/4+1]=l,QA()[o/4+0]=E},g.wbg.__wbindgen_throw=function(o,B){throw new Error(JA(o,B))},(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e)),I.t0=jg,I.next=21,e;case 21:return I.t1=I.sent,I.t2=g,I.next=25,(0,I.t0)(I.t1,I.t2);case 25:return i=I.sent,a=i.instance,n=i.module,v=a.exports,de.__wbindgen_wasm_module=n,I.abrupt("return",v);case 31:case"end":return I.stop()}},A)})),Qe.apply(this,arguments)}var Tg=Object.freeze({__proto__:null,create:Kg,VtWrapper:Ag,default:de});const Zg=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function MA(A){return Zg[A-43]}function Og(A){let e=A.endsWith("==")?2:A.endsWith("=")?1:0,g=A.length,i=new Uint8Array(3*(g/4)),a;for(let n=0,r=0;n>16,i[r+1]=a>>8&255,i[r+2]=a&255;return i.subarray(0,i.length-e)}const zg=Og("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NgIMIAIgATYCDCACIAA2AgggBUEIaiECDAILQbi8wABB/x82AgBBrLzAACAHNgIAQaS8wAAgCjYCAEGgvMAAIAg2AgBBjLnAAEGAucAANgIAQZS5wABBiLnAADYCAEGIucAAQYC5wAA2AgBBnLnAAEGQucAANgIAQZC5wABBiLnAADYCAEGkucAAQZi5wAA2AgBBmLnAAEGQucAANgIAQay5wABBoLnAADYCAEGgucAAQZi5wAA2AgBBtLnAAEGoucAANgIAQai5wABBoLnAADYCAEG8ucAAQbC5wAA2AgBBsLnAAEGoucAANgIAQcS5wABBuLnAADYCAEG4ucAAQbC5wAA2AgBBzLnAAEHAucAANgIAQcC5wABBuLnAADYCAEHIucAAQcC5wAA2AgBB1LnAAEHIucAANgIAQdC5wABByLnAADYCAEHcucAAQdC5wAA2AgBB2LnAAEHQucAANgIAQeS5wABB2LnAADYCAEHgucAAQdi5wAA2AgBB7LnAAEHgucAANgIAQei5wABB4LnAADYCAEH0ucAAQei5wAA2AgBB8LnAAEHoucAANgIAQfy5wABB8LnAADYCAEH4ucAAQfC5wAA2AgBBhLrAAEH4ucAANgIAQYC6wABB+LnAADYCAEGMusAAQYC6wAA2AgBBlLrAAEGIusAANgIAQYi6wABBgLrAADYCAEGcusAAQZC6wAA2AgBBkLrAAEGIusAANgIAQaS6wABBmLrAADYCAEGYusAAQZC6wAA2AgBBrLrAAEGgusAANgIAQaC6wABBmLrAADYCAEG0usAAQai6wAA2AgBBqLrAAEGgusAANgIAQby6wABBsLrAADYCAEGwusAAQai6wAA2AgBBxLrAAEG4usAANgIAQbi6wABBsLrAADYCAEHMusAAQcC6wAA2AgBBwLrAAEG4usAANgIAQdS6wABByLrAADYCAEHIusAAQcC6wAA2AgBB3LrAAEHQusAANgIAQdC6wABByLrAADYCAEHkusAAQdi6wAA2AgBB2LrAAEHQusAANgIAQey6wABB4LrAADYCAEHgusAAQdi6wAA2AgBB9LrAAEHousAANgIAQei6wABB4LrAADYCAEH8usAAQfC6wAA2AgBB8LrAAEHousAANgIAQYS7wABB+LrAADYCAEH4usAAQfC6wAA2AgBBgLvAAEH4usAANgIA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AgAgAUEIaiINIAgpAwA3AwAgAyADKQMANwMYQQAhAQNAIAEgBWoiCygCACEOIAsgA0EYaiABaiILKAIANgIAIAsgDjYCACABQQRqIgFBFEcNAAsgByAMKAIANgIAIAggDSkDADcDACADIAMpAxg3AwAgACAESwRAIAUgCWohBSACIARqIQQMAQsLIAQgAGsiBARAIAQgCiAEIApJGyEKDAEFIAYgAykDADcCACAGQRBqIANBEGoiBygCADYCACAGQQhqIANBCGoiCCkDADcCACAKQQJJDQJBASEFA0AgByAGIAVBFGxqIglBEGoiDCgCADYCACAIIAlBCGoiDSkCADcDACADIAkpAgA3AwAgAiAFaiEEA0AgA0EYaiIBQRBqIgsgBygCADYCACABQQhqIg4gCCkDADcDACADIAMpAwA3AxggBiAEQRRsaiEQQQAhAQNAIAEgEGoiDygCACERIA8gA0EYaiABaiIPKAIANgIAIA8gETYCACABQQRqIgFBFEcNAAsgByALKAIANgIAIAggDikDADcDACADIAMpAxg3AwAgACAESwRAIAIgBGohBAwBCyAEIABrIgQgBUcNAAsgCSADKQMANwIAIAwgBygCADYCACANIAgpAwA3AgAgCiAFQQFqIgVHDQALCwsLC4AFAQp/IwBBMGsiAyQAIANBJGogATYCACADQQM6ACggA0KAgICAgAQ3AwggAyAANgIgIANBADYCGCADQQA2AhACQAJAAkAgAigCCCIKRQRAIAJBFGooAgAiBEUNASACKAIAIQEgAigCECEAIARBAWtB/////wFxQQFqIgchBANAIAFBBGooAgAiBQRAIAMoAiAgASgCACAFIAMoAiQoAgwRAQANBAsgACgCACADQQhqIABBBGooAgARAAANAyAAQQhqIQAgAUEIaiEBIARBAWsiBA0ACwwBCyACQQxqKAIAIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIAIQEDQCABQQRqKAIAIgAEQCADKAIgIAEoAgAgACADKAIkKAIMEQEADQMLIAMgBCAKaiIFQRxqLQAAOgAoIAMgBUEEaikCAEIgiTcDCCAFQRhqKAIAIQYgAigCECEIQQAhCUEAIQACQAJAAkAgBUEUaigCAEEBaw4CAAIBCyAIIAZBA3RqIgwoAgRB5QBHDQEgDCgCACgCACEGC0EBIQALIAMgBjYCFCADIAA2AhAgBUEQaigCACEAAkACQAJAIAVBDGooAgBBAWsOAgACAQsgCCAAQQN0aiIGKAIEQeUARw0BIAYoAgAoAgAhAAtBASEJCyADIAA2AhwgAyAJNgIYIAggBSgCAEEDdGoiACgCACADQQhqIAAoAgQRAAANAiABQQhqIQEgCyAEQSBqIgRHDQALC0EAIQAgByACKAIESSIBRQ0BIAMoAiAgAigCACAHQQN0akEAIAEbIgEoAgAgASgCBCADKAIkKAIMEQEARQ0BC0EBIQALIANBMGokACAAC6EFAQR/IAAgAWohAgJAAkACQCAAKAIEQQFxDQAgACgCACEDAkAgAC0ABEEDcQRAIAEgA2ohASAAIANrIgBBkLzAACgCAEcNASACKAIEQQNxQQNHDQJBiLzAACABNgIAIAIgAigCBEF+cTYCBCAAIAFBAXI2AgQgACABaiABNgIADwsMAgsgA0GAAk8EQCAAECUMAQsgAEEMaigCACIEIABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQfi4wABB+LjAACgCAEF+IANBA3Z3cTYCAAsgAi0ABEECcUEBdgRAIAIgAigCBEF+cTYCBCAAIAFBAXI2AgQgACABaiABNgIADAILAkBBlLzAACgCACACRwRAIAJBkLzAACgCAEcNAUGQvMAAIAA2AgBBiLzAAEGIvMAAKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAA8LQZS8wAAgADYCAEGMvMAAQYy8wAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEGQvMAAKAIARw0BQYi8wABBADYCAEGQvMAAQQA2AgAPCyACKAIEQXhxIgMgAWohAQJAIANBgAJPBEAgAhAlDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0H4uMAAQfi4wAAoAgBBfiADQQN2d3E2AgALIAAgAUEBcjYCBCAAIAFqIAE2AgAgAEGQvMAAKAIARw0BQYi8wAAgATYCAAsPCyABQYACTwRAIAAgARAkDwsgAUEDdiICQQN0QYC5wABqIQECf0H4uMAAKAIAIgNBASACdCICcQRAIAEoAggMAQtB+LjAACACIANyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIC/0DAQh/IwBBIGsiBSQAIAFBFGooAgAhCSABKAIAIQYCQCABQQRqKAIAIgdBA3RFDQAgB0EBa0H/////AXEiAkEBaiIDQQdxIQQCfyACQQdJBEBBACEDIAYMAQsgBkE8aiECIANB+P///wNxIQhBACEDA0AgAigCACACQQhrKAIAIAJBEGsoAgAgAkEYaygCACACQSBrKAIAIAJBKGsoAgAgAkEwaygCACACQThrKAIAIANqampqampqaiEDIAJBQGshAiAIQQhrIggNAAsgAkE8awsgBEUNAEEEaiECA0AgAigCACADaiEDIAJBCGohAiAEQQFrIgQNAAsLAkACQAJAIAlFBEAgAyECDAELAkAgB0UNACAGKAIEDQAgA0EQSQ0CCyADIAMgA2oiAksNAQtBACEDAkAgAkEATgRAIAJFBEBBASEEDAQLIAJBARCdASIERQ0BIAIhAwwDCxBwAAsgAkEBQeS4wAAoAgAiAEHRACAAGxECAAALQQEhBEEAIQMLIABBADYCCCAAIAM2AgQgACAENgIAIAUgADYCBCAFQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgBSABKQIANwMIIAVBBGpB4JrAACAAEBcEQEHQm8AAQTMgBUEIakH4msAAQZycwAAQSwALIAVBIGokAAvtAwEGfyMAQTBrIgMkAAJAIAAtAKQBIgdFDQAgAC0ApgFFDQAgAEEAOgCmASAAQQA2AjggACgCPEEBaiICIAAoAhxHBEAgAEEAOgCmASAAIAI2AjwMAQsgAEEBEEULAkAgAUH/AGtBYUkNACAALQChAUUNACABQQJ0QZyGwABqKAIAIQELIAMgACkAkwE3AwggAyAAQZkBaikAADcBDkEBIQUCQAJAAkACQCAAKAIYIgIgACgCOCIEQQFqIgZLBEAgAC0AogENAQwCCyAAKAI8IQYgA0EiaiAAQZMBaiIEQQZqKQAANwEAIAMgATYCGCADIAQpAAA3AhwgACACQQFrIAYgA0EYahBGIAdFDQMMAgsCQCAAQShqKAIAIgUgACgCPCICSwRAIAAoAiAgAkEMbGoiBSgCCCICIARJDQEgBSgCACAEQRRsaiACIARrQQEQcwwCCyACIAVBvIvAABBSAAsgBCACELwBAAsgACgCPCECIANBImog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AgA2AgAgBCAEKQMgNwMIIAFBIGoiAxBeAkAgAUEkaigCACIGRQ0AIAatQgx+p0UNACADKAIAEBALIAMgBCkDCDcCACADQQhqIAUoAgA2AgAgAUEsaiIDEF4CQCABQTBqKAIAIgVFDQAgBa1CDH6nRQ0AIAMoAgAQEAsgAyAEKQMwNwIAIAFBADoAkQEgA0EIaiAEQThqKAIANgIAIARBCGogASgCGBA9IAFBQGshAwJAIAFBxABqKAIAIgVFDQAgBUECdEUNACADKAIAEBALIAMgBCkDCDcCACADQQhqIARBCGoiCUEIaiIDKAIANgIAIAFBAToAkgEgAUIANwI4IARBD2oiBUEAOwAAIAFBlwFqQQI6AAAgAUECOgCTASAEQQA2AAsgAUGYAWogBCkACDcAACABQaABaiADLQAAOgAAIAFBADsApQEgAUGAgIAINgChASABQQA2AkwgASABKAIcIgZBAWs2AlAgBUEAOwAAIARBADYACyABQeEAaiAEKQAINwAAIAFB6QBqIAMtAAA6AAAgAUHqAGpBgAI7AQAgAUHgAGpBAjoAACABQdwAakECOgAAIAFCADcCVCAFQQA7AAAgBEEANgALIAFB+QBqIAQpAAg3AAAgAUGBAWogAy0AADoAACABQYIBakGAAjsBACABQfgAakECOgAAIAFB9ABqQQI6AAAgAUIANwJsIAQgBhBaIANBADYCACAEIAQpAwA3AwggCSAGEEcgBEHIAGogAygCADYCACAEIAQpAwg3A0AgAUGEAWohAyABQYgBaigCAARAIAMoAgAQEAsgAyAEKQNANwIAIANBCGogBEHIAGooAgA2AgAMAgsgBSADQeCNwAAQUgALIANBKEcNACABQQA6AKEBCyAEQdAAaiQACyACIA5HDQALCyABKAKMASECIAEoAoQBIQEgC0EANgIIIAsgASACajYCBCALIAE2AgAjAEEwayIEJAAgCygCACEBIAsoAgQhAwJAAkADQCABIANGDQEgCyABQQFqIgI2AgAgCyALKAIIIgVBAWo2AgggAS0AACACIQFFDQALIARBCGohAUEQQQQQnQEiAkUEQEEQQQRB5LjAACgCACIAQdEAIAAbEQIAAAsgAUEENgIEIAEgAjYCACAEKAIMIQEgBCgCCCIDIAU2AgAgBEEQaiICQQhqIgZBATYCACAEIAE2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AEEEajYCKCAAIAA2AiAgAEEIakHsjMAAEHEACwsLtAQBBn8jAEEgayIGJAAgAQRAIAYgASADIAQgBSACKAIQEQgAIAZBGGogBkEIaigCACIBNgIAIAYgBikDADcDECABIAYoAhRJBEAjAEEQayIFJAAjAEEgayIDJAACQAJAIAEgBkEQaiIIKAIETQRAIANBCGohAgJAIAgoAgQiBARAIAgoAgAhByACQQhqQQBBBCAEIARB/////wNxRxs2AgAgAiAEQQJ0NgIEIAIgBzYCAAwBCyACQQA2AgALAkACQCADKAIIIgcEQCADQRBqKAIAIQQgAygCDCEKQQBBBCABQf////8DcSILIAFHGyECIAFBAnQiCUUEQCABIAtHIAoEQCAHEBALIAIhBEUNBQwDCyACIARGDQEgCSACEJ0BIgQEQCAEIAcgCRDBARogCkUNBSAHEBAMBQsMAgsgBUEANgIADAQLIAcgCiAEIAkQkQEiBA0CCyAFIAk2AgQgBUEBNgIAIAVBCGogAjYCAAwCCyADQRxqQQA2AgAgA0GwhsAANgIYIANCATcCDCADQaCHwAA2AgggA0EIakGoh8AAEHEACyAIIAE2AgQgCCAENgIAIAVBADYCAAsgA0EgaiQAAkACQCAFKAIABEAgBUEIaigCACIARQ0BIAUoAgQgAEHkuMAAKAIAIgBB0QAgABsRAgAACyAFQRBqJAAMAQsQcAALIAYoAhghAQsgBigCECECIAAgATYCBCAAIAI2AgAgBkEgaiQADwtBuIfAAEEwELkBAAt9AQF/IwBBEGsiBCQAIARBCGogASgCACACIAMQkgEgBCgCDCECAn8gBCgCCEUEQAJAIAEoAgxFDQAgAUEQaigCACIDQSRJDQAgAxAACyABQQE2AgwgAUEQaiACNgIAQQAMAQtBAQshASAAIAI2AgQgACABNgIAIARBEGokAAu+GwEXfyMAQSBrIgkkACAJQQhqIQQgAEEoaigCACICIAFNBEAgASACQcCNwAAQUgALIAAoAiAgAUEMbGohASMAQdAAayIAJAACQAJAIAEoAggiAkUEQCAEQQA2AgggBEIENwIADAELAkACQAJAQQRBBBCdASIDBEAgAyABKAIAIgYoAgA2AgAgACAGQQpqKQAANwE2IAAgBikABDcDMCAAQRJqIAApATY3AQAgACADNgIAIABCgYCAgBA3AgQgACAAKQMwNwIMIABBADYCKCAAQgQ3AyAgAkEBRgRAIABBMGoiAUEYaiAAQRhqKAIANgIAIAFBEGogAEEQaikDADcDACABQQhqIABBCGopAwA3AwAgACAAKQMANwMwQQAhAQwDCyAAQQxqIQUgAkEUbEEUayEKQQEhAQNAAkACQAJAIAYgB2oiAkEYaiILLQAAIgNBAkcgAC0ADCIIQQJHcw0AAkAgA0ECRg0AIAhBAkYNACADIAhHDQEgA0UEQCACQRlqLQAAIAAtAA1GDQEMAgsgAkEZai0AACAALQANRw0BIAJBGmotAAAgAC0ADkcNASACQRtqLQAAIAAtAA9HDQELIAJBHGotAAAiA0ECRyAALQAQIghBAkdzDQACQCADQQJGDQAgCEECRg0AIAMgCEcNASADRQRAIAJBHWotAAAgAC0AEUYNAQwCCyACQR1qLQAAIAAtABFHDQEgAkEeai0AACAALQASRw0BIAJBH2otAAAgAC0AE0cNAQsgAkEgai0AAEUgAC0AFEEAR0YNACACQSFqLQAARSAALQAVQQBHRg0AIAJBImotAABFIAAtABZBAEdGDQAgAkEjai0AAEUgAC0AF0EAR0YNACACQSRqLQAARSAALQAYQQBHRg0AIAJBJWotAABFIAAtABlBAEdzDQELIABBMGoiAUEYaiIIIABBGGooAgA2AgAgAUEQaiIMIABBEGopAwA3AwAgAUEIaiINIABBCGopAwA3AwAgACAAKQMANwMwIAAoAigiASAAKAIkRgRAIABBIGogARBlIAAoAighAQsgACgCICABQRxsaiIDIAApAzA3AgAgA0EIaiANKQMANwIAIANBEGogDCkDADcCACADQRhqIAgoAgA2AgAgACABQQFqNgIoQQRBBBCdASIBRQ0IIAEgAkEUaigCADYCACAAIAspAgA3AzAgACALQQZqKQEANwE2IAUgACkDMDcCACAFQQZqIAApATY3AQAgACABNgIAIABCgYCAgBA3AgRBASEBDAELIAJBFGooAgAhAiAAKAIEIAFGBEAgACABEGIgACgCCCEBCyAAKAIAIAFBAnRqIAI2AgAgACAAKAIIQQFqIgE2AggLIAogB0EUaiIHRw0ACwwBCwwECyAAKAIkIQYgACgCKCEBIABBMGoiAkEYaiAAQRhqKAIANgIA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IgMgAkkNASABIAJHBEAgACgChAEiACABaiIBQQEgACACaiABaxDAAQsPCyABIAIQvgEACyACIAMQvQEAC1ABAn8gACgCCCIBBEAgACgCACEAIAFBDGwhAQNAAkAgAEEEaigCACICRQ0AIAKtQhR+p0UNACAAKAIAEBALIABBDGohACABQQxrIgENAAsLC1kBAX8CQCAAKAI8IgEgACgCUEcEQCABIAAoAhxBAWtPDQEgAEEAOgCmASAAIAFBAWo2AjwgACAAKAIYQQFrIgEgACgCOCIAIAAgAUsbNgI4DwsgAEEBEEULC0gBA38jAEEQayICJAAgAiABNgIMQQEhAyACQQxqKAIAEAhBAUYgAigCDCEBBEBBACEDCyAAIAE2AgQgACADNgIAIAJBEGokAAtRAQJ/IAAoAgAiA0EIaiIEKAIAIQAgAiADQQRqKAIAIABrSwRAIAMgACACEDUgBCgCACEACyADKAIAIABqIAEgAhDBARogBCAAIAJqNgIAQQALUwEBfyMAQRBrIgIkACACIAAgARAvAkAgAigCAARAIAJBCGooAgAiAEUNASACKAIEIABB5LjAACgCACIAQdEAIAAbEQIAAAsgAkEQaiQADwsQcAALnwIBBX8jAEEQayIDJAAjAEEgayICJAAgAwJ/AkAgASABQQFqIgFNBEAgACgCBCIEQQF0IgUgASABIAVJGyIBQQQgAUEESxsiASABaiEFIAEgBU1BAXQhBgJAIAQEQCACQRhqQQI2AgAgAiAEIARqNgIUIAIgACgCADYCEAwBCyACQQA2AhALIAIgBSAGIAJBEGoQOiACKAIARQRAIAIoAgQhBCAAIAE2AgQgACAENgIAQQAMAwsgAyACKQIENwIEDAELIAMgATYCBCADQQhqQQA2AgALQQELNgIAIAJBIGokAAJAIAMoAgAEQCADQQhqKAIAIgBFDQEgAygCBCAAQeS4wAAoAgAiAEHRACAAGxECAAALIANBEGokAA8LEHAAC1UBAX8jAEEQayICJAAgAiAAIAFBARAzAkAgAigCAARAIAJBCGooAgAiAEUNASACKAIEIABB5LjAACgCACIAQdEAIAAbEQIAAAsgAkEQaiQADwsQcAALpwICBX8BfiMAQRBrIgMkACMAQSBrIgIkACADAn8CQCABIAFBAWoiAU0EQCAAKAIEIgRBAXQiBSABIAEgBUkbIgFBBCABQQRLGyIBrUIcfiIHQiCIUEECdCEFIAenIQYCQCAEBEAgAkEYakEENgIAIAIgACgCADYCECACIAStQhx+PgIUDAELIAJBADYCEAsgAiAGIAUgAkEQahA6IAIoAgBFBEAgAigCBCEEIAAgATYCBCAAIAQ2AgBBAAwDCyADIAIpAgQ3AgQMAQsgAyABNgIEIANBCGpBADYCAAtBAQs2AgAgAkEgaiQAAkAgAygCAARAIANBCGooAgAiAEUNASADKAIEIABB5LjAACgCACIAQdEAIAAbEQIAAAsgA0EQaiQADwsQcAALVQEBfyMAQRBrIgMkACADIAAgASACEDMCQCADKAIABEAgA0EIaigCACIARQ0BIAMoAgQgAEHkuMAAKAIAIgBB0QAgABsRAgAACyADQRBqJAAPCxBwAAtLAAJAAn8gAUGAgMQARwRAQQEgACgCGCABIABBHGooAgAoAhARAAANARoLIAINAUEACw8LIAAoAhggAiADIABBHGooAgAoAgwRAQALQQEBfwJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABEEQgACAAKAIAQQFrNgIADwsQtwEACxC4AQALSAEBfyAAQQA2AgggACgCBEUEQCAAQQAQYyAAKAIIIQELIAAoAgAgAUEBdGpBADsBACAAQRRqQQA2AgAgACAAKAIIQQFqNgIIC+8DAQd/AkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACMAQSBrIgQkACAEQRBqIgIgAEEEaiIBLQCSAQR/IAIgASkCODcCBEEBBUEACzYCACMAQSBrIgMkACADQQA7ARggA0EAOgAaIARBCGoiBwJ/IAIoAgBFBEAgA0EIaiICQQA2AgAgAkEhQSAgA0EYai0AABs2AgQgAygCCCEBIAMoAgwMAQsgA0EQaiEGIAJBBGohAiMAQTBrIgEkACABQSBqIANBGGoQigECfwJAAkACfwJAIAEoAiBFBEAgASABKQIkNwMYIAFBEGogAUEYaiACEEkgASgCEEUNASABKAIUDAILIAEoAiQhAgwDCyABQQhqIAFBGGogAkEEahBJIAEoAghFDQEgASgCDAshAiABKAIcIgVBJEkNASAFEAAMAQsgASgCGBogASABKAIcNgIEIAFBADYCACABKAIEIQIgASgCAAwBC0EBCyEFIAYgAjYCBCAGIAU2AgAgAUEwaiQAIAMoAhAhASADKAIUCzYCBCAHIAE2AgAgA0EgaiQAIAQoAgwhAiAEKAIIBEAgBCACNgIcQYCAwABBKyAEQRxqQayAwABB4IDAABBLAAsgBEEgaiQAIAAgACgCAEEBazYCACACDwsQtwEACxC4AQALRQEBfyACIAFrIgMgACgCBCAAKAIIIgJrSwRAIAAgAiADEGYgACgCCCECCyAAKAIAIAJqIAEgAxDBARogACACIANqNgIIC0cBAX8jAEEgayIDJAAgA0EUakEANgIAIANB4J3AADYCECADQgE3AgQgAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEHEACzoBAX8jAEEQayICJAAgAiABQZiGwABBBRB5IAIgADYCDCACIAJBDGpBoIbAABAjIAIQQCACQRBqJAALVgECfyABKAIEIQIgASgCACEDQQhBBBCdASIBRQRAQQhBBEHkuMAAKAIAIgBB0QAgABsRAgAACyABIAI2AgQgASADNgIAIABBqJrAADYCBCAAIAE2AgAL9QUBCn8jAEHQAmsiAiQAIwBBgAFrIgMkAAJAIAAEQCABDQFBkIvAAEEaQayLwAAQbAALQeOKwABBHUGAi8AAEGwACyADQQhqIgQgACABEDAgA0EYaiIHIAQQNyADQTBqIgggBEEIaigCADYCACADIAMpAwg3AyggA0E4aiIJIAAQPSADQccAaiIKQQdqQQA7AAAgA0EANgBKIANB8ABqIgZBB2oiBUEAOwAAIANB2ABqIgsgBkEIaiIELQAAOgAAIANBADYAcyADIAMpAHA3A1AgBUEAOwAAIANB6ABqIgUgBC0AADoAACADQQA2AHMgAyADKQBwNwNgIAMgARBaIARBADYCACADIAMpAwA3A3AgBiABEEcgAkGMAWogBCgCADYCACACIAMpA3A3AoQBIAIgATYCHCACIAA2AhggAkEQakIANwIAIAJCgICAgMAANwIIIAJCAjcCACACQYCAhBA2ApABIAIgAykDKDcCICACQShqIAgoAgA2AgAgAiADKQMYNwIsIAJBNGogB0EIaigCADYCACACQZcBakECOgAAIAJCADcCOCACQZgBaiADKQBHNwAAIAJBoAFqIApBCGotAAA6AAAgAkEAOgChASACQcgAaiAJ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QT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwshACAAIANBBGooAgAgA0EIaiIBKAIAIgRrSwRAIAMgBCAAEDUgASgCACEECyADKAIAIARqIAJBDGogABDBARogASAAIARqNgIACyACQRBqJABBAAsTACAAQaiawAA2AgQgACABNgIACxAAIAEgACgCACAAKAIEEBELDQAgACABIAIQngFBAAsNACAAKAIAIAEgAhAECw8AIAAoAgAgASgCABAJGgvdAgEDfyAAKAIAIQMjAEEQayICJAACQAJ/AkACQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAygCCCIEIANBBGooAgBGBEAgAyAEEDYgAygCCCEECyADIARBAWo2AgggAygCACAEaiABOgAADAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBAshACAAIANBBGooAgAgA0EIaiIBKAIAIgRrSwRAIAMgBCAAEDUgASgCACEECyADKAIAIARqIAJBDGogABDBARogASAAIARqNgIACyACQRBqJABBAAsOACAAKAIAGgNADAALAAsLACAANQIAIAEQIQvVAgIEfwJ+IwBBQGoiAyQAQQEhBQJAIAAtAAQNACAALQAFIQUCQAJAAkAgACgCACIEKAIAIgZBBHFFBEAgBQ0BDAMLIAUNAUEBIQUgBCgCGEGun8AAQQEgBEEcaigCACgCDBEBAA0DIAQoAgAhBgwBC0EBIQUgBCgCGEGhn8AAQQIgBEEcaigCACgCDBEBAEUNAQwCC0EBIQUgA0EBOgAXIANBNGpBgJ/AADYCACADQRBqIANBF2o2AgAgAyAGNgIYIAMgBCkCGDcDCCAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAgQ2AhwgAyAINwMoIAMgBzcDICADIANBCGo2AjAgASADQRhqIAIoAgwRAAANASADKAIwQZ+fwABBAiADKAI0KAIMEQEAIQUMAQsgASAEIAIoAgwRAAAhBQsgAEEBOgAFIAAgBToABCADQUBrJAALDQAgACgCACABIAIQFAsLACAAMQAAIAEQIQsLACAAKQMAIAEQIQsLACAAIwBqJAAjAAsHACAAEI0BC+IBAQV/IAAoAgAhAiMAQUBqIgAkACAAQgA3AzggAEE4aiACKAIAEAwgAEEcakEBNgIAIAAgACgCPCICNgIwIAAgAjYCLCAAIAAoAjg2AiggAEHLADYCJCAAQgI3AgwgAEGMl8AANgIIIAAgAEEoaiIENgIgIAAgAEEgajYCGCMAQSBrIgIkACABQRxqKAIAIQUgASgCGCACQQhqIgFBEGogAEEIaiIDQRBqKQIANwMAIAFBCGogA0EIaikCADcDACACIAMpAgA3AwggBSABEBcgAkEgaiQAIAQQjQEgAEFAayQAC9ADAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIALQAAQQFrDg0BAgMEBQYHCAkKCwwNAAsgASgCGEH9jsAAQQYgAUEcaigCACgCDBEBAAwNCyABKAIYQfeOwABBBiABQRxqKAIAKAIMEQEADAwLIAEoAhhB5Y7AAEESIAFBHGooAgAoAgwRAQAMCwsgASgCGEHdjsAAQQggAUEcaigCACgCDBEBAAwKCyABKAIYQdWOwABBCCABQRxqKAIAKAIMEQEADAkLIAEoAhhBxo7AAEEPIAFBHGooAgAoAgwRAQAMCAsgASgCGEG9jsAAQQkgAUEcaigCACgCDBEBAAwHCyABKAIYQbWOwABBCCABQRxqKAIAKAIMEQEADAYLIAEoAhhBrY7AAEEIIAFBHGooAgAoAgwRAQAMBQsgASgCGEGejsAAQQ8gAUEcaigCACgCDBEBAAwECyABKAIYQZCOwABBDiABQRxqKAIAKAIMEQEADAMLIAEoAhhBh47AAEEJIAFBHGooAgAoAgwRAQAMAgsgASgCGEH+jcAAQQkgAUEcaigCACgCDBEBAAwBCyABKAIYQfCNwABBDiABQRxqKAIAKAIMEQEACwtYAQF/IAAoAgAhAiMAQRBrIgAkACAAIAFBhJDAAEEEEHkgACACNgIMIAAgAEEMaiIBQYiQwAAQIyAAIAJBBGo2AgwgACABQZiQwAAQIyAAEEAgAEEQaiQAC5kBAQJ/IAAoAgAhAiMAQRBrIgAkACACQQFqIQMCQCACLQAARQRAIAAgAUGYj8AAQQcQeSAAIAM2AgwMAQsgACABQYOPwABBAxB5IAAgAzYCDCAAIABBDGoiAUGIj8AAECMgACACQQJqNgIMIAAgAUGIj8AAECMgACACQQNqNgIMCyAAIABBDGpBiI/AABAjIAAQQCAAQRBqJAALRwACfyAAKAIALQAARQRAIAEoAhhBxZDAAEEHIAFBHGooAgAoAgwRAQAMAQsgASgCGEG8kMAAQQkgAUEcaigCACgCDBEBAAsLjgIBAX8gACgCACECIwBBEGsiACQAIAAgAUGfj8AAQQMQfiAAIAI2AgwgAEGij8AAQQogAEEMaiIBQayPwAAQHiAAIAJBBGo2AgwgAEG8j8AAQQogAUGsj8AAEB4gACACQQhqNgIMIABBxo/AAEEEIAFBzI/AABAeIAAgAkEJajYCDCAAQdyPwABBBiABQcyPwAAQHiAAIAJBCmo2AgwgAEHij8AAQQkgAUHMj8AAEB4gACACQQtqNgIMIABB64/AAEENIAFBzI/AABAeIAAgAkEMajYCDCAAQfiPwABBBSABQcyPwAAQHiAAIAJBDWo2AgwgAEH9j8AAQQcgAUHMj8AAEB4gABBOIABBEGokAAu6AQEBfyAAKAIAIQIjAEEQayIAJAAgACABQcyQwABBCBB+IAAgAjYCDCAAQdSQwABBCCAAQQxqIgFB3JDAABAeIAAgAkEEajYCDCAAQeyQwABBCCABQdyQwAAQHiAAIAJBCGo2AgwgAEH0kMAAQQMgAUGYkMAAEB4gACACQRZqNgIMIABB95DAAEELIAFBzI/AABAeIAAgAkEXajYCDCAAQYKRwABBDiABQcyPwAAQHiAAEE4gAEEQaiQAC2sBAX8gACgCACECIwBBEGsiACQAAn8gAi0AAEECRgRAIAEoAhhBlJbAAEEEIAFBHGooAgAoAgwRAQAMAQsgACABQYCWwABBBBB5IAAgAjYCDCAAIABBDGpBhJbAABAjIAAQQAsgAEEQaiQACwwAIAAoAgAgARCqAQsNAEGYlsAAQRsQuQEACw4AQbOWwABBzwAQuQEACwkAIAAgARANAAsLACAAKAIAIAEQGwspAAJ/IAAoAgAtAABFBEAgAUGYocAAQQUQEQwBCyABQZShwABBBBARCwtxAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEcakECNgIAIAJBLGpB0AA2AgAgAkICNwIMIAJB1KHAADYCCCACQdAANgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpBhKLAABBxAAtxAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEcakECNgIAIAJBLGpB0AA2AgAgAkICNwIMIAJBpKLAADYCCCACQdAANgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpBtKLAABBxAAtxAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEcakECNgIAIAJBLGpB0AA2AgAgAkICNwIMIAJB6KLAADYCCCACQdAANgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpB+KLAABBxAAsKACACIAAgARARC5wBAQJ/IAJBD0sEQEEAIABrQQNxIgMgAGohBCADBEADQCAAIAE6AAAgBCAAQQFqIgBLDQALCyACIANrIgJBfHEiAyAEaiEAIANBAEoEQCABQf8BcUGBgoQIbCEDA0AgBCADNgIAIARBBGoiBCAASQ0ACwsgAkEDcSECCyACBEAgACACaiECA0AgACABOgAAIAIgAEEBaiIASw0ACwsLvAIBCH8CQCACIgZBD00EQCAAIQIMAQtBACAAa0EDcSIEIABqIQUgBARAIAAhAiABIQMDQCACIAMtAAA6AAAgA0EBaiEDIAUgAkEBaiICSw0ACwsgBiAEayIGQXxxIgcgBWohAgJAIAEgBGoiBEEDcQRAIAdBAEwNASAEQQN0IgNBGHEhCSAEQXxxIghBBGohAUEAIANrQRhxIQogCCgCACEDA0AgAyAJdiEIIAUgCCABKAIAIgMgCnRyNgIAIAFBBGohASAFQQRqIgUgAkkNAAsMAQsgB0EATA0AIAQhAQNAIAUgASgCADYCACABQQRqIQEgBUEEaiIFIAJJDQALCyAGQQNxIQYgBCAHaiEBCyAGBEAgAiAGaiEDA0AgAiABLQAAOgAAIAFBAWohASADIAJBAWoiAksNAAsLIAALnAUBB38CQAJ/AkAgAiIDIAAgAWtLBEAgACADaiECIAEgA2oiBiADQQ9NDQIaIAJBfHEhAEEAIAJBA3EiBGshCCAEBEAgASADakEBayEFA0AgAkEBayICIAUtAAA6AAAgBUEBayEFIAAgAkkNAAsLIAAgAyAEayIJQXxxIgRrIQJBACAEayEHIAYgCGoiBkEDcQRAIAdBAE4NAiAGQQN0IgNBGHEhCCAGQXxxIgRBBGshAUEAIANrQRhxIQMgBCgCACEFA0AgBSADdCEEIABBBGsiACAEIAEoAgAiBSAIdnI2AgAgAUEEayEBIAAgAksNAAsMAgsgB0EATg0BIAEgCWpBBGshAQNAIABBBGsiACABKAIANgIAIAFBBGshASAAIAJLDQALDAELAkAgA0EPTQRAIAAhAgwBC0EAIABrQQNxIgQgAGohBSAEBEAgACECIAEhAANAIAIgAC0AADoAACAAQQFqIQAgBSACQQFqIgJLDQALCyADIARrIglBfHEiByAFaiECAkAgASAEaiIEQQNxBEAgB0EATA0BIARBA3QiA0EYcSEGIARBfHEiAEEEaiEBQQAgA2tBGHEhCCAAKAIAIQADQCAAIAZ2IQMgBSADIAEoAgAiACAIdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgBCEBA0AgBSABKAIANgIAIAFBBGohASAFQQRqIgUgAkkNAAsLIAlBA3EhAyAEIAdqIQELIANFDQIgAiADaiEAA0AgAiABLQAAOgAAIAFBAWohASAAIAJBAWoiAksNAAsMAgsgCUEDcSIARQ0BIAIgAGshACAGIAdqC0EBayEBA0AgAkEBayICIAEtAAA6AAAgAUEBayEBIAAgAkkNAAsLCwgAIAAgARAKCw0AQtKBnN7BxfzvqH8LDQBCi+TnlfK4j9e4fwsNAELu7ufbzK+R6OYACwMAAQsLyDgBAEGAgMAAC744Y2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQACAAAABAAAAAQAAAADAAAAAAAQAAAAAABzcmMvbGliLnJzAABEABAACgAAACMAAAAtAAAARAAQAAoAAAAoAAAALwAAAGZnYmdib2xkAWl0YWxpY3VuZGVybGluZXN0cmlrZXRocm91Z2hibGlua2ludmVyc2VyZ2IoLCkAoQAQAAQAAAClABAAAQAAAKUAEAABAAAApgAQAAEAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHnIABAAJAAAAC9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnP0ABAATAAAAKkBAAAJAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZS9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zZXJkZS13YXNtLWJpbmRnZW4tMC40LjIvc3JjL3Nlci5ycwB7ARAAYAAAAJwAAAAoAAAATWFwIGtleSBpcyBub3QgYSBzdHJpbmcgYW5kIGNhbm5vdCBiZSBhbiBvYmplY3Qga2V5ACBjYW4ndCBiZSByZXByZXNlbnRlZCBhcyBhIEphdmFTY3JpcHQgbnVtYmVyIAIQAAAAAAAgAhAALAAAAAYAAAAMAAAABAAAAAcAAAAIAAAACQAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvZmU1YjEzZDY4MWYyNWVlNjQ3NGJlMjlkNzQ4YzY1YWRjZDkxZjY5ZS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAKsCEABLAAAAZgkAAA4AAAAKAAAAAAAAAAEAAAALAAAARXJyb3IAAAAMAAAABAAAAAQAAAANAAAAL3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc1RyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eXwDEAAkAAAAMAMQAEwAAACpAQAACQAAAGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBkZXN0cm95ZWQgYWxyZWFkeWFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpL3J1c3RjL2ZlNWIxM2Q2ODFmMjVlZTY0NzRiZTI5ZDc0OGM2NWFkY2Q5MWY2OWUvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMLBBAATQAAAKYLAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogayA8PSBzZWxmLmxlbigpAAAACwQQAE0AAADRCwAACQAAAGYmAACSJQAACSQAAAwkAAANJAAACiQAALAAAACxAAAAJCQAAAskAAAYJQAAECUAAAwlAAAUJQAAPCUAALojAAC7IwAAACUAALwjAAC9IwAAHCUAACQlAAA0JQAALCUAAAIlAABkIgAAZSIAAMADAABgIgAAowAAAMUiAAAvaG9tZS9ydW5uZXIvLmNhcmdvL2dpdC9jaGVja291dHMvdnQtcnMtM2Y4ZDk1ZDc5ZmViMzdiNS8xZWQwOTM1L3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBjb2x1bW5zID4gMBgFEABLAAAA3QAAAAkAAABhc3NlcnRpb24gZmFpbGVkOiByb3dzID4gMAAAGAUQAEsAAADeAAAACQAAABgFEABLAAAAjAIAABEAAAAYBRAASwAAAK8CAAAaAAAAGAUQAEsAAAAtAwAAGgAAABgFEABLAAAAMAMAABoAAAAYBRAASwAAAJUDAAANAAAAGAUQAEsAAACaAwAADQAAABgFEABLAAAApgMAAA0AAAAYBRAASwAAAKsDAAANAAAAGAUQAEsAAAC4AwAACQAAABgFEABLAAAA2AMAABgAAAAYBRAASwAAAPEEAAAJAAAAGAUQAEsAAAD/BAAAJAAAABgFEABLAAAACwUAABoAAAAYBRAASwAAABMFAAAaAAAAAAAAABgFEABLAAAAqgUAAAkAAAAYBRAASwAAALIFAAAJAAAAGAUQAEsAAAASBwAAGgAAABgFEABLAAAANQcAABcAAAAYBRAASwAAADsHAAAJAAAAU29zUG1BcGNTdHJpbmdPc2NTdHJpbmdEY3NJZ25vcmVEY3NQYXNzdGhyb3VnaERjc0ludGVybWVkaWF0ZURjc1BhcmFtRGNzRW50cnlDc2lJZ25vcmVDc2lJbnRlcm1lZGlhdGVDc2lQYXJhbUNzaUVudHJ5RXNjYXBlSW50ZXJtZWRpYXRlRXNjYXBlR3JvdW5kUkdCAAAiAAAABAAAAAQAAAAjAAAASW5kZXhlZFBlbmZvcmVncm91bmQkAAAABAAAAAQAAAAlAAAAYmFja2dyb3VuZGJvbGQAACYAAAAEAAAABAAAACcAAABpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlQ2VsbCgAAAAEAAAABAAAACkAAAAqAAAABAAAAAQAAAArAAAALAAAAAQAAAAEAAAALQAAAEcxRzBBbHRlcm5hdGVQcmltYXJ5U2F2ZWRDdHhjdXJzb3JfeC4AAAAEAAAABAAAAC8AAABjdXJzb3JfeXBlbm9yaWdpbl9tb2RlYXV0b193cmFwX21vZGVWVHN0YXRlADAAAAAEAAAABAAAADEAAABwYXJhbXMAADIAAAAEAAAABAAAADMAAABpbnRlcm1lZGlhdGVzY29sdW1uc3Jvd3NidWZmZXIAADQAAAAEAAAABAAAADUAAABhbHRlcm5hdGVfYnVmZmVyYWN0aXZlX2J1ZmZlcl90eXBlAAA2AAAABAAAAAQAAAA3AAAAY3Vyc29yX3Zpc2libGVjaGFyc2V0AAAAOAAAAAQAAAAEAAAAOQAAAHRhYnM6AAAABAAAAAQAAAA7AAAAaW5zZXJ0X21vZGVuZXdfbGluZV9tb2RlbmV4dF9wcmludF93cmFwc3RvcF9tYXJnaW5ib3R0b21fbWFyZ2luc2F2ZWRfY3R4PAAAAAQAAAAEAAAAPQAAAGFsdGVybmF0ZV9zYXZlZF9jdHhhZmZlY3RlZF9saW5lcwAAAD4AAAAEAAAABAAAAD8AAABhc3NlcnRpb24gZmFpbGVkOiBtaWQgPD0gc2VsZi5sZW4oKS9ydXN0Yy9mZTViMTNkNjgxZjI1ZWU2NDc0YmUyOWQ3NDhjNjVhZGNkOTFmNjllL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvbW9kLnJzDwoQAE0AAACmCwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGsgPD0gc2VsZi5sZW4oKQAAAA8KEABNAAAA0QsAAAkAAABAAAAABAAAAAQAAAAnAAAAQQAAAAQAAAAEAAAAQgAAAEMAAAAEAAAABAAAAC8AAABEAAAABAAAAAQAAABFAAAARgAAAAQAAAAEAAAARwAAAEgAAAAEAAAABAAAACkAAABTb21lSQAAAAQAAAAEAAAASgAAAE5vbmVudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0SnNWYWx1ZSgpAIILEAAI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ARgEAQkBAwEFKwM8CCoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAQIBAwEFAgcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLBkoCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAMdAh4CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwBwEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAKZCzEEewE2DykBAgIKAzEEAgIHAT0DJAUBCD4BDAI0CQoEAgFfAwIBAQIGAaABAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBQAHAAE9BAAHbQcAYIDwAHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjYxLjAgKGZlNWIxM2Q2OCAyMDIyLTA1LTE4KQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIwLjIuODAgKDRjYWE5ODE2NSk=");var Wg=async()=>(await de(zg),Tg);function Re(A){return typeof A=="number"?A:typeof A=="string"?A.split(":").reverse().map(parseFloat).reduce(function(e,g,i){return e+g*Math.pow(60,i)}):void 0}function Me(A,e){var g=typeof Symbol!="undefined"&&A[Symbol.iterator]||A["@@iterator"];if(!g){if(Array.isArray(A)||(g=Xg(A))||e&&A&&typeof A.length=="number"){g&&(A=g);var i=0,a=function(){};return{s:a,n:function(){return i>=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(B){throw B},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var n=!0,r=!1,I;return{s:function(){g=g.call(A)},n:function(){var B=g.next();return n=B.done,B},e:function(B){r=!0,I=B},f:function(){try{!n&&g.return!=null&&g.return()}finally{if(r)throw I}}}}function Xg(A,e){if(!!A){if(typeof A=="string")return Se(A,e);var g=Object.prototype.toString.call(A).slice(8,-1);if(g==="Object"&&A.constructor&&(g=A.constructor.name),g==="Map"||g==="Set")return Array.from(A);if(g==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(g))return Se(A,e)}}function Se(A,e){(e==null||e>A.length)&&(e=A.length);for(var g=0,i=new Array(e);g1&&arguments[1]!==void 0?arguments[1]:{},a=Me(this.eventHandlers.get(g)),n;try{for(a.s();!(n=a.n()).done;){var r=n.value;r(i)}}catch(I){a.e(I)}finally{a.f()}}},{key:"init",value:function(){var e=J(p.mark(function i(){var a=this,n,r,I,o,B,t,E,l,u,D,k;return p.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return I=0,o=this.feed.bind(this),B=this.now.bind(this),t=function(R,M){return window.setTimeout(R,M/a.speed)},E=function(R,M){return window.setInterval(R,M/a.speed)},l=function(R,M){a.resetVt(R,M)},u=function(){I++,a.loop===!0||typeof a.loop=="number"&&I0){var g=new Map,i=Me(this.changedLines),a;try{for(i.s();!(a=i.n()).done;){var n=a.value;g.set(n,{id:n,segments:this.vt.get_line(n)})}}catch(r){i.e(r)}finally{i.f()}return this.changedLines.clear(),g}}},{key:"getCursor",value:function(){if(this.cursor===void 0&&this.vt){var g;this.cursor=(g=this.vt.get_cursor())!==null&&g!==void 0?g:!1}return this.cursor}},{key:"getCurrentTime",value:function(){if(typeof this.driver.getCurrentTime=="function")return this.driver.getCurrentTime();if(this.startTime)return(this.now()-this.startTime)/1e3}},{key:"getRemainingTime",value:function(){if(typeof this.duration=="number")return this.duration-Math.min(this.getCurrentTime(),this.duration)}},{key:"getProgress",value:function(){if(typeof this.duration=="number")return Math.min(this.getCurrentTime(),this.duration)/this.duration}},{key:"getDuration",value:function(){return this.duration}},{key:"start",value:function(){var e=J(p.mark(function i(){var a=this,n,r;return p.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return this.dispatchEvent("starting"),n=setTimeout(function(){a.dispatchEvent("waiting")},2e3),o.next=4,this.initializeDriver();case 4:return this.dispatchEvent("terminalUpdate"),o.next=7,this.driver.start();case 7:r=o.sent,clearTimeout(n),typeof r=="function"&&(this.driver.stop=r),this.startTime=this.now(),this.state="playing",this.dispatchEvent("play");case 13:case"end":return o.stop()}},i,this)}));function g(){return e.apply(this,arguments)}return g}()},{key:"doPause",value:function(){typeof this.driver.pauseOrResume=="function"&&(this.driver.pauseOrResume(),this.state="paused",this.dispatchEvent("pause"))}},{key:"resume",value:function(){typeof this.driver.pauseOrResume=="function"&&(this.state="playing",this.driver.pauseOrResume(),this.dispatchEvent("play"))}},{key:"doSeek",value:function(){var e=J(p.mark(function i(a){return p.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(typeof this.driver.seek!="function"){r.next=8;break}return r.next=3,this.initializeDriver();case 3:return this.state!="playing"&&(this.state="paused"),this.driver.seek(a),r.abrupt("return",!0);case 8:return r.abrupt("return",!1);case 9:case"end":return r.stop()}},i,this)}));function g(i){return e.apply(this,arguments)}return g}()},{key:"restart",value:function(){var e=J(p.mark(function i(){return p.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.doSeek(0);case 2:if(!n.sent){n.next=5;break}this.resume(),this.dispatchEvent("play");case 5:case"end":return n.stop()}},i,this)}));function g(){return e.apply(this,arguments)}return g}()},{key:"feed",value:function(g){var i=this,a=this.vt.feed(g);a.forEach(function(n){return i.changedLines.add(n)}),this.cursor=void 0,this.dispatchEvent("terminalUpdate")}},{key:"now",value:function(){return performance.now()*this.speed}},{key:"initializeDriver",value:function(){return this.initializeDriverPromise===void 0&&(this.initializeDriverPromise=this.doInitializeDriver()),this.initializeDriverPromise}},{key:"doInitializeDriver",value:function(){var e=J(p.mark(function i(){var a,n,r,I;return p.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:if(typeof this.driver.init!="function"){B.next=7;break}return B.next=3,this.driver.init();case 3:I=B.sent,this.duration=(a=this.duration)!==null&&a!==void 0?a:I.duration,this.cols=(n=this.cols)!==null&&n!==void 0?n:I.cols,this.rows=(r=this.rows)!==null&&r!==void 0?r:I.rows;case 7:this.ensureVt();case 8:case"end":return B.stop()}},i,this)}));function g(){return e.apply(this,arguments)}return g}()},{key:"ensureVt",value:function(){var g,i,a=(g=this.cols)!==null&&g!==void 0?g:80,n=(i=this.rows)!==null&&i!==void 0?i:24;this.vt!==void 0&&this.vt.cols===a&&this.vt.rows===n||this.initializeVt(a,n)}},{key:"resetVt",value:function(g,i){this.cols=g,this.rows=i,this.initializeVt(g,i)}},{key:"initializeVt",value:function(g,i){this.vt=this.wasm.create(g,i),this.vt.cols=g,this.vt.rows=i,this.changedLines.clear();for(var a=0;aA[EA][e]),g}function Ai(A){if(Oe()){const e=OA(A);(e._||(e._=Ce()))()}return Reflect.ownKeys(A)}function Ce(){const[A,e]=ce(void 0,{equals:!1,internal:!0});return A.$=e,A}const ei={get(A,e,g){if(e===eg)return A;if(e===EA)return g;const i=A[e];if(e===ZA||e==="__proto__")return i;const a=nA(i);if(Oe()&&(typeof i!="function"||A.hasOwnProperty(e))){let n,r;a&&(n=OA(i))&&(r=n._||(n._=Ce()),r()),n=OA(A),r=n[e]||(n[e]=Ce()),r()}return a?gg(i):i},set(){return!0},deleteProperty(){return!0},ownKeys:Ai,getOwnPropertyDescriptor:$g};function z(A,e,g){if(A[e]===g)return;const i=Array.isArray(A),a=A.length,n=g===void 0,r=i||n===e in A;n?delete A[e]:A[e]=g;let I=OA(A),o;(o=I[e])&&o.$(),i&&A.length!==a&&(o=I.length)&&o.$(),r&&(o=I._)&&o.$()}function gi(A,e){const g=Object.keys(e);for(let i=0;i1){i=e.shift();const r=typeof i,I=Array.isArray(A);if(Array.isArray(i)){for(let o=0;o1){uA(A[i],e,[i].concat(g));return}a=A[i],g=[i].concat(g)}let n=e[0];typeof n=="function"&&(n=n(a,g),n===a)||i===void 0&&n==null||(n=kA(n),i===void 0||nA(a)&&nA(n)&&!Array.isArray(n)?gi(a,n):z(A,i,n))}function ig(A,e){const g=kA(A||{}),i=gg(g);function a(...n){Te(()=>uA(g,n))}return[i,a]}function tA(A,e,g,i,a){const n=e[g];if(A===n)return;if(!nA(A)||!nA(n)||a&&A[a]!==n[a]){A!==n&&z(e,g,A);return}if(Array.isArray(A)){if(A.length&&n.length&&(!i||a&&A[0][a]!=null)){let o,B,t,E,l,u,D,k;for(t=0,E=Math.min(n.length,A.length);t=t&&l>=t&&(n[E]===A[l]||a&&n[E][a]===A[l][a]);E--,l--)y[l]=n[E];if(t>l||t>E){for(B=t;B<=l;B++)z(n,B,A[B]);for(;BA.length&&z(n,"length",A.length);return}for(D=new Array(l+1),B=l;B>=t;B--)u=A[B],k=a?u[a]:u,o=b.get(k),D[B]=o===void 0?-1:o,b.set(k,B);for(o=t;o<=E;o++)u=n[o],k=a?u[a]:u,B=b.get(k),B!==void 0&&B!==-1&&(y[B]=n[o],B=D[B],b.set(k,B));for(B=t;BA.length&&z(n,"length",A.length);return}const r=Object.keys(A);for(let o=0,B=r.length;o!nA(n)||!nA(a)?a:(tA(a,{state:n},"state",g,i),n)}const ii=O("");var ai=function(A){return function(){var e=ii.cloneNode(!0);return T(e,function(){return A.text}),$(function(g){var i=ni(A.attrs,A.extraClass),a=ri(A.attrs);return i!==g._v$&&(e.className=g._v$=i),g._v$2=PA(e,a,g._v$2),g},{_v$:void 0,_v$2:void 0}),e}()};function ni(A,e){var g=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),i=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),a=Le(g,A.get("bold"),"fg-"),n=Le(i,A.get("blink"),"bg-"),r=e!=null?e:"";return a&&(r+=" "+a),n&&(r+=" "+n),A.has("bold")&&(r+=" bright"),A.has("italic")&&(r+=" italic"),A.has("underline")&&(r+=" underline"),A.has("blink")&&(r+=" blink"),r}function Le(A,e,g){if(typeof A=="number")return e&&A<8&&(A+=8),"".concat(g).concat(A);if(A=="fg"||A=="bg")return"".concat(g).concat(A)}function ri(A){var e=A.get("inverse")?A.get("bg"):A.get("fg"),g=A.get("inverse")?A.get("fg"):A.get("bg"),i={};return typeof e=="string"&&(i.color=e),typeof g=="string"&&(i["background-color"]=g),i}const Ii=O('');var oi=function(A){var e=function(){if(typeof A.cursor=="number"){for(var i=[],a=0,n=0;n0&&i.push([I[0].substring(0,t),I[1]]),i.push([I[0][t],o," cursor-a"]),i.push([I[0][t],B," cursor-b"]),t');var ag=function(A){var e=function(){var r;return(r=A.lineHeight)!==null&&r!==void 0?r:1.3333333333},g=Z(function(){return{width:"".concat(A.cols,"ch"),height:"".concat(e()*A.rows,"em"),"font-size":"".concat((A.scale||1)*100,"%"),"font-family":A.fontFamily,"line-height":"".concat(e(),"em")}}),i=function(){var r;return(r=A.cursor)===null||r===void 0?void 0:r[0]},a=function(){var r;return(r=A.cursor)===null||r===void 0?void 0:r[1]};return function(){var n=Bi.cloneNode(!0),r=A.ref;return typeof r=="function"?r(n):A.ref=n,T(n,Y(Rg,{get each(){return A.lines},children:function(o,B){return function(){var t=Sg(function(){return B()===a()},!0);return Y(oi,{get segments(){return o.segments},get cursor(){return t()?i():null},get height(){return"".concat(e(),"em")}})}()}})),$(function(I){var o=A.blink||A.cursorHold,B=A.blink,t=g();return o!==I._v$&&n.classList.toggle("cursor",I._v$=o),B!==I._v$2&&n.classList.toggle("blink",I._v$2=B),I._v$3=PA(n,t,I._v$3),I},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n}()};const ti=O(''),Qi=O(''),Ci=O(''),Ei=O(''),ci=O('
');function Je(A){A=Math.floor(A);var e=Math.floor(A/60),g=A%60,i="";return e<10&&(i+="0"),i+="".concat(e,":"),g<10&&(i+="0"),i+="".concat(g),i}var si=function(A){var e=function(I){return function(o){o.preventDefault(),I(o)}},g=function(){return typeof A.currentTime=="number"?Je(A.currentTime):"--:--"},i=function(){return typeof A.remainingTime=="number"?"-"+Je(A.remainingTime):g()},a=function(){return{width:"100%",transform:"scaleX(".concat(A.progress||0),"transform-origin":"left center"}},n=function(I){if(!(I.altKey||I.shiftKey||I.metaKey||I.ctrlKey)){var o=I.currentTarget.offsetWidth,B=I.currentTarget.getBoundingClientRect(),t=I.clientX-B.left,E=t/o;return A.onSeekClick("".concat(E*100,"%"))}};return function(){var r=ci.cloneNode(!0),I=r.firstChild,o=I.firstChild,B=o.nextSibling,t=I.nextSibling;return T(r,Y(pe,{get when(){return A.isPausable},get children(){var E=Ci.cloneNode(!0);return re(E,"click",e(A.onPlayClick),!0),T(E,Y(Pe,{get children(){return[Y(xA,{get when(){return A.isPlaying},get children(){return ti.cloneNode(!0)}}),Y(xA,{get when(){return!A.isPlaying},get children(){return Qi.cloneNode(!0)}})]}})),E}}),I),T(o,g),T(B,i),re(t,"click",e(A.onFullscreenClick),!0),T(r,Y(pe,{get when(){return typeof A.progress=="number"||A.isSeekable},get children(){var E=Ei.cloneNode(!0),l=E.firstChild,u=l.firstChild,D=u.firstChild;return l.$$mousedown=n,$(function(k){return PA(D,a(),k)}),E}}),null),$(function(){return r.classList.toggle("seekable",A.isSeekable)}),r}()};me(["click","mousedown"]);const li=O('
');var fi=function(A){for(var e=["\u2593","\u2592","\u2591","\u2592"],g,i=1,a="",n=0;n
');var mi=function(A){var e=function(i){return function(a){a.preventDefault(),i(a)}};return function(){var g=ui.cloneNode(!0);return re(g,"click",e(A.onClick),!0),g}()};me(["click"]);const di=O('
');var hi=function(A){var e=A.core,g=A.autoPlay,i=ig({coreState:"initial",cols:A.cols,rows:A.rows,lines:[],cursor:void 0,charW:null,charH:null,bordersW:null,bordersH:null,containerW:null,containerH:null,showControls:!1,showStartOverlay:!g,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),a=He(i,2),n=a[0],r=a[1],I=function(){return n.cols||80},o=function(){return n.rows||24},B,t,E,l,u,D,k,y;e.addEventListener("starting",function(){r("showStartOverlay",!1)}),e.addEventListener("waiting",function(){r("coreState","waiting")}),e.addEventListener("reset",function(w){var c=w.cols,h=w.rows;hj?G="height":G="width"}if(G===!1||G==="none")return{};if(G==="width"){var U=n.containerW/c;return{scale:U,width:n.containerW,height:h*U}}else if(G==="height"){var iA=n.containerH/h;return{scale:iA,width:c*iA,height:n.containerH}}else throw"unsupported fit mode: ".concat(G)}}),q=function(){var c;r("isFullscreen",(c=document.fullscreenElement)!==null&&c!==void 0?c:document.webkitFullscreenElement)},x=function(){if(n.isFullscreen){var c,h;((c=(h=document.exitFullscreen)!==null&&h!==void 0?h:document.webkitExitFullscreen)!==null&&c!==void 0?c:function(){}).apply(document)}else{var G,F;((G=(F=u.requestFullscreen)!==null&&F!==void 0?F:u.webkitRequestFullscreen)!==null&&G!==void 0?G:function(){}).apply(u)}},AA=function(c){if(!(c.altKey||c.metaKey||c.ctrlKey)){if(c.shiftKey){if(c.key=="ArrowLeft")e.seek("<<<");else if(c.key=="ArrowRight")e.seek(">>>");else return;c.preventDefault();return}if(c.key==" ")e.pauseOrResume();else if(c.key=="f")x();else if(c.key=="ArrowLeft")e.seek("<<");else if(c.key=="ArrowRight")e.seek(">>");else if(c.key.charCodeAt(0)>=48&&c.key.charCodeAt(0)<=57){var h=(c.key.charCodeAt(0)-48)/10;e.seek("".concat(h*100,"%"))}else return;c.preventDefault()}},sA=function(){n.isFullscreen&&s(!0)},eA=function(){n.isFullscreen||s(!1)},X=function(){E=setInterval(gA,100)},V=function(){clearInterval(E)},gA=function(){var c=e.getCurrentTime(),h=e.getRemainingTime(),G=e.getProgress();r({currentTime:c,remainingTime:h,progress:G})},C=function(){l=setInterval(function(){r(function(c){var h={blink:!c.blink};return h.blink&&(h.cursorHold=!1),h})},500)},Q=function(){clearInterval(l),r("blink",!0)},s=function w(c){clearTimeout(t),c&&(t=setTimeout(function(){return w(!1)},2e3)),r("showControls",c)},f=function(){var c={};(A.fit===!1||A.fit==="none")&&A.terminalFontSize!==void 0&&(A.terminalFontSize==="small"?c["font-size"]="12px":A.terminalFontSize==="medium"?c["font-size"]="18px":A.terminalFontSize==="big"?c["font-size"]="24px":c["font-size"]=A.terminalFontSize);var h=M();return h===void 0?(c.height=0,c):(h.width!==void 0&&(c.width="".concat(h.width,"px"),c.height="".concat(h.height,"px")),c)},m=function(){var c;return"asciinema-player asciinema-theme-".concat((c=A.theme)!==null&&c!==void 0?c:"asciinema")},d=function(){var c;return(c=M())===null||c===void 0?void 0:c.scale},S=function(){var w=di.cloneNode(!0),c=w.firstChild,h=u;typeof h=="function"?h(w):u=w,w.addEventListener("webkitfullscreenchange",q),w.addEventListener("fullscreenchange",q),w.$$mousemove=sA,w.$$keydown=AA,w.addEventListener("keypress",AA);var G=D;return typeof G=="function"?G(c):D=c,c.$$mousemove=function(){return s(!0)},c.addEventListener("mouseleave",eA),T(c,Y(ag,{get cols(){return I()},get rows(){return o()},get scale(){return d()},get blink(){return n.blink},get lines(){return n.lines},get cursor(){return n.cursor},get cursorHold(){return n.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref:function(j){var U=k;typeof U=="function"?U(j):k=j}}),null),T(c,Y(si,{get currentTime(){return n.currentTime},get remainingTime(){return n.remainingTime},get progress(){return n.progress},get isPlaying(){return n.coreState=="playing"},get isPausable(){return n.isPausable},get isSeekable(){return n.isSeekable},onPlayClick:function(){return e.pauseOrResume()},onFullscreenClick:x,onSeekClick:function(j){return e.seek(j)}}),null),T(c,Y(Pe,{get children(){return[Y(xA,{get when(){return n.showStartOverlay},get children(){return Y(mi,{onClick:function(){return e.play()}})}}),Y(xA,{get when(){return n.coreState=="waiting"},get children(){return Y(fi,{get cols(){return I()},get rows(){return o()},get scale(){return d()},get terminalFontFamily(){return A.terminalFontFamily},get terminalLineHeight(){return A.terminalLineHeight}})}})]}}),null),$(function(F){var j=n.showControls,U=m(),iA=f();return j!==F._v$&&w.classList.toggle("hud",F._v$=j),U!==F._v$2&&(c.className=F._v$2=U),F._v$3=PA(c,iA,F._v$3),F},{_v$:void 0,_v$2:void 0,_v$3:void 0}),w}();return S};me(["keydown","mousemove"]);var zA=function(A){function e(g,i){WA(this,e),this.input=g,this.xfs=i!=null?i:[]}return XA(e,[{key:"map",value:function(i){return this.transform(wi(i))}},{key:"flatMap",value:function(i){return this.transform(Di(i))}},{key:"filter",value:function(i){return this.transform(ki(i))}},{key:"take",value:function(i){return this.transform(bi(i))}},{key:"drop",value:function(i){return this.transform(yi(i))}},{key:"transform",value:function(i){return new e(this.input,this.xfs.concat([i]))}},{key:"toArray",value:function(){return Array.from(this)}},{key:A,value:function(){var i=this,a=0,n=0,r=[],I=!1,o=Gi(this.xfs,function(B){return r.push(B)});return{next:function(){for(n===r.length&&(r=[],n=0);r.length===0&&a0?{done:!1,value:r[n++]}:{done:!0}}}}}]),e}(Symbol.iterator);function wi(A){return function(e){return function(g){e(A(g))}}}function Di(A){return function(e){return function(g){A(g).forEach(e)}}}function ki(A){return function(e){return function(g){A(g)&&e(g)}}}function bi(A){var e=0;return function(g){return function(i){eA&&g(i)}}}function Gi(A,e){return A.reverse().reduce(function(g,i){var a=Ye(i(g.step));return{step:a.step,flush:function(){a.flush(),g.flush()}}},Ye(e))}function Ye(A){return typeof A=="function"?{step:A,flush:function(){}}:A}function pi(A,e,g){var i=e.feed,a=e.now,n=e.setTimeout,r=e.onFinish,I=g.idleTimeLimit,o=g.startAt,B,t,E,l,u,D,k=0,y=0,b,N;function R(){return M.apply(this,arguments)}function M(){return M=J(p.mark(function C(){var Q,s,f;return p.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(!E){d.next=2;break}return d.abrupt("return");case 2:return d.t0=Ni,d.next=5,q(A);case 5:if(d.t1=d.sent,s=(0,d.t0)(d.t1),B=s.cols,t=s.rows,I=(Q=I)!==null&&Q!==void 0?Q:s.idleTimeLimit,f=vi(s.frames,I,o),E=f.frames,E.length!==0){d.next=14;break}throw"asciicast is missing events";case 14:u=f.effectiveStartAt,l=E[E.length-1][0];case 16:case"end":return d.stop()}},C)})),M.apply(this,arguments)}function q(C){return x.apply(this,arguments)}function x(){return x=J(p.mark(function C(Q){var s,f,m,d,S;return p.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(s=Q.url,f=Q.data,m=Q.fetchOpts,d=m===void 0?{}:m,s===void 0){c.next=12;break}return c.next=4,fetch(s,d);case 4:if(S=c.sent,S.ok){c.next=7;break}throw"failed fetching asciicast file: ".concat(S.statusText," (").concat(S.status,")");case 7:return c.next=9,S.text();case 9:return c.abrupt("return",c.sent);case 12:if(f===void 0){c.next=19;break}return typeof f=="function"&&(f=f()),c.next=16,f;case 16:return c.abrupt("return",c.sent);case 19:throw"failed fetching asciicast file: url/data missing in src";case 20:case"end":return c.stop()}},C)})),x.apply(this,arguments)}function AA(){var C=E[k];if(C){var Q=C[0]*1e3,s=a()-b,f=Q-s;f<0&&(f=0),D=n(sA,f)}else D=null,N=l*1e3,r()}function sA(){var C=E[k],Q;do i(C[1]),y=C[0]*1e3,C=E[++k],Q=a()-b;while(C&&Q>C[0]*1e3);AA()}function eA(){clearTimeout(D),D=null,N=a()-b}function X(){b=a()-N,N=null,AA()}function V(C){var Q=!!D;if(Q&&eA(),typeof C=="string"){var s,f=((s=N)!==null&&s!==void 0?s:0)/1e3;C==="<<"?C=f-5:C===">>"?C=f+5:C==="<<<"?C=f-.1*l:C===">>>"?C=f+.1*l:C[C.length-1]==="%"&&(C=parseFloat(C.substring(0,C.length-1))/100*l)}var m=Math.min(Math.max(C,0),l)*1e3;m1&&arguments[1]!==void 0?arguments[1]:1/0,g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=0,a=0,n=g,r=Array.from(Si(A).map(function(I){var o=I[0]-i,B=o-e;return i=I[0],B>0&&(a+=B,I[0]o)){E.next=5;break}return E.next=5,Ki(B-o);case 5:A(I[2]);case 6:case"end":return E.stop()}},r)}));return function(r){return n.apply(this,arguments)}}());return{pushEvent:function(r){i===void 0&&(i=SA()),r[1]=="o"&&g.push(r)},pushText:function(r){i===void 0&&(i=SA());var I=(SA()-i)/1e3;g.push([I,"o",r])},stop:function(){a()}}}function SA(){return new Date().getTime()}function Ki(A){return new Promise(function(e){setTimeout(e,A)})}function Hi(A,e){var g=A.url,i=A.bufferTime,a=i===void 0?0:i,n=e.feed,r=e.reset,I=e.setWaiting,o=e.onFinish,B=new TextDecoder,t,E,l=250,u=!1;function D(){E!==void 0&&E.stop(),E=ng(n,a)}function k(){t=new WebSocket(g),t.binaryType="arraybuffer",t.onopen=function(){console.debug("websocket: opened"),I(!1),D(),l=250},t.onmessage=function(y){if(typeof y.data=="string"){var b=JSON.parse(y.data);if(b.cols!==void 0||b.width!==void 0){var N,R;D(),r((N=b.cols)!==null&&N!==void 0?N:b.width,(R=b.rows)!==null&&R!==void 0?R:b.height)}else E.pushEvent(b)}else E.pushText(B.decode(y.data))},t.onclose=function(y){u||y.code===1e3||y.code===1005?(console.debug("websocket: closed"),o()):(console.debug("websocket: unclean close, reconnecting in ".concat(l,"...")),I(!0),setTimeout(k,l),l=Math.min(l*2,5e3))}}return{start:function(){k()},stop:function(){u=!0,E!==void 0&&E.stop(),t!==void 0&&t.close()}}}function qi(A,e){var g=A.url,i=A.bufferTime,a=i===void 0?0:i,n=e.feed,r=e.reset,I=e.setWaiting,o=e.onFinish,B,t;function E(){t!==void 0&&t.stop(),t=ng(n,a)}return{start:function(){B=new EventSource(g),B.addEventListener("open",function(){console.debug("eventsource: opened"),I(!1),E()}),B.addEventListener("error",function(u){console.debug("eventsource: errored"),console.debug(u),I(!0)}),B.addEventListener("message",function(u){var D=JSON.parse(u.data);if(D.cols!==void 0||D.width!==void 0){var k,y;E(),r((k=D.cols)!==null&&k!==void 0?k:D.width,(y=D.rows)!==null&&y!==void 0?y:D.height)}else t.pushEvent(D)}),B.addEventListener("done",function(){console.debug("eventsource: closed"),B.close(),o()})},stop:function(){t!==void 0&&t.stop(),B!==void 0&&B.close()}}}function xi(A,e){var g,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=new Pg(ji(A),{cols:i.cols,rows:i.rows,loop:i.loop,speed:i.speed,preload:i.preload,startAt:i.startAt,poster:i.poster,idleTimeLimit:i.idleTimeLimit}),n={core:a,cols:i.cols,rows:i.rows,fit:i.fit,autoPlay:(g=i.autoPlay)!==null&&g!==void 0?g:i.autoplay,terminalFontSize:i.terminalFontSize,terminalFontFamily:i.terminalFontFamily,terminalLineHeight:i.terminalLineHeight,theme:i.theme},r,I=Lg(function(){return r=Y(hi,n),r},e),o={el:r,dispose:I,getCurrentTime:function(){return a.getCurrentTime()},getDuration:function(){return a.getDuration()},play:function(){return a.play()},pause:function(){return a.pause()},seek:function(t){return a.seek(t)}};return o.addEventListener=function(B,t){return a.addEventListener(B,t.bind(o))},o}function ji(A){typeof A=="string"&&(A.substring(0,5)=="ws://"||A.substring(0,6)=="wss://"?A={driver:"websocket",url:A}:A.substring(0,7)=="test://"?A={driver:"test",kind:A.substring(7)}:A={driver:"asciicast",url:A}),A.driver===void 0&&(A.driver="asciicast");var e=new Map([["asciicast",pi],["websocket",Hi],["eventsource",qi],["test",Li]]);if(typeof A=="function")return A;if(e.has(A.driver)){var g=e.get(A.driver);return function(i,a){return g(A,i,a)}}else throw"unsupported driver: ".concat(JSON.stringify(A))}const Ti=Cg({name:"MachineRec",components:{},props:{visible:{type:Boolean},machineId:{type:Number},title:{type:String}},setup(A,e){const g=Eg(),i=cg(null),a=sg({dialogVisible:!1,title:"",machineId:0,operateDates:[],users:[],recs:[],operateDate:"",user:"",rec:""});lg(()=>{a.machineId=Number.parseInt(g.query.id),a.title=g.query.name,n()});const n=async()=>{const E=await GA.recDirNames.request({path:a.machineId});a.operateDates=E},r=async E=>{a.users=[],a.user="",a.recs=[],a.rec="";const l=await GA.recDirNames.request({path:`${a.machineId}/${E}`});a.users=l},I=async E=>{a.recs=[],a.rec="";const l=await GA.recDirNames.request({path:`${a.machineId}/${a.operateDate}/${E}`});a.recs=l};let o=null;const B=async E=>{o&&o.dispose();const l=await GA.recDirNames.request({isFile:"1",path:`${a.machineId}/${a.operateDate}/${a.user}/${E}`});o=xi(`data:text/plain;base64,${l}`,i.value,{autoPlay:!0,speed:1,idleTimeLimit:2})},t=()=>{e.emit("update:visible",!1),e.emit("update:machineId",null),e.emit("cancel"),a.operateDates=[],a.users=[],a.recs=[],a.operateDate="",a.user="",a.rec=""};return ke(De({},fg(a)),{playerRef:i,getUsers:r,getRecs:I,playRec:B,handleClose:t})}}),Zi={class:"toolbar"},Oi={style:{dispaly:"inline-block"},class:"ml10"},zi=mg(" \u5FEB\u6377\u952E-> space[\u7A7A\u683C\u952E]: \u6682\u505C/\u64AD\u653E | f: \u5168\u5C4F/\u53D6\u6D88\u5168\u5C4F "),Wi={ref:"playerRef",id:"rc-player"};function Xi(A,e,g,i,a,n){const r=_A("el-divider"),I=_A("el-option"),o=_A("el-select");return rA(),pA("div",null,[$A("div",Zi,[$A("span",Oi,ug(A.title),1),fA(r,{direction:"vertical","border-style":"dashed"}),fA(o,{onChange:A.getUsers,modelValue:A.operateDate,"onUpdate:modelValue":e[0]||(e[0]=B=>A.operateDate=B),placeholder:"\u64CD\u4F5C\u65E5\u671F",filterable:""},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.operateDates,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(o,{class:"ml10",onChange:A.getRecs,filterable:"",modelValue:A.user,"onUpdate:modelValue":e[1]||(e[1]=B=>A.user=B),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u4EBA"},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.users,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(o,{class:"ml10",onChange:A.playRec,filterable:"",modelValue:A.rec,"onUpdate:modelValue":e[2]||(e[2]=B=>A.rec=B),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u8BB0\u5F55"},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.recs,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(r,{direction:"vertical","border-style":"dashed"}),zi]),$A("div",Wi,null,512)])}var Aa=Qg(Ti,[["render",Xi]]);export{Aa as default}; +`),g;try{g=JSON.parse(e[0])}catch{return}var i=new zA(e).drop(1).filter(function(a){return a[0]==="["}).map(function(a){return JSON.parse(a)});return{header:g,events:i}}function Ri(A){var e=0,g=new zA(A.stdout).map(function(i){return e+=i[0],[e,i[1]]});return{cols:A.width,rows:A.height,frames:g}}function Mi(A,e){var g=e.filter(function(i){return i[1]==="o"}).map(function(i){return[i[0],i[2]]});return{cols:A.width,rows:A.height,idleTimeLimit:A.idle_time_limit,frames:g}}function Si(A){var e=.016666666666666666,g;return A.transform(function(i){var a=0,n=0;return{step:function(I){if(a++,g===void 0){g=I;return}I[0]-g[0]1&&arguments[1]!==void 0?arguments[1]:1/0,g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=0,a=0,n=g,r=Array.from(Si(A).map(function(I){var o=I[0]-i,B=o-e;return i=I[0],B>0&&(a+=B,I[0]o)){E.next=5;break}return E.next=5,Ki(B-o);case 5:A(I[2]);case 6:case"end":return E.stop()}},r)}));return function(r){return n.apply(this,arguments)}}());return{pushEvent:function(r){i===void 0&&(i=SA()),r[1]=="o"&&g.push(r)},pushText:function(r){i===void 0&&(i=SA());var I=(SA()-i)/1e3;g.push([I,"o",r])},stop:function(){a()}}}function SA(){return new Date().getTime()}function Ki(A){return new Promise(function(e){setTimeout(e,A)})}function Hi(A,e){var g=A.url,i=A.bufferTime,a=i===void 0?0:i,n=e.feed,r=e.reset,I=e.setWaiting,o=e.onFinish,B=new TextDecoder,t,E,l=250,u=!1;function D(){E!==void 0&&E.stop(),E=ng(n,a)}function k(){t=new WebSocket(g),t.binaryType="arraybuffer",t.onopen=function(){console.debug("websocket: opened"),I(!1),D(),l=250},t.onmessage=function(y){if(typeof y.data=="string"){var b=JSON.parse(y.data);if(b.cols!==void 0||b.width!==void 0){var N,R;D(),r((N=b.cols)!==null&&N!==void 0?N:b.width,(R=b.rows)!==null&&R!==void 0?R:b.height)}else E.pushEvent(b)}else E.pushText(B.decode(y.data))},t.onclose=function(y){u||y.code===1e3||y.code===1005?(console.debug("websocket: closed"),o()):(console.debug("websocket: unclean close, reconnecting in ".concat(l,"...")),I(!0),setTimeout(k,l),l=Math.min(l*2,5e3))}}return{start:function(){k()},stop:function(){u=!0,E!==void 0&&E.stop(),t!==void 0&&t.close()}}}function qi(A,e){var g=A.url,i=A.bufferTime,a=i===void 0?0:i,n=e.feed,r=e.reset,I=e.setWaiting,o=e.onFinish,B,t;function E(){t!==void 0&&t.stop(),t=ng(n,a)}return{start:function(){B=new EventSource(g),B.addEventListener("open",function(){console.debug("eventsource: opened"),I(!1),E()}),B.addEventListener("error",function(u){console.debug("eventsource: errored"),console.debug(u),I(!0)}),B.addEventListener("message",function(u){var D=JSON.parse(u.data);if(D.cols!==void 0||D.width!==void 0){var k,y;E(),r((k=D.cols)!==null&&k!==void 0?k:D.width,(y=D.rows)!==null&&y!==void 0?y:D.height)}else t.pushEvent(D)}),B.addEventListener("done",function(){console.debug("eventsource: closed"),B.close(),o()})},stop:function(){t!==void 0&&t.stop(),B!==void 0&&B.close()}}}function xi(A,e){var g,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=new Pg(ji(A),{cols:i.cols,rows:i.rows,loop:i.loop,speed:i.speed,preload:i.preload,startAt:i.startAt,poster:i.poster,idleTimeLimit:i.idleTimeLimit}),n={core:a,cols:i.cols,rows:i.rows,fit:i.fit,autoPlay:(g=i.autoPlay)!==null&&g!==void 0?g:i.autoplay,terminalFontSize:i.terminalFontSize,terminalFontFamily:i.terminalFontFamily,terminalLineHeight:i.terminalLineHeight,theme:i.theme},r,I=Lg(function(){return r=Y(hi,n),r},e),o={el:r,dispose:I,getCurrentTime:function(){return a.getCurrentTime()},getDuration:function(){return a.getDuration()},play:function(){return a.play()},pause:function(){return a.pause()},seek:function(t){return a.seek(t)}};return o.addEventListener=function(B,t){return a.addEventListener(B,t.bind(o))},o}function ji(A){typeof A=="string"&&(A.substring(0,5)=="ws://"||A.substring(0,6)=="wss://"?A={driver:"websocket",url:A}:A.substring(0,7)=="test://"?A={driver:"test",kind:A.substring(7)}:A={driver:"asciicast",url:A}),A.driver===void 0&&(A.driver="asciicast");var e=new Map([["asciicast",pi],["websocket",Hi],["eventsource",qi],["test",Li]]);if(typeof A=="function")return A;if(e.has(A.driver)){var g=e.get(A.driver);return function(i,a){return g(A,i,a)}}else throw"unsupported driver: ".concat(JSON.stringify(A))}const Ti=Cg({name:"MachineRec",components:{},props:{visible:{type:Boolean},machineId:{type:Number},title:{type:String}},setup(A,e){const g=Eg(),i=cg(null),a=sg({dialogVisible:!1,title:"",machineId:0,operateDates:[],users:[],recs:[],operateDate:"",user:"",rec:""});lg(()=>{a.machineId=Number.parseInt(g.query.id),a.title=g.query.name,n()});const n=async()=>{const E=await GA.recDirNames.request({path:a.machineId});a.operateDates=E},r=async E=>{a.users=[],a.user="",a.recs=[],a.rec="";const l=await GA.recDirNames.request({path:`${a.machineId}/${E}`});a.users=l},I=async E=>{a.recs=[],a.rec="";const l=await GA.recDirNames.request({path:`${a.machineId}/${a.operateDate}/${E}`});a.recs=l};let o=null;const B=async E=>{o&&o.dispose();const l=await GA.recDirNames.request({isFile:"1",path:`${a.machineId}/${a.operateDate}/${a.user}/${E}`});o=xi(`data:text/plain;base64,${l}`,i.value,{autoPlay:!0,speed:1,idleTimeLimit:2})},t=()=>{e.emit("update:visible",!1),e.emit("update:machineId",null),e.emit("cancel"),a.operateDates=[],a.users=[],a.recs=[],a.operateDate="",a.user="",a.rec=""};return ke(De({},fg(a)),{playerRef:i,getUsers:r,getRecs:I,playRec:B,handleClose:t})}}),Zi={class:"toolbar"},Oi={style:{dispaly:"inline-block"},class:"ml10"},zi={ref:"playerRef",id:"rc-player"};function Wi(A,e,g,i,a,n){const r=_A("el-divider"),I=_A("el-option"),o=_A("el-select");return rA(),pA("div",null,[$A("div",Zi,[$A("span",Oi,ug(A.title),1),fA(r,{direction:"vertical","border-style":"dashed"}),fA(o,{onChange:A.getUsers,modelValue:A.operateDate,"onUpdate:modelValue":e[0]||(e[0]=B=>A.operateDate=B),placeholder:"\u64CD\u4F5C\u65E5\u671F",filterable:""},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.operateDates,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(o,{class:"ml10",onChange:A.getRecs,filterable:"",modelValue:A.user,"onUpdate:modelValue":e[1]||(e[1]=B=>A.user=B),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u4EBA"},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.users,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(o,{class:"ml10",onChange:A.playRec,filterable:"",modelValue:A.rec,"onUpdate:modelValue":e[2]||(e[2]=B=>A.rec=B),placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u8BB0\u5F55"},{default:Ae(()=>[(rA(!0),pA(ee,null,ge(A.recs,B=>(rA(),ie(I,{key:B,label:B,value:B},null,8,["label","value"]))),128))]),_:1},8,["onChange","modelValue"]),fA(r,{direction:"vertical","border-style":"dashed"}),mg(" \u5FEB\u6377\u952E-> space[\u7A7A\u683C\u952E]: \u6682\u505C/\u64AD\u653E | f: \u5168\u5C4F/\u53D6\u6D88\u5168\u5C4F ")]),$A("div",zi,null,512)])}var $i=Qg(Ti,[["render",Wi]]);export{$i as default}; diff --git a/server/static/static/assets/MongoDataOp.1665447590227.js b/server/static/static/assets/MongoDataOp.1665447590227.js deleted file mode 100644 index f87df746..00000000 --- a/server/static/static/assets/MongoDataOp.1665447590227.js +++ /dev/null @@ -1,243 +0,0 @@ -var Zt=Object.defineProperty,Ot=Object.defineProperties;var Dt=Object.getOwnPropertyDescriptors;var Wt=Object.getOwnPropertySymbols;var Kt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable;var Ft=(Ie,le,Ge)=>le in Ie?Zt(Ie,le,{enumerable:!0,configurable:!0,writable:!0,value:Ge}):Ie[le]=Ge,kt=(Ie,le)=>{for(var Ge in le||(le={}))Kt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);if(Wt)for(var Ge of Wt(le))zt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);return Ie},Et=(Ie,le)=>Ot(Ie,Dt(le));import{m as ut}from"./api.16654475902276.js";import{P as Xt}from"./ProjectEnvSelect.1665447590227.js";import{i as Tt,a as Pt,b as Jt}from"./assert.1665447590227.js";import{f as Yt}from"./format.1665447590227.js";import{a7 as Ut,A as Gt,t as _t,q as Mt,r as Ht,o as Qt,a8 as qt,v as ei,_ as Vt,m as ti,d as qe,e as gt,h as tt,l as ii,b as Ye,g as Be,w as We,F as It,j as bt,k as mt,i as Rt,z as ni,E as ft,B as yt}from"./index.1665447590227.js";import"./Api.1665447590227.js";import"./api.16654475902274.js";var jt={exports:{}};/*! - * jsoneditor.js - * - * @brief - * JSONEditor is a web-based tool to view, edit, format, and validate JSON. - * It has various modes such as a tree editor, a code editor, and a plain text - * editor. - * - * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+ - * - * @license - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - * - * Copyright (c) 2011-2022 Jos de Jong, http://jsoneditoronline.org - * - * @author Jos de Jong, - * @version 9.9.0 - * @date 2022-06-13 - */(function(Ie,le){(function(Ge,it){Ie.exports=it()})(self,function(){return it={897:function(ie,g,X){X.d(g,{x:function(){return O}});var P=X(2602),S=X(9791),N=X(7907);function Z(W,M){for(var j=0;ja.top&&(w=!1),b?0:p.top-s.top);w?(b=f.offsetHeight,this.dom.menu.style.left="0",this.dom.menu.style.top=e+b+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left="0",this.dom.menu.style.top="",this.dom.menu.style.bottom="0px"),this.limitHeight&&(s=w?a.bottom-p.bottom-10:p.top-a.top-10,this.dom.list.style.maxHeight=s+"px",this.dom.list.style.overflowY="auto"),this.dom.absoluteAnchor.appendChild(this.dom.root),this.selection=(0,S.getSelection)(),this.anchor=f,setTimeout(function(){n.dom.focusButton.focus()},0),W.visibleMenu&&W.visibleMenu.hide(),W.visibleMenu=this}},{key:"hide",value:function(){this.dom.absoluteAnchor&&(this.dom.absoluteAnchor.destroy(),delete this.dom.absoluteAnchor),this.dom.root.parentNode&&(this.dom.root.parentNode.removeChild(this.dom.root),this.onClose&&this.onClose()),W.visibleMenu===this&&(W.visibleMenu=void 0)}},{key:"_onExpandItem",value:function(f){var m,b=this,w=f===this.expandedItem,p=this.expandedItem;p&&(p.ul.style.height="0",p.ul.style.padding="",setTimeout(function(){b.expandedItem!==p&&(p.ul.style.display="",S.removeClassName)(p.ul.parentNode,"jsoneditor-selected")},300),this.expandedItem=void 0),w||((m=f.ul).style.display="block",m.clientHeight,setTimeout(function(){if(b.expandedItem===f){for(var s=0,a=0;a/gi,` -`))),a.appendChild(n),s.appendChild(a)),s.onclick=function(){m.onFocusLine(p)},j.appendChild(s)}),this.dom.validationErrors=b,this.dom.validationErrorsContainer.appendChild(b),this.dom.additionalErrorsIndication.title=W.length+" errors total",this.dom.validationErrorsContainer.clientHeightP[0].length)||(P=S,N=W,this.options.flex));W++);return P?((Z=P[0].match(/\n.*/g))&&(this.yylineno+=Z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Z?Z[Z.length-1].length-1:this.yylloc.last_column+P[0].length},this.yytext+=P[0],this.match+=P[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(P[0].length),this.matched+=P[0],Z=this.performAction.call(this,this.yy,this,O[N],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Z||void 0):this._input===""?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var P=this.next();return P!==void 0?P:this.lex()},begin:function(P){this.conditionStack.push(P)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(P){this.begin(P)},options:{},performAction:function(P,S,N,Z){switch(N){case 0:break;case 1:return 6;case 2:return S.yytext=S.yytext.substr(1,S.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};var X;g.parser=X,g.parse=X.parse.bind(X)},3879:function(ie){function g(){}var X={defaultSelected:!0,width:"auto",disabled:!1,searchable:!0,clearable:!1,sortSelected:!1,allowDeselect:!1,closeOnScroll:!1,nativeDropdown:!1,placeholder:"Select an option...",taggable:!1,tagPlaceholder:"Enter a tag..."},P=(g.prototype={on:function(f,m){this._events=this._events||{},this._events[f]=this._events[f]||[],this._events[f].push(m)},off:function(f,m){this._events=this._events||{},f in this._events&&this._events[f].splice(this._events[f].indexOf(m),1)},emit:function(f){if(this._events=this._events||{},f in this._events)for(var m=0;m"+r.label+""}),P.each(r.children,function(l,o){o.idx=e,n.appendChild(O.call(this,o,n)),e++},this)):(r.idx=e,O.call(this,r),e++)},this),this.config.data&&Array.isArray(this.config.data)&&(w=!(this.data=[]),n=!1,e=0,P.each(this.config.data,function(i,r){S(r,"children")?(w=P.createElement("optgroup",{label:r.text}),n=P.createElement("ul",{class:"selectr-optgroup",role:"group",html:"
  • "+r.text+"
  • "}),P.each(r.children,function(l,o){(p=new Option(o.text,o.value,!1,o.hasOwnProperty("selected")&&o.selected===!0)).disabled=S(o,"disabled"),this.options.push(p),w.appendChild(p),p.idx=e,n.appendChild(O.call(this,p,o)),this.data[e]=o,e++},this)):((p=new Option(r.text,r.value,!1,r.hasOwnProperty("selected")&&r.selected===!0)).disabled=S(r,"disabled"),this.options.push(p),p.idx=e,O.call(this,p,r),this.data[e]=r,e++)},this)),this.setSelected(!0);for(var t=this.navIndex=0;tthis.tree.lastElementChild.idx){this.navIndex=this.tree.lastElementChild.idx;break}if(this.navIndexthis.optsRect.top+this.optsRect.height&&(this.tree.scrollTop=this.tree.scrollTop+(m.top+m.height-(this.optsRect.top+this.optsRect.height))),this.navIndex===this.tree.childElementCount-1&&this.requiresPagination&&W.call(this)):this.navIndex===0?this.tree.scrollTop=0:m.top-this.optsRect.top<0&&(this.tree.scrollTop=this.tree.scrollTop+(m.top-this.optsRect.top)),w&&P.removeClass(w,"active"),P.addClass(this.items[this.navIndex],"active")}else this.navigating=!1}.bind(this),this.events.reset=this.reset.bind(this),(this.config.nativeDropdown||this.mobileDevice)&&(this.container.addEventListener("touchstart",function(m){m.changedTouches[0].target===f.el&&f.toggle()}),(this.config.nativeDropdown||this.mobileDevice)&&this.container.addEventListener("click",function(m){m.preventDefault(),m.stopPropagation(),m.target===f.el&&f.toggle()}),this.el.addEventListener("change",function(m){var b;f.el.multiple?(b=f.getSelectedProperties("idx"),b=function(w,p){for(var s,a=[],n=w.slice(0),e=0;eb?(P.addClass(this.container,"inverted"),this.isInverted=!0):(P.removeClass(this.container,"inverted"),this.isInverted=!1),this.optsRect=P.rect(this.tree)},j.prototype.getOptionByIndex=function(f){return this.options[f]},j.prototype.getOptionByValue=function(f){for(var m=!1,b=0,w=this.options.length;bthis.limit&&1S.EX?((0,w.addClassName)((t=this).frame,"busy"),t.dom.busyContent.innerText=e,setTimeout(function(){n(),(0,w.removeClassName)(t.frame,"busy"),t.dom.busyContent.innerText=""},100)):n()},s.validate=p.validate,s._renderErrors=p._renderErrors,[{mode:"preview",mixin:s,data:"json"}])},6210:function(ie,P,X){X.r(P),X.d(P,{showSortModal:function(){return O}});var P=X(483),S=X.n(P),N=X(7907),Z=X(9791);function O(W,p,j,f){var m=Array.isArray(p)?(0,Z.getChildPaths)(p):[""],b=f&&f.path&&(0,Z.contains)(m,f.path)?f.path:m[0],w=f&&f.direction||"asc",p='
    '+(0,N.Iu)("sort")+"
    "+(0,N.Iu)("sortFieldLabel")+'
    '+(0,N.Iu)("sortDirectionLabel")+'
    ';S()({parent:W,content:p,overlayClass:"jsoneditor-modal-overlay",overlayStyles:{backgroundColor:"rgb(1,1,1)",opacity:.3},modalClass:"jsoneditor-modal jsoneditor-modal-sort"}).afterCreate(function(s){var a=s.modalElem().querySelector("form"),n=s.modalElem().querySelector("#ok"),e=s.modalElem().querySelector("#field"),t=s.modalElem().querySelector("#direction");function i(r){t.value=r,t.className="jsoneditor-button-group jsoneditor-button-group-value-"+t.value}m.forEach(function(r){var l,o=document.createElement("option");o.text=(l=r)===""?"@":l[0]==="."?l.slice(1):l,o.value=r,e.appendChild(o)}),e.value=b||m[0],i(w||"asc"),t.onclick=function(r){i(r.target.getAttribute("data-value"))},n.onclick=function(r){r.preventDefault(),r.stopPropagation(),s.close(),j({path:e.value,direction:t.value})},a&&(a.onsubmit=n.onclick)}).afterClose(function(s){s.destroy()}).show()}},2558:function(ie,S,X){X.r(S),X.d(S,{showTransformModal:function(){return b}});var S=X(483),P=X.n(S),S=X(3879),N=X.n(S),Z=X(7907);function O(w){return(O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p})(w)}function W(w,p,s,a){if(typeof w=="boolean"||w instanceof Boolean||w===null||typeof w=="number"||w instanceof Number||typeof w=="string"||w instanceof String||w instanceof Date)return JSON.stringify(w);if(Array.isArray(w)){for(var n=w,e=p,t=s,i=a,r=e?t+e:void 0,l=e?`[ -`:"[",o=0;oi)return l+"..."}return l+=e?` -`+t+"]":"]"}if(w&&O(w)==="object"){var h,y=w,v=p,t=s,d=a,u=v?t+v:void 0,A=!0,x=v?`{ -`:"{";if(typeof y.toJSON=="function")return W(y.toJSON(),v,t,d);for(h in y)if(function(L,k){return Object.prototype.hasOwnProperty.call(L,k)}(y,h)){var I=y[h];if(A?A=!1:x+=v?`, -`:",",(x=(x+=v?u+'"'+h+'": ':'"'+h+'":')+W(I,v,u,d)).length>d)return x+"..."}return x+=v?` -`+t+"}":"}"}}function M(w,p){for(var s="";0JMESPath query to filter, sort, or transform the JSON data.
    To learn JMESPath, go to the interactive tutorial.';function b(r){var p=r.container,s=r.json,a=r.queryDescription,a=a===void 0?m:a,n=r.createQuery,e=r.executeQuery,t=r.onTransform,i=s,r='