This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new cb5a742 BIGTOP-4186: Introduce postcss for CSS processing (#41)
cb5a742 is described below
commit cb5a7424f59fcd7f3cb3eb7418882144bf16ff34
Author: Fdefined <[email protected]>
AuthorDate: Tue Aug 13 15:29:58 2024 +0800
BIGTOP-4186: Introduce postcss for CSS processing (#41)
---
bigtop-manager-ui/README.md | 39 +-
bigtop-manager-ui/README.zh.md | 39 +-
bigtop-manager-ui/package.json | 13 +-
bigtop-manager-ui/pnpm-lock.yaml | 608 +++++++++++++++++++--
.../{src/utils/enums.ts => postcss.config.js} | 17 +-
bigtop-manager-ui/src/api/component/types.ts | 2 +-
bigtop-manager-ui/src/api/job/types.ts | 8 +-
bigtop-manager-ui/src/api/service/types.ts | 8 -
.../images/svg/carbon-language.svg} | 19 +-
.../images/svg/circle-filled.svg} | 18 +-
bigtop-manager-ui/src/assets/images/svg/plus.svg | 6 +-
.../src/assets/images/svg/restart.svg | 6 +-
.../images/svg/square-filled.svg} | 19 +-
bigtop-manager-ui/src/assets/images/svg/start.svg | 6 +-
bigtop-manager-ui/src/assets/images/svg/stop.svg | 6 +-
.../src/components/alert-info/index.vue | 5 +-
.../src/components/cluster-create/choose-stack.vue | 5 +-
.../src/components/cluster-create/finish.vue | 5 +-
.../src/components/cluster-create/index.vue | 5 +-
.../src/components/cluster-create/install.vue | 5 +-
.../components/cluster-create/set-cluster-name.vue | 5 +-
.../src/components/cluster-create/set-hosts.vue | 5 +-
.../components/cluster-create/set-repository.vue | 13 +-
.../src/components/cluster-info/index.vue | 4 +-
.../components/{ => common}/dot-state/index.vue | 6 +
.../variable.scss => components/common/index.ts} | 26 +-
.../svg-icon.vue => common/svg-icon/index.vue} | 2 +-
.../src/components/dashboard/index.vue | 12 +-
.../src/components/dashboard/tips.vue | 5 +-
.../src/components/job-info/custom-progress.vue | 2 +-
.../src/components/job-info/index.vue | 4 +-
bigtop-manager-ui/src/components/job-info/job.vue | 57 +-
.../src/components/job-info/stage.vue | 22 +-
.../src/components/job-info/task-log.vue | 6 +-
bigtop-manager-ui/src/components/job-info/task.vue | 3 +-
.../src/components/select-lang/index.vue | 7 +-
.../components/service-add/assign-components.vue | 10 +-
.../src/components/service-add/choose-services.vue | 5 +-
.../components/service-add/configure-services.vue | 10 +-
.../src/components/service-add/finish.vue | 5 +-
.../src/components/service-add/index.vue | 5 +-
.../src/components/service-add/install.vue | 8 +-
.../src/components/user-avatar/index.vue | 4 +-
.../src/{utils/enums.ts => enums/state.ts} | 22 +
bigtop-manager-ui/src/layouts/header.vue | 8 +-
bigtop-manager-ui/src/layouts/sider.vue | 8 +-
bigtop-manager-ui/src/main.ts | 17 +-
bigtop-manager-ui/src/pages/hosts/index.vue | 28 +-
bigtop-manager-ui/src/pages/login/index.vue | 32 +-
bigtop-manager-ui/src/pages/service/index.vue | 41 +-
.../src/{main.ts => plugins/index.ts} | 33 +-
bigtop-manager-ui/src/store/user/index.ts | 7 +-
.../styles/default.scss => styles/default.css} | 32 +-
.../src/{utils/enums.ts => styles/function.scss} | 9 +-
.../src/{utils/enums.ts => styles/main.scss} | 9 +-
.../styles/variable.scss => styles/mixins.scss} | 19 +-
.../styles/default.scss => styles/scrollbar.css} | 42 +-
.../src/{utils/enums.ts => styles/variables.scss} | 9 +-
bigtop-manager-ui/vite.config.ts | 2 +-
59 files changed, 874 insertions(+), 509 deletions(-)
diff --git a/bigtop-manager-ui/README.md b/bigtop-manager-ui/README.md
index e6c2373..c930332 100644
--- a/bigtop-manager-ui/README.md
+++ b/bigtop-manager-ui/README.md
@@ -32,21 +32,26 @@ Editor: VsCode
## Project Structure
```
-—————————————————— public static resources
-—————————————————— src project source code
-——————————— API calls the backend interface
-——————————— assets static assets
-——————————— components customize components
-——————————— layouts vue pages
-——————————— locales internationalization
-——————————— pages components
-——————————— router router
-———————————store global persistence
-———————————types data type
-——————————— utils utility function
-——————————— App.vue project root component
-———————————main.ts Project packaging portal
-——————————————————index.html Project page
-——————————————————package.json Package management profile for your project
-——————————————————vite.config.ts Project configuration file
+—————————————————— public static resources
+—————————————————— src project source code
+——————————— api calls the backend interface
+——————————— assets static assets
+——————————— components customize components
+——————————— composables composable
+——————————— directives customize directive
+——————————— layouts overall page layout
+——————————— locales internationalization
+——————————— pages components
+——————————— plugins global registration configuration
+——————————— router router
+——————————— store global persistence
+——————————— styles style file
+——————————— types data type
+——————————— utils utility function
+——————————— App.vue project root component
+——————————— main.ts Project packaging portal
+—————————————————— index.html Project page
+—————————————————— package.json Package management profile for your
project
+—————————————————— vite.config.ts Project configuration file
+—————————————————— postcss.config.ts postcss configuration file
```
diff --git a/bigtop-manager-ui/README.zh.md b/bigtop-manager-ui/README.zh.md
index d0b8c97..241ca73 100644
--- a/bigtop-manager-ui/README.zh.md
+++ b/bigtop-manager-ui/README.zh.md
@@ -32,21 +32,26 @@ Vue:版本3.3.4
## 项目结构
```
-——————————————————public 公共静态资源
-——————————————————src 项目源代码
-———————————api 调用后端接口
-———————————assets 静态资源
-———————————components 自定义组件
-———————————layouts Vue页面
-———————————locales 国际化
-———————————pages 页面组件
-———————————router 路由
-———————————store 全局持久化
-———————————types 数据类型
-———————————utils 工具函数
-———————————App.vue 项目根组件
-———————————main.ts 项目打包入口
-——————————————————index.html 项目页面
-——————————————————package.json 项目的包管理配置文件
-——————————————————vite.config.ts 项目配置文件
+——————————————————public 公共静态资源
+——————————————————src 项目源代码
+——————————— api 调用后端接口
+——————————— assets 静态资源
+——————————— components 自定义组件
+——————————— composables 组合式函数
+——————————— directives 自定义指令
+——————————— layouts 整体页面布局
+——————————— locales 国际化
+——————————— pages 组件
+——————————— plugins 全局注册配置
+——————————— router 路由
+——————————— store 全局持久化
+——————————— styles 样式文件
+——————————— types 数据类型
+——————————— utils 工具函数
+——————————— App.vue 项目根组件
+——————————— main.ts 项目打包入口
+—————————————————— index.html 项目页面
+—————————————————— package.json 项目的包管理配置文件
+—————————————————— vite.config.ts 项目配置文件
+—————————————————— postcss.config.ts postcss 配置文件
```
diff --git a/bigtop-manager-ui/package.json b/bigtop-manager-ui/package.json
index 199e5ee..42cfe4e 100644
--- a/bigtop-manager-ui/package.json
+++ b/bigtop-manager-ui/package.json
@@ -31,10 +31,13 @@
"@typescript-eslint/eslint-plugin": "^6.4.1",
"@typescript-eslint/parser": "^6.4.1",
"@vitejs/plugin-vue": "^4.2.3",
+ "autoprefixer": "^10.4.20",
+ "cssnano": "^7.0.5",
"eslint": "^8.47.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-vue": "^9.17.0",
+ "postcss": "^8.4.41",
"prettier": "^3.0.2",
"sass": "^1.66.1",
"sass-loader": "^13.3.2",
@@ -42,5 +45,13 @@
"vite": "^4.4.5",
"vite-plugin-svg-icons": "^2.0.1",
"vue-tsc": "^1.8.5"
- }
+ },
+ "browserslist": [
+ "defaults",
+ "not ie < 11",
+ "last 2 versions",
+ "> 1%",
+ "iOS 7",
+ "last 3 iOS versions"
+ ]
}
\ No newline at end of file
diff --git a/bigtop-manager-ui/pnpm-lock.yaml b/bigtop-manager-ui/pnpm-lock.yaml
index 850c5e9..4066f70 100644
--- a/bigtop-manager-ui/pnpm-lock.yaml
+++ b/bigtop-manager-ui/pnpm-lock.yaml
@@ -67,6 +67,12 @@ devDependencies:
'@vitejs/plugin-vue':
specifier: ^4.2.3
version: 4.2.3([email protected])([email protected])
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.20([email protected])
+ cssnano:
+ specifier: ^7.0.5
+ version: 7.0.5([email protected])
eslint:
specifier: ^8.47.0
version: 8.47.0
@@ -79,6 +85,9 @@ devDependencies:
eslint-plugin-vue:
specifier: ^9.17.0
version: 9.17.0([email protected])
+ postcss:
+ specifier: ^8.4.41
+ version: 8.4.41
prettier:
specifier: ^3.0.2
version: 3.0.2
@@ -529,7 +538,7 @@ packages:
fast-glob: 3.3.1
is-glob: 4.0.3
open: 9.1.0
- picocolors: 1.0.0
+ picocolors: 1.0.1
tslib: 2.6.2
dev: true
@@ -778,7 +787,7 @@ packages:
'@vue/shared': 3.3.4
estree-walker: 2.0.2
magic-string: 0.30.3
- postcss: 8.4.28
+ postcss: 8.4.41
source-map-js: 1.0.2
/@vue/[email protected]:
@@ -997,24 +1006,24 @@ packages:
resolution: {integrity:
sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
dev: true
- /[email protected]([email protected]):
+ /[email protected]([email protected]):
resolution: {integrity:
sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
peerDependencies:
acorn: ^8
dependencies:
- acorn: 8.10.0
+ acorn: 8.12.1
dev: true
- /[email protected]([email protected]):
+ /[email protected]([email protected]):
resolution: {integrity:
sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.10.0
+ acorn: 8.12.1
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ /[email protected]:
+ resolution: {integrity:
sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
@@ -1171,6 +1180,22 @@ packages:
hasBin: true
dev: true
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.23.3
+ caniuse-lite: 1.0.30001651
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.1
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -1272,15 +1297,15 @@ packages:
fill-range: 7.0.1
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==}
+ /[email protected]:
+ resolution: {integrity:
sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001522
- electron-to-chromium: 1.4.499
- node-releases: 2.0.13
- update-browserslist-db: 1.0.11([email protected])
+ caniuse-lite: 1.0.30001651
+ electron-to-chromium: 1.5.6
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.0([email protected])
dev: true
/[email protected]:
@@ -1325,10 +1350,23 @@ packages:
engines: {node: '>=6'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.23.3
+ caniuse-lite: 1.0.30001522
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
@@ -1414,6 +1452,10 @@ packages:
resolution: {integrity:
sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
@@ -1473,6 +1515,15 @@ packages:
resolution: {integrity:
sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
dev: false
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
dependencies:
@@ -1483,6 +1534,16 @@ packages:
nth-check: 2.1.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ nth-check: 2.1.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
engines: {node: '>=8.0.0'}
@@ -1491,6 +1552,22 @@ packages:
source-map: 0.6.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
@@ -1502,6 +1579,65 @@ packages:
hasBin: true
dev: true
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-Jbzja0xaKwc5JzxPQoc+fotKpYtWEu4wQLMQe29CM0FjjdRjA4omvbGHl2DTGgARKxSTpPssBsok+ixv8uTBqw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ css-declaration-sorter: 7.2.0([email protected])
+ cssnano-utils: 5.0.0([email protected])
+ postcss: 8.4.41
+ postcss-calc: 10.0.1([email protected])
+ postcss-colormin: 7.0.2([email protected])
+ postcss-convert-values: 7.0.3([email protected])
+ postcss-discard-comments: 7.0.2([email protected])
+ postcss-discard-duplicates: 7.0.1([email protected])
+ postcss-discard-empty: 7.0.0([email protected])
+ postcss-discard-overridden: 7.0.0([email protected])
+ postcss-merge-longhand: 7.0.3([email protected])
+ postcss-merge-rules: 7.0.3([email protected])
+ postcss-minify-font-values: 7.0.0([email protected])
+ postcss-minify-gradients: 7.0.0([email protected])
+ postcss-minify-params: 7.0.2([email protected])
+ postcss-minify-selectors: 7.0.3([email protected])
+ postcss-normalize-charset: 7.0.0([email protected])
+ postcss-normalize-display-values: 7.0.0([email protected])
+ postcss-normalize-positions: 7.0.0([email protected])
+ postcss-normalize-repeat-style: 7.0.0([email protected])
+ postcss-normalize-string: 7.0.0([email protected])
+ postcss-normalize-timing-functions: 7.0.0([email protected])
+ postcss-normalize-unicode: 7.0.2([email protected])
+ postcss-normalize-url: 7.0.0([email protected])
+ postcss-normalize-whitespace: 7.0.0([email protected])
+ postcss-ordered-values: 7.0.1([email protected])
+ postcss-reduce-initial: 7.0.2([email protected])
+ postcss-reduce-transforms: 7.0.0([email protected])
+ postcss-svgo: 7.0.1([email protected])
+ postcss-unique-selectors: 7.0.2([email protected])
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-Aq0vqBLtpTT5Yxj+hLlLfNPFuRQCDIjx5JQAhhaedQKLNDvDGeVziF24PS+S1f0Z5KCxWvw0QVI3VNHNBITxVQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ cssnano-preset-default: 7.0.5([email protected])
+ lilconfig: 3.1.2
+ postcss: 8.4.41
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
engines: {node: '>=8.0.0'}
@@ -1509,6 +1645,13 @@ packages:
css-tree: 1.1.3
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ dependencies:
+ css-tree: 2.2.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
@@ -1688,6 +1831,14 @@ packages:
entities: 2.2.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
dev: true
@@ -1709,6 +1860,13 @@ packages:
domelementtype: 2.3.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
dependencies:
@@ -1724,6 +1882,14 @@ packages:
domhandler: 4.3.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==}
dependencies:
@@ -1731,8 +1897,8 @@ packages:
zrender: 5.4.4
dev: false
- /[email protected]:
- resolution: {integrity:
sha512-0NmjlYBLKVHva4GABWAaHuPJolnDuL0AhV3h1hES6rcLCWEIbRL6/8TghfsVwkx6TEroQVdliX7+aLysUpKvjw==}
+ /[email protected]:
+ resolution: {integrity:
sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==}
dev: true
/[email protected]:
@@ -1756,6 +1922,11 @@ packages:
resolution: {integrity:
sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
engines: {node: '>= 0.4'}
@@ -1879,8 +2050,8 @@ packages:
'@esbuild/win32-x64': 0.18.20
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ /[email protected]:
+ resolution: {integrity:
sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
dev: true
@@ -2013,8 +2184,8 @@ packages:
resolution: {integrity:
sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.10.0
- acorn-jsx: 5.3.2([email protected])
+ acorn: 8.12.1
+ acorn-jsx: 5.3.2([email protected])
eslint-visitor-keys: 3.4.3
dev: true
@@ -2243,6 +2414,10 @@ packages:
mime-types: 2.1.35
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
engines: {node: '>=0.10.0'}
@@ -2893,6 +3068,11 @@ packages:
type-check: 0.4.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ engines: {node: '>=14'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
@@ -2918,10 +3098,18 @@ packages:
resolution: {integrity:
sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@@ -2969,6 +3157,14 @@ packages:
resolution: {integrity:
sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==}
engines: {node: '>=4'}
@@ -3071,8 +3267,8 @@ packages:
resolution: {integrity:
sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ /[email protected]:
+ resolution: {integrity:
sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -3107,8 +3303,8 @@ packages:
resolution: {integrity:
sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+ /[email protected]:
+ resolution: {integrity:
sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
dev: true
/[email protected]:
@@ -3116,6 +3312,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -3283,6 +3484,10 @@ packages:
/[email protected]:
resolution: {integrity:
sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
/[email protected]:
resolution: {integrity:
sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -3325,6 +3530,248 @@ packages:
engines: {node: '>= 0.4'}
dev: true
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-pp1Z3FxtxA+xHAoWXcOXgnBN1WPu4ZiJ5LWGjKyf9MMreagAsaTUtnqFK1y1sHhyJddAkYTPu6XSuLgb3oYCjw==}
+ engines: {node: ^18.12 || ^20.9 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.38
+ dependencies:
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-yJhocjCs2SQer0uZ9lXTMOwDowbxvhwFVrZeS6NPEij/XXthl73ggUmfwVvJM+Vaj5gtCKJV1jiUu4IhAUkX/Q==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-/Hje9Ls1IYcB9duELO/AyDUJI6aQVY3h5Rj1ziXgaLYCTi1iVBLnjg/TS0D6NszR/kDG6I86OwLmAYe+bvJjiQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-8waYomFxshdv6M9Em3QRM9MettRLDRcH2JQi2l0Z1KlYD/vhal3gbkeSES0NuACXOlZBB0V/B0AseHZaklzWOA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ stylehacks: 7.0.3([email protected])
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-2eSas2p3voPxNfdI5sQrvIkMaeUHpVc3EezgVs18hz/wRTQAC9U99tp9j3W5Jx9/L3qHkEDvizEx/LdnmumIvQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ caniuse-api: 3.0.0
+ cssnano-utils: 5.0.0([email protected])
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 5.0.0([email protected])
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ cssnano-utils: 5.0.0([email protected])
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-SxTgUQSgBk6wEqzQZKEv1xQYIp9UBju6no9q+npohzSdhuSICQdkqmD1UMKkZWItS3olJSJMDDEY9WOJ5oGJew==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ cssesc: 3.0.0
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ cssnano-utils: 5.0.0([email protected])
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
/[email protected]([email protected]):
resolution: {integrity:
sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==}
peerDependencies:
@@ -3333,6 +3780,27 @@ packages:
postcss: 5.2.18
dev: true
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ caniuse-api: 3.0.0
+ postcss: 8.4.41
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
engines: {node: '>=4'}
@@ -3341,6 +3809,39 @@ packages:
util-deprecate: 1.0.2
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >= 18}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-value-parser: 4.2.0
+ svgo: 3.3.2
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-CjSam+7Vf8cflJQsHrMS0P2hmy9u0+n/P001kb5eAszLmhjMqrt/i5AqQuNFihhViwDvEAezqTmXqaYXL2ugMw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==}
engines: {node: '>=0.12'}
@@ -3351,13 +3852,13 @@ packages:
supports-color: 3.2.3
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==}
+ /[email protected]:
+ resolution: {integrity:
sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
- nanoid: 3.3.6
- picocolors: 1.0.0
- source-map-js: 1.0.2
+ nanoid: 3.3.7
+ picocolors: 1.0.1
+ source-map-js: 1.2.0
/[email protected]:
resolution: {integrity:
sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==}
@@ -3738,6 +4239,10 @@ packages:
resolution: {integrity:
sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
+ /[email protected]:
+ resolution: {integrity:
sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
/[email protected]:
resolution: {integrity:
sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
deprecated: See https://github.com/lydell/source-map-resolve#deprecated
@@ -3857,6 +4362,17 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-4DqtecvI/Nd+2BCvW9YEF6lhBN5UM50IJ1R3rnEAhBwbCKf4VehRf+uqvnVArnBayjYD/WtT3g0G/HSRxWfTRg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.3
+ postcss: 8.4.41
+ postcss-selector-parser: 6.1.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==}
dev: false
@@ -3921,6 +4437,20 @@ packages:
stable: 0.1.8
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 5.1.0
+ css-tree: 2.3.1
+ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -3964,7 +4494,7 @@ packages:
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.5
- acorn: 8.10.0
+ acorn: 8.12.1
commander: 2.20.3
source-map-support: 0.5.21
dev: true
@@ -4159,15 +4689,15 @@ packages:
engines: {node: '>=8'}
dev: true
- /[email protected]([email protected]):
- resolution: {integrity:
sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.21.10
- escalade: 3.1.1
- picocolors: 1.0.0
+ browserslist: 4.23.3
+ escalade: 3.1.2
+ picocolors: 1.0.1
dev: true
/[email protected]:
@@ -4243,7 +4773,7 @@ packages:
dependencies:
'@types/node': 20.5.3
esbuild: 0.18.20
- postcss: 8.4.28
+ postcss: 8.4.41
rollup: 3.28.1
sass: 1.66.1
optionalDependencies:
@@ -4392,9 +4922,9 @@ packages:
'@webassemblyjs/ast': 1.11.6
'@webassemblyjs/wasm-edit': 1.11.6
'@webassemblyjs/wasm-parser': 1.11.6
- acorn: 8.10.0
- acorn-import-assertions: 1.9.0([email protected])
- browserslist: 4.21.10
+ acorn: 8.12.1
+ acorn-import-assertions: 1.9.0([email protected])
+ browserslist: 4.23.3
chrome-trace-event: 1.0.3
enhanced-resolve: 5.15.0
es-module-lexer: 1.3.0
diff --git a/bigtop-manager-ui/src/utils/enums.ts
b/bigtop-manager-ui/postcss.config.js
similarity index 81%
copy from bigtop-manager-ui/src/utils/enums.ts
copy to bigtop-manager-ui/postcss.config.js
index 9064f6d..b98e52a 100644
--- a/bigtop-manager-ui/src/utils/enums.ts
+++ b/bigtop-manager-ui/postcss.config.js
@@ -17,9 +17,14 @@
* under the License.
*/
-export type MaintainState =
- | 'Uninstalled'
- | 'Installed'
- | 'Maintained'
- | 'Started'
- | 'Stopped'
+const autoprefixer = require('autoprefixer')
+const cssnano = require('cssnano')
+
+module.exports = {
+ plugins: [
+ autoprefixer(),
+ cssnano({
+ preset: 'default'
+ })
+ ]
+}
diff --git a/bigtop-manager-ui/src/api/component/types.ts
b/bigtop-manager-ui/src/api/component/types.ts
index 7e89812..a723817 100644
--- a/bigtop-manager-ui/src/api/component/types.ts
+++ b/bigtop-manager-ui/src/api/component/types.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { MaintainState } from '@/utils/enums.ts'
+import { MaintainState } from '@/enums/state'
export interface ComponentVO {
id: number
diff --git a/bigtop-manager-ui/src/api/job/types.ts
b/bigtop-manager-ui/src/api/job/types.ts
index 0674e9a..81aaf64 100644
--- a/bigtop-manager-ui/src/api/job/types.ts
+++ b/bigtop-manager-ui/src/api/job/types.ts
@@ -17,13 +17,7 @@
* under the License.
*/
-export enum State {
- Pending = '#1677ff',
- Processing = '#1677fe',
- Successful = '#52c41a',
- Failed = '#ff4d4f',
- Canceled = '#80868b'
-}
+import { State } from '@/enums/state'
export type StateType = keyof typeof State
diff --git a/bigtop-manager-ui/src/api/service/types.ts
b/bigtop-manager-ui/src/api/service/types.ts
index cd7996a..d6a5d0d 100644
--- a/bigtop-manager-ui/src/api/service/types.ts
+++ b/bigtop-manager-ui/src/api/service/types.ts
@@ -35,11 +35,3 @@ export interface QuickLinkVO {
displayName: string
url: string
}
-
-export enum StateColor {
- Installed = '#2196F3',
- Started = '#52c41a',
- Maintained = '#d9d9d9',
- Uninstalled = '#f0f964',
- Stopped = '#ff4d4f'
-}
diff --git a/bigtop-manager-ui/src/components/icons/carbon-language.vue
b/bigtop-manager-ui/src/assets/images/svg/carbon-language.svg
similarity index 61%
rename from bigtop-manager-ui/src/components/icons/carbon-language.vue
rename to bigtop-manager-ui/src/assets/images/svg/carbon-language.svg
index 933621a..3398805 100644
--- a/bigtop-manager-ui/src/components/icons/carbon-language.vue
+++ b/bigtop-manager-ui/src/assets/images/svg/carbon-language.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -16,17 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<template>
- <svg
- xmlns="http://www.w3.org/2000/svg"
- width="1em"
- height="1em"
- viewBox="0 0 32 32"
- >
- <path
- fill="currentColor"
- d="M27.85 29H30l-6-15h-2.35l-6
15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71
14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3
5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0
0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"
- />
- </svg>
-</template>
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0
32 32">
+ <path fill="currentColor"
+ d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45
23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26
9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0
0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64
17.64 0 0 0 14.8 7z" />
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/components/icons/circle-filled.vue
b/bigtop-manager-ui/src/assets/images/svg/circle-filled.svg
similarity index 75%
rename from bigtop-manager-ui/src/components/icons/circle-filled.vue
rename to bigtop-manager-ui/src/assets/images/svg/circle-filled.svg
index 15c8ff2..abc9dc7 100644
--- a/bigtop-manager-ui/src/components/icons/circle-filled.vue
+++ b/bigtop-manager-ui/src/assets/images/svg/circle-filled.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -16,17 +17,6 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<template>
- <svg
- xmlns="http://www.w3.org/2000/svg"
- width="1em"
- height="1em"
- viewBox="0 0 1024 1024"
- >
- <path
- fill="currentColor"
- d="M512 16C238 16 16 238 16 512s222 496 496 496 496-222 496-496S786 16
512 16z"
- />
- </svg>
-</template>
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0
1024 1024">
+ <path fill="currentColor" d="M512 16C238 16 16 238 16 512s222 496 496 496
496-222 496-496S786 16 512 16z" />
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/images/svg/plus.svg
b/bigtop-manager-ui/src/assets/images/svg/plus.svg
index b464b3f..c5a659b 100644
--- a/bigtop-manager-ui/src/assets/images/svg/plus.svg
+++ b/bigtop-manager-ui/src/assets/images/svg/plus.svg
@@ -17,9 +17,9 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394248439"
- class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1160"
- xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg t="1722394248439" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1160"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
<path
d="M512 853.333333c-25.6
0-42.666667-17.066667-42.666667-42.666666V213.333333c0-25.6 17.066667-42.666667
42.666667-42.666666s42.666667 17.066667 42.666667 42.666666v597.333334c0
25.6-17.066667 42.666667-42.666667 42.666666z"
p-id="1161"></path>
diff --git a/bigtop-manager-ui/src/assets/images/svg/restart.svg
b/bigtop-manager-ui/src/assets/images/svg/restart.svg
index 1a23acd..bfc4bea 100644
--- a/bigtop-manager-ui/src/assets/images/svg/restart.svg
+++ b/bigtop-manager-ui/src/assets/images/svg/restart.svg
@@ -17,9 +17,9 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394200089"
- class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1652"
- xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg t="1722394200089" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1652"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
<path
d="M512 213.333333V42.666667L298.666667 256l213.333333
213.333333V298.666667c141.226667 0 256 114.773333 256 256s-114.773333 256-256
256-256-114.773333-256-256H170.666667c0 188.586667 152.746667 341.333333
341.333333 341.333333s341.333333-152.746667
341.333333-341.333333-152.746667-341.333333-341.333333-341.333334z"
fill="#333333" p-id="1653"></path>
diff --git a/bigtop-manager-ui/src/components/icons/square-filled.vue
b/bigtop-manager-ui/src/assets/images/svg/square-filled.svg
similarity index 63%
rename from bigtop-manager-ui/src/components/icons/square-filled.vue
rename to bigtop-manager-ui/src/assets/images/svg/square-filled.svg
index 68397ec..197f3b4 100644
--- a/bigtop-manager-ui/src/components/icons/square-filled.vue
+++ b/bigtop-manager-ui/src/assets/images/svg/square-filled.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
@@ -16,17 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<template>
- <svg
- xmlns="http://www.w3.org/2000/svg"
- width="1em"
- height="1em"
- viewBox="0 0 1024 1024"
- >
- <path
- fill="currentColor"
- d="M252.068571 906.496h520.283429c89.581714 0 134.144-44.562286
134.144-132.845714V250.331429c0-88.283429-44.562286-132.845714-134.144-132.845715H252.068571c-89.142857
0-134.582857 44.141714-134.582857 132.845715V773.668571c0 88.704 45.44
132.845714 134.582857 132.845715z"
- />
- </svg>
-</template>
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0
1024 1024">
+ <path fill="currentColor"
+ d="M252.068571 906.496h520.283429c89.581714 0 134.144-44.562286
134.144-132.845714V250.331429c0-88.283429-44.562286-132.845714-134.144-132.845715H252.068571c-89.142857
0-134.582857 44.141714-134.582857 132.845715V773.668571c0 88.704 45.44
132.845714 134.582857 132.845715z" />
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/images/svg/start.svg
b/bigtop-manager-ui/src/assets/images/svg/start.svg
index 0366b3a..360c7ff 100644
--- a/bigtop-manager-ui/src/assets/images/svg/start.svg
+++ b/bigtop-manager-ui/src/assets/images/svg/start.svg
@@ -17,9 +17,9 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722396617369"
- class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1344"
- xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg t="1722396617369" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1344"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
<path
d="M810.4 465.8 253.6 134.4c-6.8-4-13.8-6.4-21.8-6.4-21.8 0-39.6 18-39.6
40L192 168l0 688 0.2 0c0 22 17.8 40 39.6 40 8.2 0 15-2.8
22.4-6.8l556.2-331c13.2-11 21.6-27.6 21.6-46.2C832 493.4 823.6 477 810.4 465.8z"
p-id="1345"></path>
diff --git a/bigtop-manager-ui/src/assets/images/svg/stop.svg
b/bigtop-manager-ui/src/assets/images/svg/stop.svg
index 477e203..734b035 100644
--- a/bigtop-manager-ui/src/assets/images/svg/stop.svg
+++ b/bigtop-manager-ui/src/assets/images/svg/stop.svg
@@ -17,9 +17,9 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394157011"
- class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1130"
- xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg t="1722394157011" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1130"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
<path
d="M256 192h512c35.392 0 64 28.608 64 64v512c0 35.392-28.608 64-64
64H256c-35.392 0-64-28.608-64-64V256c0-35.392 28.608-64 64-64z"
fill="#333333" p-id="1131"></path>
diff --git a/bigtop-manager-ui/src/components/alert-info/index.vue
b/bigtop-manager-ui/src/components/alert-info/index.vue
index 6f9c4f6..093bf30 100644
--- a/bigtop-manager-ui/src/components/alert-info/index.vue
+++ b/bigtop-manager-ui/src/components/alert-info/index.vue
@@ -20,7 +20,6 @@
<script setup lang="ts">
import { BellOutlined } from '@ant-design/icons-vue'
import { computed, ref } from 'vue'
- import DotState from '@/components/dot-state/index.vue'
import dayjs from 'dayjs'
import customParseFormat from 'dayjs/plugin/customParseFormat'
const visible = ref(false)
@@ -88,7 +87,7 @@
font-size: 16px;
cursor: pointer;
border-radius: 50%;
- @include flex(center, center);
+ @include flexbox($justify: center, $align: center);
&:hover {
background-color: var(--hover-color);
@@ -110,7 +109,7 @@
li {
padding: 10px;
cursor: pointer;
- @include flex(center, null);
+ @include flexbox($justify: center);
&:hover {
background-color: var(--hover-color);
}
diff --git a/bigtop-manager-ui/src/components/cluster-create/choose-stack.vue
b/bigtop-manager-ui/src/components/cluster-create/choose-stack.vue
index 61f689e..11aee37 100644
--- a/bigtop-manager-ui/src/components/cluster-create/choose-stack.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/choose-stack.vue
@@ -105,10 +105,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
diff --git a/bigtop-manager-ui/src/components/cluster-create/finish.vue
b/bigtop-manager-ui/src/components/cluster-create/finish.vue
index 2e60680..53d6573 100644
--- a/bigtop-manager-ui/src/components/cluster-create/finish.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/finish.vue
@@ -48,10 +48,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: column, $justify: center, $align: center);
align-content: center;
height: 100%;
}
diff --git a/bigtop-manager-ui/src/components/cluster-create/index.vue
b/bigtop-manager-ui/src/components/cluster-create/index.vue
index b119036..6c9e2bd 100644
--- a/bigtop-manager-ui/src/components/cluster-create/index.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/index.vue
@@ -219,10 +219,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: row, $justify: center, $align: center);
.step {
width: 15%;
diff --git a/bigtop-manager-ui/src/components/cluster-create/install.vue
b/bigtop-manager-ui/src/components/cluster-create/install.vue
index 4a0aef6..6f31ebe 100644
--- a/bigtop-manager-ui/src/components/cluster-create/install.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/install.vue
@@ -137,10 +137,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
diff --git
a/bigtop-manager-ui/src/components/cluster-create/set-cluster-name.vue
b/bigtop-manager-ui/src/components/cluster-create/set-cluster-name.vue
index 9e43ace..d17f402 100644
--- a/bigtop-manager-ui/src/components/cluster-create/set-cluster-name.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/set-cluster-name.vue
@@ -73,10 +73,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: column, $justify: center, $align: center);
align-content: center;
height: 100%;
}
diff --git a/bigtop-manager-ui/src/components/cluster-create/set-hosts.vue
b/bigtop-manager-ui/src/components/cluster-create/set-hosts.vue
index 4443fd5..2842238 100644
--- a/bigtop-manager-ui/src/components/cluster-create/set-hosts.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/set-hosts.vue
@@ -162,10 +162,7 @@
</template>
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
height: 100%;
.title {
diff --git a/bigtop-manager-ui/src/components/cluster-create/set-repository.vue
b/bigtop-manager-ui/src/components/cluster-create/set-repository.vue
index 5711eb6..873c673 100644
--- a/bigtop-manager-ui/src/components/cluster-create/set-repository.vue
+++ b/bigtop-manager-ui/src/components/cluster-create/set-repository.vue
@@ -115,10 +115,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
@@ -132,10 +129,8 @@
position: relative;
.editable-cell-input-wrapper {
+ @include flexbox($justify: center, $align: center);
padding-right: 24px;
- display: flex;
- justify-content: center;
- align-items: center;
.editable-cell-icon-check {
position: absolute;
@@ -151,9 +146,7 @@
}
.editable-cell-text-wrapper {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
padding: 5px 24px 5px 5px;
.editable-cell-icon {
diff --git a/bigtop-manager-ui/src/components/cluster-info/index.vue
b/bigtop-manager-ui/src/components/cluster-info/index.vue
index 9ed9537..d35026c 100644
--- a/bigtop-manager-ui/src/components/cluster-info/index.vue
+++ b/bigtop-manager-ui/src/components/cluster-info/index.vue
@@ -51,9 +51,7 @@
<style lang="scss" scoped>
.icon {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
padding: 0 0.5rem;
border-radius: 6px;
cursor: pointer;
diff --git a/bigtop-manager-ui/src/components/dot-state/index.vue
b/bigtop-manager-ui/src/components/common/dot-state/index.vue
similarity index 93%
rename from bigtop-manager-ui/src/components/dot-state/index.vue
rename to bigtop-manager-ui/src/components/common/dot-state/index.vue
index 83dd890..f0f6ae7 100644
--- a/bigtop-manager-ui/src/components/dot-state/index.vue
+++ b/bigtop-manager-ui/src/components/common/dot-state/index.vue
@@ -60,6 +60,12 @@
</script>
<style lang="scss" scoped>
+ @mixin dot($width, $height, $color) {
+ width: $width;
+ height: $height;
+ background: $color;
+ border-radius: 50%;
+ }
.dot-state {
&::before {
content: '';
diff --git a/bigtop-manager-ui/src/assets/styles/variable.scss
b/bigtop-manager-ui/src/components/common/index.ts
similarity index 72%
copy from bigtop-manager-ui/src/assets/styles/variable.scss
copy to bigtop-manager-ui/src/components/common/index.ts
index a99e822..ef7b24c 100644
--- a/bigtop-manager-ui/src/assets/styles/variable.scss
+++ b/bigtop-manager-ui/src/components/common/index.ts
@@ -1,4 +1,4 @@
-/*!
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,15 +17,21 @@
* under the License.
*/
-@mixin dot($width, $height, $color) {
- width: $width;
- height: $height;
- background: $color;
- border-radius: 50%;
+import type { App } from 'vue'
+import SvgIcon from './svg-icon/index.vue'
+import DotState from './dot-state/index.vue'
+
+const comments = {
+ SvgIcon,
+ DotState
+}
+
+const install = (app: App) => {
+ for (const [key, comp] of Object.entries(comments)) {
+ app.component(key, comp)
+ }
}
-@mixin flex($row: null, $col: null) {
- display: flex;
- justify-content: $row;
- align-items: $col;
+export default {
+ install
}
diff --git a/bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
b/bigtop-manager-ui/src/components/common/svg-icon/index.vue
similarity index 98%
rename from bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
rename to bigtop-manager-ui/src/components/common/svg-icon/index.vue
index 4255c8f..e0710e1 100644
--- a/bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
+++ b/bigtop-manager-ui/src/components/common/svg-icon/index.vue
@@ -52,7 +52,7 @@
.svg-icon {
height: 1.2em;
width: 1.2em;
- margin-right: 6px;
+ margin: 0 6px;
vertical-align: -0.25em;
overflow: hidden;
}
diff --git a/bigtop-manager-ui/src/components/dashboard/index.vue
b/bigtop-manager-ui/src/components/dashboard/index.vue
index 9b6eff3..cd440c2 100644
--- a/bigtop-manager-ui/src/components/dashboard/index.vue
+++ b/bigtop-manager-ui/src/components/dashboard/index.vue
@@ -293,9 +293,7 @@
min-height: 540px;
.statistics {
- display: flex;
- justify-content: space-between;
- align-items: center;
+ @include flexbox($justify: space-between, $align: center);
.card {
width: 20%;
@@ -311,9 +309,7 @@
}
.charts {
- display: flex;
- justify-content: space-between;
- align-items: center;
+ @include flexbox($justify: space-between, $align: center);
.chart {
width: 45%;
@@ -322,9 +318,7 @@
}
.host-link {
- display: flex;
- flex-direction: column;
- align-items: end;
+ @include flexbox($direction: column, $align: end);
margin-bottom: 1.5rem;
}
}
diff --git a/bigtop-manager-ui/src/components/dashboard/tips.vue
b/bigtop-manager-ui/src/components/dashboard/tips.vue
index 39dba8e..5d67ba7 100644
--- a/bigtop-manager-ui/src/components/dashboard/tips.vue
+++ b/bigtop-manager-ui/src/components/dashboard/tips.vue
@@ -42,10 +42,7 @@
<style scoped lang="scss">
.tour {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: column, $justify: center, $align: center);
align-content: center;
min-height: 540px;
}
diff --git a/bigtop-manager-ui/src/components/job-info/custom-progress.vue
b/bigtop-manager-ui/src/components/job-info/custom-progress.vue
index d03409f..dba159a 100644
--- a/bigtop-manager-ui/src/components/job-info/custom-progress.vue
+++ b/bigtop-manager-ui/src/components/job-info/custom-progress.vue
@@ -19,7 +19,7 @@
<script lang="ts" setup>
import { computed } from 'vue'
- import { State } from '@/api/job/types'
+ import { State } from '@/enums/state.ts'
import {
MinusCircleFilled as Canceled,
CheckCircleFilled as Successful,
diff --git a/bigtop-manager-ui/src/components/job-info/index.vue
b/bigtop-manager-ui/src/components/job-info/index.vue
index b4ebdac..1d902ee 100644
--- a/bigtop-manager-ui/src/components/job-info/index.vue
+++ b/bigtop-manager-ui/src/components/job-info/index.vue
@@ -41,9 +41,7 @@
<style lang="scss" scoped>
.icon {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
font-size: 16px;
cursor: pointer;
border-radius: 50%;
diff --git a/bigtop-manager-ui/src/components/job-info/job.vue
b/bigtop-manager-ui/src/components/job-info/job.vue
index 24a158a..af0a6f1 100644
--- a/bigtop-manager-ui/src/components/job-info/job.vue
+++ b/bigtop-manager-ui/src/components/job-info/job.vue
@@ -18,17 +18,11 @@
-->
<script setup lang="ts">
- import { ref, watch, computed, toRefs, nextTick } from 'vue'
- import { useClusterStore } from '@/store/cluster'
+ import { ref, watch, computed, toRefs, nextTick, watchEffect } from 'vue'
+ import { useClusterStore } from '@/store/cluster/index.ts'
import { storeToRefs } from 'pinia'
- import {
- JobVO,
- StageVO,
- TaskVO,
- OuterData,
- Pagination
- } from '@/api/job/types.ts'
- import { getJobs } from '@/api/job'
+ import { JobVO, StageVO, TaskVO, OuterData } from '@/api/job/types.ts'
+ import { getJobs } from '@/api/job/index.ts'
import { Pausable, useIntervalFn } from '@vueuse/core'
import { MONITOR_SCHEDULE_INTERVAL } from '@/utils/constant.ts'
import CustomProgress from './custom-progress.vue'
@@ -107,26 +101,22 @@
})
watch(visible, (val) => {
- if (val) {
- resetState()
- loading.value = true
- checkDataOrigin(outerData.value ? true : false)
- }
+ if (!val) return
+ resetState()
+ loading.value = true
+ checkDataOrigin(outerData.value ? true : false)
})
- watch(outerData, (val) => {
- if (!val) return
- jobs.value = val.meta as any
+ watchEffect(() => {
+ if (!outerData.value) return
+ jobs.value = outerData.value.meta as any
})
- watch(jobs, (val) => {
- if (val) {
- const len = breadcrumbs.value.length
- const idxId = breadcrumbs.value[len - 1]?.id
- if (idxId) {
- stages.value = val.find((v: JobVO) => v.id == idxId)?.stages || []
- }
- }
+ watchEffect(() => {
+ if (!jobs.value) return
+ const id = breadcrumbs.value[breadcrumbs.value.length - 1]?.id
+ id &&
+ (stages.value = jobs.value.find((v: JobVO) => v.id == id)?.stages || [])
})
const checkDataOrigin = (isOuter = false) => {
@@ -154,12 +144,12 @@
const getJobsList = async () => {
try {
- const params = {
- pageNum: paginationProps.value.current,
- pageSize: paginationProps.value.pageSize,
+ const { current, pageSize } = paginationProps.value
+ const { content, total } = await getJobs(clusterId.value, {
+ pageNum: current as number,
+ pageSize: pageSize as number,
sort: 'desc'
- } as Pagination
- const { content, total } = await getJobs(clusterId.value, params)
+ })
jobs.value = content.map((v) => ({ ...v }))
paginationProps.value.total = total
loading.value = false
@@ -293,10 +283,7 @@
<style lang="scss" scoped>
.footer-btns {
- display: flex;
- align-items: center;
- justify-content: space-between;
- flex-wrap: wrap;
+ @include flexbox($justify: space-between, $wrap: wrap, $align: center);
}
.logs-wait-msg {
diff --git a/bigtop-manager-ui/src/components/job-info/stage.vue
b/bigtop-manager-ui/src/components/job-info/stage.vue
index 183bfac..30a2691 100644
--- a/bigtop-manager-ui/src/components/job-info/stage.vue
+++ b/bigtop-manager-ui/src/components/job-info/stage.vue
@@ -19,7 +19,7 @@
<script lang="ts" setup>
import { StageVO } from '@/api/job/types.ts'
- import { watch } from 'vue'
+ import { watchEffect } from 'vue'
import CustomProgress from './custom-progress.vue'
import useBaseTable from '@/composables/use-base-table'
import type { TableColumnType } from 'ant-design-vue'
@@ -33,20 +33,12 @@
const baseTable = useBaseTable<StageVO>(props.columns, props.stages)
const { dataSource, columnsProp, loading, paginationProps, onChange } =
baseTable
- watch(
- () => props.stages,
- (val) => {
- if (val.length == 0) {
- loading.value = true
- } else {
- loading.value = false
- }
- },
- {
- immediate: true,
- deep: true
- }
- )
+
+ watchEffect(() => {
+ dataSource.value = props.stages
+ loading.value = false
+ })
+
const emits = defineEmits(['clickStage'])
const clickStage = (record: StageVO) => {
emits('clickStage', record)
diff --git a/bigtop-manager-ui/src/components/job-info/task-log.vue
b/bigtop-manager-ui/src/components/job-info/task-log.vue
index 36f1bfd..d41e122 100644
--- a/bigtop-manager-ui/src/components/job-info/task-log.vue
+++ b/bigtop-manager-ui/src/components/job-info/task-log.vue
@@ -120,14 +120,12 @@
<style scoped lang="scss">
.logs {
height: 50vh;
- display: flex;
- flex-direction: column;
+ @include flexbox($direction: column);
&_header {
font-size: 16px;
font-weight: 600;
margin: 0 0 10px 0;
- display: flex;
- justify-content: space-between;
+ @include flexbox($justify: space-between);
.copy-button {
margin-left: 3px;
diff --git a/bigtop-manager-ui/src/components/job-info/task.vue
b/bigtop-manager-ui/src/components/job-info/task.vue
index 084c607..b3757b8 100644
--- a/bigtop-manager-ui/src/components/job-info/task.vue
+++ b/bigtop-manager-ui/src/components/job-info/task.vue
@@ -18,7 +18,8 @@
-->
<script setup lang="ts">
- import { TaskVO, State } from '@/api/job/types.ts'
+ import { TaskVO } from '@/api/job/types.ts'
+ import { State } from '@/enums/state'
import useBaseTable from '@/composables/use-base-table'
import type { TableColumnType } from 'ant-design-vue'
diff --git a/bigtop-manager-ui/src/components/select-lang/index.vue
b/bigtop-manager-ui/src/components/select-lang/index.vue
index 215b580..f426cd9 100644
--- a/bigtop-manager-ui/src/components/select-lang/index.vue
+++ b/bigtop-manager-ui/src/components/select-lang/index.vue
@@ -20,7 +20,6 @@
<script setup lang="ts">
import { useLocaleStore } from '@/store/locale'
import { Locale } from '@/store/locale/types.ts'
- import CarbonLanguage from '@/components/icons/carbon-language.vue'
import { storeToRefs } from 'pinia'
const localeStore = useLocaleStore()
@@ -34,7 +33,7 @@
<template>
<a-dropdown placement="bottom">
<div class="icon">
- <carbon-language />
+ <svg-icon name="carbon-language" style="width: 1em; height: 1em" />
</div>
<template #overlay>
<a-menu :selected-keys="[locale]" @click="handleClick">
@@ -57,9 +56,7 @@
<style lang="scss" scoped>
.icon {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
font-size: 16px;
cursor: pointer;
border-radius: 50%;
diff --git a/bigtop-manager-ui/src/components/service-add/assign-components.vue
b/bigtop-manager-ui/src/components/service-add/assign-components.vue
index 6563b65..27dd993 100644
--- a/bigtop-manager-ui/src/components/service-add/assign-components.vue
+++ b/bigtop-manager-ui/src/components/service-add/assign-components.vue
@@ -191,12 +191,12 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox(
+ $direction: column,
+ $justify: space-between,
+ $align: center
+ );
align-content: center;
- height: 100%;
.title {
font-size: 1.5rem;
diff --git a/bigtop-manager-ui/src/components/service-add/choose-services.vue
b/bigtop-manager-ui/src/components/service-add/choose-services.vue
index 93251c8..3426c74 100644
--- a/bigtop-manager-ui/src/components/service-add/choose-services.vue
+++ b/bigtop-manager-ui/src/components/service-add/choose-services.vue
@@ -154,10 +154,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
diff --git
a/bigtop-manager-ui/src/components/service-add/configure-services.vue
b/bigtop-manager-ui/src/components/service-add/configure-services.vue
index cca1aa8..7a0982f 100644
--- a/bigtop-manager-ui/src/components/service-add/configure-services.vue
+++ b/bigtop-manager-ui/src/components/service-add/configure-services.vue
@@ -119,10 +119,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
@@ -135,16 +132,13 @@
.content {
width: 100%;
height: 100%;
- margin-top: 1rem;
overflow-y: auto;
.panel {
text-align: start;
.config-item {
- display: flex;
- align-items: center;
- justify-content: start;
+ @include flexbox($justify: start, $align: center);
margin-bottom: 1rem;
.config-item-key {
diff --git a/bigtop-manager-ui/src/components/service-add/finish.vue
b/bigtop-manager-ui/src/components/service-add/finish.vue
index 760813a..1083874 100644
--- a/bigtop-manager-ui/src/components/service-add/finish.vue
+++ b/bigtop-manager-ui/src/components/service-add/finish.vue
@@ -48,10 +48,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: column, $justify: center, $align: center);
align-content: center;
height: 100%;
}
diff --git a/bigtop-manager-ui/src/components/service-add/index.vue
b/bigtop-manager-ui/src/components/service-add/index.vue
index 8bcc063..9862d77 100644
--- a/bigtop-manager-ui/src/components/service-add/index.vue
+++ b/bigtop-manager-ui/src/components/service-add/index.vue
@@ -259,10 +259,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
+ @include flexbox($direction: row, $justify: center, $align: center);
.step {
width: 15%;
diff --git a/bigtop-manager-ui/src/components/service-add/install.vue
b/bigtop-manager-ui/src/components/service-add/install.vue
index cfc7cf6..0a3eb53 100644
--- a/bigtop-manager-ui/src/components/service-add/install.vue
+++ b/bigtop-manager-ui/src/components/service-add/install.vue
@@ -166,10 +166,7 @@
<style scoped lang="scss">
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox($direction: column, $justify: start, $align: center);
align-content: center;
height: 100%;
@@ -180,9 +177,8 @@
}
.retry {
- display: flex;
- flex-direction: row;
justify-content: end;
+ @include flexbox($direction: row, $justify: end, $align: center);
margin: 0 1rem 1rem 0;
width: 100%;
diff --git a/bigtop-manager-ui/src/components/user-avatar/index.vue
b/bigtop-manager-ui/src/components/user-avatar/index.vue
index 9c53acd..2d17fc2 100644
--- a/bigtop-manager-ui/src/components/user-avatar/index.vue
+++ b/bigtop-manager-ui/src/components/user-avatar/index.vue
@@ -86,9 +86,7 @@
<style lang="scss" scoped>
.icon {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
font-size: 16px;
padding: 0 0.5rem;
border-radius: 6px;
diff --git a/bigtop-manager-ui/src/utils/enums.ts
b/bigtop-manager-ui/src/enums/state.ts
similarity index 73%
copy from bigtop-manager-ui/src/utils/enums.ts
copy to bigtop-manager-ui/src/enums/state.ts
index 9064f6d..d209626 100644
--- a/bigtop-manager-ui/src/utils/enums.ts
+++ b/bigtop-manager-ui/src/enums/state.ts
@@ -23,3 +23,25 @@ export type MaintainState =
| 'Maintained'
| 'Started'
| 'Stopped'
+
+export enum State {
+ Pending = '#1677ff',
+ Processing = '#1677fe',
+ Successful = '#52c41a',
+ Failed = '#ff4d4f',
+ Canceled = '#80868b'
+}
+
+export enum CommonState {
+ normal = '#52c41a',
+ abnormal = '#ff4d4f',
+ maintained = '#d9d9d9'
+}
+
+export enum CurrState {
+ Installed,
+ Started,
+ Maintained,
+ Uninstalled,
+ Stopped
+}
diff --git a/bigtop-manager-ui/src/layouts/header.vue
b/bigtop-manager-ui/src/layouts/header.vue
index 456a1d3..85969ec 100644
--- a/bigtop-manager-ui/src/layouts/header.vue
+++ b/bigtop-manager-ui/src/layouts/header.vue
@@ -57,9 +57,7 @@
<style scoped lang="scss">
.header {
- display: flex;
- justify-content: space-between;
- align-items: center;
+ @include flexbox($justify: space-between, $align: center);
background: #fff;
padding: 0 1rem;
height: 48px;
@@ -71,9 +69,7 @@
}
.header-right {
- display: flex;
- justify-content: end;
- align-items: center;
+ @include flexbox($justify: end, $align: center);
}
}
</style>
diff --git a/bigtop-manager-ui/src/layouts/sider.vue
b/bigtop-manager-ui/src/layouts/sider.vue
index a14c234..1681360 100644
--- a/bigtop-manager-ui/src/layouts/sider.vue
+++ b/bigtop-manager-ui/src/layouts/sider.vue
@@ -111,9 +111,7 @@
<style scoped lang="scss">
.sider {
.header {
- display: flex;
- justify-content: center;
- align-items: center;
+ @include flexbox($justify: center, $align: center);
height: 32px;
margin: 1rem;
@@ -131,9 +129,7 @@
}
.menu-title-flex {
- display: flex;
- justify-content: space-between;
- align-items: center;
+ @include flexbox($justify: space-between, $align: center);
}
}
</style>
diff --git a/bigtop-manager-ui/src/main.ts b/bigtop-manager-ui/src/main.ts
index 119e53a..92dcea5 100644
--- a/bigtop-manager-ui/src/main.ts
+++ b/bigtop-manager-ui/src/main.ts
@@ -19,23 +19,12 @@
import { createApp } from 'vue'
import App from './App.vue'
-import Antd, { message } from 'ant-design-vue'
-import router from '@/router'
-import pinia from '@/store'
-import i18n from '@/locales'
+import plugins from '@/plugins'
-import '@/assets/styles/default.scss'
+import '@/styles/default.css'
import 'ant-design-vue/dist/reset.css'
import 'virtual:svg-icons-register'
-import SvgIcon from '@/components/svg-icon/svg-icon.vue'
const app = createApp(App)
-
-app.use(Antd)
-app.use(router)
-app.use(pinia)
-app.use(i18n)
-
-message.config({ maxCount: 1 })
-app.component('svg-icon', SvgIcon)
+app.use(plugins, { antdMessageMaxCount: 1 })
app.mount('#app')
diff --git a/bigtop-manager-ui/src/pages/hosts/index.vue
b/bigtop-manager-ui/src/pages/hosts/index.vue
index cb8ac79..afb0691 100644
--- a/bigtop-manager-ui/src/pages/hosts/index.vue
+++ b/bigtop-manager-ui/src/pages/hosts/index.vue
@@ -30,6 +30,7 @@
} from '@ant-design/icons-vue'
import { useHostStore } from '@/store/host'
import { DEFAULT_PAGE_SIZE } from '@/utils/constant.ts'
+ import { CommonState, CurrState } from '@/enums/state'
const hostStore = useHostStore()
const { hosts, loading } = storeToRefs(hostStore)
@@ -90,6 +91,15 @@
}
]
+ const stateColor = (type: keyof typeof CurrState) => {
+ if ([0, 1].includes(CurrState[type])) {
+ return CommonState['normal']
+ } else if (CurrState[type] === 2) {
+ return CommonState['maintained']
+ }
+ return CommonState['abnormal']
+ }
+
const displayKeys = (selectedRowKeys: string[]) => {
message.info('This is a normal message' + selectedRowKeys)
}
@@ -121,11 +131,11 @@
<template #overlay>
<a-menu>
<a-menu-item @click="displayKeys(selectedRowKeys)">
- <CaretRightFilled />
+ <caret-right-filled />
{{ $t('hosts.host_restart') }}
</a-menu-item>
<a-menu-item @click="displayKeys(selectedRowKeys)">
- <StopFilled />
+ <stop-filled />
{{ $t('hosts.host_stop') }}
</a-menu-item>
</a-menu>
@@ -155,15 +165,15 @@
</template>
<template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'state'">
- <CheckCircleTwoTone
- v-if="text === 'INSTALLED'"
- two-tone-color="#52c41a"
+ <check-circle-two-tone
+ v-if="text === 'Started'"
+ :two-tone-color="stateColor(text)"
/>
- <MinusCircleTwoTone
- v-else-if="text === 'MAINTAINED'"
- two-tone-color="orange"
+ <minus-circle-two-tone
+ v-else-if="text === 'Maintained'"
+ :two-tone-color="stateColor(text)"
/>
- <CloseCircleTwoTone v-else two-tone-color="red" />
+ <close-circle-two-tone v-else :two-tone-color="stateColor(text)" />
</template>
<template v-if="column.dataIndex === 'hostname'">
<router-link to="/dashboard"> {{ text }} </router-link>
diff --git a/bigtop-manager-ui/src/pages/login/index.vue
b/bigtop-manager-ui/src/pages/login/index.vue
index 2f603d8..c5f5477 100644
--- a/bigtop-manager-ui/src/pages/login/index.vue
+++ b/bigtop-manager-ui/src/pages/login/index.vue
@@ -173,8 +173,7 @@
<style scoped lang="scss">
.login-container {
- display: flex;
- flex-direction: column;
+ @include flexbox($direction: column);
height: 100vh;
overflow: auto;
background-color: var(--bg-color-container);
@@ -185,9 +184,7 @@
left: 0;
right: 0;
bottom: 0;
- display: flex;
- align-items: center;
- justify-content: center;
+ @include flexbox($justify: center, $align: center);
.login-main {
border-radius: 0.25rem;
@@ -202,15 +199,11 @@
}
.login-header {
- display: flex;
- align-items: center;
- justify-content: space-between;
+ @include flexbox($justify: space-between, $align: center);
padding: 0.5rem 1rem;
.login-header-left {
- display: flex;
- align-items: center;
- justify-content: space-between;
+ @include flexbox($justify: space-between, $align: center);
.login-title {
font-weight: 600;
@@ -251,11 +244,9 @@
}
.login-body-left {
- display: flex;
+ @include flexbox($justify: center, $align: center);
min-height: 520px;
width: 700px;
- justify-content: center;
- align-items: center;
background-color: var(--bg-color-container);
@media (max-width: 991px) {
@@ -277,10 +268,11 @@
}
.login-body-right {
- display: flex;
- justify-content: center;
- align-items: center;
- flex-direction: column;
+ @include flexbox(
+ $direction: column,
+ $justify: center,
+ $align: center
+ );
width: 335px;
padding: 0 1.25rem;
@@ -298,9 +290,7 @@
.login-body-right-form {
.login-body-right-form-bottom {
margin-bottom: 24px;
- display: flex;
- justify-content: space-between;
- align-items: center;
+ @include flexbox($justify: space-between, $align: center);
}
}
}
diff --git a/bigtop-manager-ui/src/pages/service/index.vue
b/bigtop-manager-ui/src/pages/service/index.vue
index be03f3e..4115852 100644
--- a/bigtop-manager-ui/src/pages/service/index.vue
+++ b/bigtop-manager-ui/src/pages/service/index.vue
@@ -30,6 +30,7 @@
} from 'vue'
import { useI18n } from 'vue-i18n'
+ import { CommonState, CurrState } from '@/enums/state'
import { type SelectProps, type MenuProps, Modal } from 'ant-design-vue'
import { DownOutlined, QuestionCircleOutlined } from '@ant-design/icons-vue'
@@ -38,12 +39,11 @@
import { useServiceStore } from '@/store/service'
import { useClusterStore } from '@/store/cluster'
- import { type ServiceVO, StateColor } from '@/api/service/types.ts'
+ import type { ServiceVO } from '@/api/service/types.ts'
import { ServiceConfigVO, TypeConfigVO } from '@/api/config/types.ts'
import { HostComponentVO } from '@/api/component/types.ts'
import { execCommand } from '@/api/command'
- import DotState from '@/components/dot-state/index.vue'
import Job from '@/components/job-info/job.vue'
interface Menu {
@@ -120,6 +120,7 @@
(params) => {
serviceName.value = params.serviceName as string
initServiceMeta()
+ componentStore.resumeIntervalFn()
}
)
@@ -209,6 +210,15 @@
initConfigVersion.value = serviceConfigDesc.value?.[0].value as number
}
+ const stateColor = (type: keyof typeof CurrState) => {
+ if ([0, 1].includes(CurrState[type])) {
+ return CommonState['normal']
+ } else if (CurrState[type] === 2) {
+ return CommonState['maintained']
+ }
+ return CommonState['abnormal']
+ }
+
onMounted(() => {
initServiceMeta()
componentStore.resumeIntervalFn()
@@ -266,7 +276,7 @@
<footer>
<div class="comp-state">
<dot-state
- :color="StateColor[item.state]"
+ :color="stateColor(item.state)"
class="dot-rest"
>
<span class="comp-state-text">{{ item.state }}</span>
@@ -346,7 +356,7 @@
<style scoped lang="scss">
.dot-rest {
- @include flex(center, center);
+ @include flexbox($justify: center, $align: center);
}
.summary-layout {
@@ -390,8 +400,7 @@
}
.summary-ctx {
- display: flex;
- flex-wrap: wrap;
+ @include flexbox($wrap: wrap);
box-sizing: border-box;
.card {
@@ -414,11 +423,11 @@
font-size: 1.06rem;
font-weight: 600;
margin-bottom: 0.375rem;
- @include flex(space-between, center);
+ @include flexbox($justify: space-between, $align: center);
}
.comp-info {
- @include flex(center);
+ @include flexbox($justify: center);
margin-bottom: 1.25rem;
.host-name {
@@ -431,8 +440,7 @@
}
footer {
- @include flex(space-between, center);
-
+ @include flexbox($justify: space-between, $align: center);
.comp-state {
font-size: 1rem;
align-items: flex-end;
@@ -447,10 +455,11 @@
}
.container {
- display: flex;
- flex-direction: column;
- justify-content: start;
- align-items: center;
+ @include flexbox(
+ $direction: column,
+ $justify: space-between,
+ $align: center
+ );
align-content: center;
height: 100%;
@@ -470,9 +479,7 @@
text-align: start;
.config-item {
- display: flex;
- align-items: center;
- justify-content: start;
+ @include flexbox($justify: start, $align: center);
margin-bottom: 1rem;
.config-item-key {
diff --git a/bigtop-manager-ui/src/main.ts
b/bigtop-manager-ui/src/plugins/index.ts
similarity index 70%
copy from bigtop-manager-ui/src/main.ts
copy to bigtop-manager-ui/src/plugins/index.ts
index 119e53a..a6a8089 100644
--- a/bigtop-manager-ui/src/main.ts
+++ b/bigtop-manager-ui/src/plugins/index.ts
@@ -17,25 +17,24 @@
* under the License.
*/
-import { createApp } from 'vue'
-import App from './App.vue'
-import Antd, { message } from 'ant-design-vue'
+import type { App } from 'vue'
import router from '@/router'
import pinia from '@/store'
import i18n from '@/locales'
+import Antd, { message } from 'ant-design-vue'
+import components from '@/components/common'
-import '@/assets/styles/default.scss'
-import 'ant-design-vue/dist/reset.css'
-import 'virtual:svg-icons-register'
-import SvgIcon from '@/components/svg-icon/svg-icon.vue'
-
-const app = createApp(App)
-
-app.use(Antd)
-app.use(router)
-app.use(pinia)
-app.use(i18n)
+interface PluginOptions {
+ antdMessageMaxCount: number
+}
-message.config({ maxCount: 1 })
-app.component('svg-icon', SvgIcon)
-app.mount('#app')
+export default {
+ install(app: App, options: PluginOptions) {
+ app.use(Antd)
+ app.use(router)
+ app.use(pinia)
+ app.use(i18n)
+ app.use(components)
+ message.config({ maxCount: options.antdMessageMaxCount })
+ }
+}
diff --git a/bigtop-manager-ui/src/store/user/index.ts
b/bigtop-manager-ui/src/store/user/index.ts
index e2f88c5..27ad861 100644
--- a/bigtop-manager-ui/src/store/user/index.ts
+++ b/bigtop-manager-ui/src/store/user/index.ts
@@ -26,7 +26,7 @@ import { initialRoutes, layoutRoutes } from
'@/router/routes.ts'
import { useClusterStore } from '@/store/cluster'
import { RouteRecordRaw } from 'vue-router'
import { useServiceStore } from '@/store/service'
-import CircleFilled from '@/components/icons/circle-filled.vue'
+import SvgIcon from '@/components/common/svg-icon/index.vue'
export const useUserStore = defineStore(
'user',
@@ -56,8 +56,9 @@ export const useUserStore = defineStore(
key: service.serviceName,
to: '/services/' + service.serviceName,
title: service.displayName,
- icon: h(CircleFilled, {
- style: `font-size: 8px; color: ${color}; margin-right: 0.5rem;`
+ icon: h(SvgIcon, {
+ name: 'circle-filled',
+ style: `font-size: 8px; color: ${color};
vertical-align:inherit`
})
})
})
diff --git a/bigtop-manager-ui/src/assets/styles/default.scss
b/bigtop-manager-ui/src/styles/default.css
similarity index 69%
copy from bigtop-manager-ui/src/assets/styles/default.scss
copy to bigtop-manager-ui/src/styles/default.css
index d154b44..dcd70d8 100644
--- a/bigtop-manager-ui/src/assets/styles/default.scss
+++ b/bigtop-manager-ui/src/styles/default.css
@@ -1,4 +1,4 @@
-/*!
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,6 +17,8 @@
* under the License.
*/
+@import './scrollbar.css';
+
* {
outline: 0;
}
@@ -54,31 +56,3 @@ html {
bottom: 0;
left: 0;
}
-
-::-webkit-scrollbar {
- width: 6px;
- height: 6px;
-}
-::scrollbar {
- width: 6px;
- height: 6px;
-}
-::-webkit-scrollbar-track {
- display: none;
- -webkit-box-shadow: inset 0 0 2px #b18933;
-}
-::scrollbar-track {
- display: none;
- -webkit-box-shadow: inset 0 0 2px #98f165;
- border-radius: 1px;
-}
-::-webkit-scrollbar-thumb {
- border-radius: 10px;
- background: #c1c1c1;
- -webkit-box-shadow: inset 0 0 1px rgba(0, 102, 102, 0.144);
-}
-::scrollbar-thumb {
- border-radius: 10px;
- background: #c1c1c1;
- -webkit-box-shadow: inset 0 0 1px rgba(0, 102, 102, 0.144);
-}
diff --git a/bigtop-manager-ui/src/utils/enums.ts
b/bigtop-manager-ui/src/styles/function.scss
similarity index 87%
copy from bigtop-manager-ui/src/utils/enums.ts
copy to bigtop-manager-ui/src/styles/function.scss
index 9064f6d..61f5439 100644
--- a/bigtop-manager-ui/src/utils/enums.ts
+++ b/bigtop-manager-ui/src/styles/function.scss
@@ -15,11 +15,4 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
-
-export type MaintainState =
- | 'Uninstalled'
- | 'Installed'
- | 'Maintained'
- | 'Started'
- | 'Stopped'
+ */
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/utils/enums.ts
b/bigtop-manager-ui/src/styles/main.scss
similarity index 88%
copy from bigtop-manager-ui/src/utils/enums.ts
copy to bigtop-manager-ui/src/styles/main.scss
index 9064f6d..0dbde25 100644
--- a/bigtop-manager-ui/src/utils/enums.ts
+++ b/bigtop-manager-ui/src/styles/main.scss
@@ -17,9 +17,6 @@
* under the License.
*/
-export type MaintainState =
- | 'Uninstalled'
- | 'Installed'
- | 'Maintained'
- | 'Started'
- | 'Stopped'
+@import '@/styles/function.scss';
+@import '@/styles/variables.scss';
+@import '@/styles/mixins.scss'
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/styles/variable.scss
b/bigtop-manager-ui/src/styles/mixins.scss
similarity index 79%
rename from bigtop-manager-ui/src/assets/styles/variable.scss
rename to bigtop-manager-ui/src/styles/mixins.scss
index a99e822..6bf0486 100644
--- a/bigtop-manager-ui/src/assets/styles/variable.scss
+++ b/bigtop-manager-ui/src/styles/mixins.scss
@@ -1,4 +1,4 @@
-/*!
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,15 +17,10 @@
* under the License.
*/
-@mixin dot($width, $height, $color) {
- width: $width;
- height: $height;
- background: $color;
- border-radius: 50%;
-}
-
-@mixin flex($row: null, $col: null) {
+@mixin flexbox($direction: null, $wrap: null, $justify: null, $align: null) {
display: flex;
- justify-content: $row;
- align-items: $col;
-}
+ flex-direction: $direction;
+ flex-wrap: $wrap;
+ justify-content: $justify;
+ align-items: $align;
+}
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/styles/default.scss
b/bigtop-manager-ui/src/styles/scrollbar.css
similarity index 73%
rename from bigtop-manager-ui/src/assets/styles/default.scss
rename to bigtop-manager-ui/src/styles/scrollbar.css
index d154b44..095c5d4 100644
--- a/bigtop-manager-ui/src/assets/styles/default.scss
+++ b/bigtop-manager-ui/src/styles/scrollbar.css
@@ -1,4 +1,4 @@
-/*!
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -16,45 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-
-* {
- outline: 0;
-}
-
-html {
- --text-color: rgba(0, 0, 0, 0.85);
- --text-color-desc: rgba(0, 0, 0, 0.45);
- --bg-color: #fff;
- --hover-color: rgba(0, 0, 0, 0.05);
- --bg-color-container: #f0f2f5;
- --c-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05);
-}
-
-.m-0 {
- margin: 0;
-}
-
-.p-0 {
- padding: 0;
-}
-
-.hidden {
- display: none;
-}
-
-.ant-table-body {
- overflow-y: auto !important;
-}
-
-#app {
- width: 100%;
- box-sizing: border-box;
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
-}
-
+
::-webkit-scrollbar {
width: 6px;
height: 6px;
diff --git a/bigtop-manager-ui/src/utils/enums.ts
b/bigtop-manager-ui/src/styles/variables.scss
similarity index 87%
rename from bigtop-manager-ui/src/utils/enums.ts
rename to bigtop-manager-ui/src/styles/variables.scss
index 9064f6d..61f5439 100644
--- a/bigtop-manager-ui/src/utils/enums.ts
+++ b/bigtop-manager-ui/src/styles/variables.scss
@@ -15,11 +15,4 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
-
-export type MaintainState =
- | 'Uninstalled'
- | 'Installed'
- | 'Maintained'
- | 'Started'
- | 'Stopped'
+ */
\ No newline at end of file
diff --git a/bigtop-manager-ui/vite.config.ts b/bigtop-manager-ui/vite.config.ts
index f310ea9..ff4ffe6 100644
--- a/bigtop-manager-ui/vite.config.ts
+++ b/bigtop-manager-ui/vite.config.ts
@@ -47,7 +47,7 @@ export default defineConfig(({ mode }) => {
css: {
preprocessorOptions: {
scss: {
- additionalData: '@import "@/assets/styles/variable.scss";'
+ additionalData: '@import "@/styles/main.scss";'
}
}
},