save
This commit is contained in:
parent
3499ef52cc
commit
0ace90c63c
@ -12,22 +12,15 @@ python scripts/vscode-package.py
|
|||||||
|
|
||||||
```
|
```
|
||||||
resources
|
resources
|
||||||
- dide-viewer
|
- dide-netlist
|
||||||
- view
|
- view
|
||||||
- css
|
- css
|
||||||
- js
|
- js
|
||||||
- worker.js
|
- worker.js
|
||||||
- index.html
|
- index.html
|
||||||
- vcd.wasm
|
|
||||||
- vcd.css
|
|
||||||
- ...
|
- ...
|
||||||
- index.js
|
- index.js
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
触发 view 修改的地方
|
|
||||||
|
|
||||||
- src\components\treeview\signals.vue
|
|
||||||
-
|
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -10,6 +10,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"element-plus": "^2.9.1",
|
"element-plus": "^2.9.1",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
"vue-i18n": "10.0.5"
|
"vue-i18n": "10.0.5"
|
||||||
},
|
},
|
||||||
@ -7753,6 +7754,11 @@
|
|||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/mitt": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
|
||||||
|
},
|
||||||
"node_modules/mkdirp": {
|
"node_modules/mkdirp": {
|
||||||
"version": "0.5.6",
|
"version": "0.5.6",
|
||||||
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz",
|
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||||
|
11
package.json
11
package.json
@ -9,9 +9,10 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"element-plus": "^2.9.1",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
"vue": "^3.2.13",
|
"vue": "^3.2.13",
|
||||||
"vue-i18n": "10.0.5",
|
"vue-i18n": "10.0.5"
|
||||||
"element-plus": "^2.9.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.12.16",
|
"@babel/core": "^7.12.16",
|
||||||
@ -34,7 +35,11 @@
|
|||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"parser": "@babel/eslint-parser"
|
"parser": "@babel/eslint-parser"
|
||||||
},
|
},
|
||||||
"rules": {}
|
"rules": {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-undef": "off",
|
||||||
|
"no-redeclare": "off"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
|
@ -7,6 +7,10 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<link rel="icon" href="<%= BASE_URL %>icon.png">
|
<link rel="icon" href="<%= BASE_URL %>icon.png">
|
||||||
<title>Netlist</title>
|
<title>Netlist</title>
|
||||||
|
<link rel="stylesheet" href="default-dark.css">
|
||||||
|
<link rel="stylesheet" href="vscode.css">
|
||||||
|
<link rel="stylesheet" href="iconfont.css">
|
||||||
|
<link rel="stylesheet" href="animation.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
128
public/netlist.css
Normal file
128
public/netlist.css
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
:root {
|
||||||
|
--display-signal-info-height: 50px;
|
||||||
|
--signal-default-color: #4CAF50;
|
||||||
|
--main-color: #CB81DA;
|
||||||
|
--main-dark-color: #2D323B;
|
||||||
|
--main-light-color: var(--main-color);
|
||||||
|
--sidebar-width: 330px;
|
||||||
|
--right-nav-width: 50px;
|
||||||
|
--time-scale-height: 30px;
|
||||||
|
--sidebar-padding: 10px;
|
||||||
|
--sidebar-item-margin: 5px;
|
||||||
|
--toolbar-height: 50px;
|
||||||
|
--toolbar-item-height: 32px;
|
||||||
|
|
||||||
|
/* css 动画属性 */
|
||||||
|
--animation-7s: .7s cubic-bezier(0.23,1,0.32,1);
|
||||||
|
--animation-5s: .5s cubic-bezier(0.23,1,0.32,1);
|
||||||
|
--animation-3s: .35s cubic-bezier(0.23,1,0.32,1);
|
||||||
|
--gray-box-shadow-0: 0 0 8px 3px rgba(182, 181, 182, 0.9);
|
||||||
|
--gray-box-shadow-1: 0 0 5px 1px rgba(16, 16, 16, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Cascadia code";
|
||||||
|
src: url("./CascadiaCode.woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
background-color: var(--background);
|
||||||
|
color: var(--foreground);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
body::-webkit-scrollbar {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
* hr {
|
||||||
|
border: none;
|
||||||
|
background-color: var(--vscode-focusBorder);
|
||||||
|
height: 2px;
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: var(--sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: var(--scrollbar-background);
|
||||||
|
border-radius: .3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: var(--scrollbar-hover);
|
||||||
|
border-radius: .3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:active {
|
||||||
|
background: var(--scrollbar-active);
|
||||||
|
border-radius: .3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-button {
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-corner {
|
||||||
|
background: none;
|
||||||
|
display: none;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.el-select__wrapper {
|
||||||
|
min-width: 100px;
|
||||||
|
padding: 13px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: var(--sidebar-item-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-select-group__title {
|
||||||
|
color: var(--main-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-select__placeholder {
|
||||||
|
color: var(--sidebar-item-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-select-dropdown {
|
||||||
|
background-color: var(--sidebar);
|
||||||
|
border: 1.0px solid var(--main-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-checkbox-button__inner {
|
||||||
|
font-size: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--main-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.digital-ide-icon {
|
||||||
|
background-image: url(./icon.svg);
|
||||||
|
background-size: 100%;
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.digital-ide-icon.big {
|
||||||
|
background-image: url(./icon.svg);
|
||||||
|
background-size: 100%;
|
||||||
|
height: 200px;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-select__wrapper.is-disabled {
|
||||||
|
opacity: 0.6;
|
||||||
|
box-shadow: unset !important;
|
||||||
|
}
|
@ -1,58 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="hello">
|
|
||||||
<h1>{{ msg }}</h1>
|
|
||||||
<p>
|
|
||||||
For a guide and recipes on how to configure / customize this project,<br>
|
|
||||||
check out the
|
|
||||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
|
||||||
</p>
|
|
||||||
<h3>Installed CLI Plugins</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3>Essential Links</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
|
||||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
|
||||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
|
||||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
|
||||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3>Ecosystem</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
|
||||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
|
||||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'HelloWorld',
|
|
||||||
props: {
|
|
||||||
msg: String
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style scoped>
|
|
||||||
h3 {
|
|
||||||
margin: 40px 0 0;
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #42b983;
|
|
||||||
}
|
|
||||||
</style>
|
|
98
src/components/about/index.vue
Normal file
98
src/components/about/index.vue
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<div class="about-wrapper">
|
||||||
|
<div class="usermanual">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<hr>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div class="icon-caption" @click="goto('https://github.com/Digital-EDA')">
|
||||||
|
<div class="digital-ide-icon big"/>
|
||||||
|
</div>
|
||||||
|
<div class="version-caption">
|
||||||
|
<span>{{ t('current-version') }}   <span class="version-wrapper">0.4.0</span></span>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div style="display: flex;justify-content: space-around;">
|
||||||
|
<div class="copyright-caption" v-html="t('copyright')"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
defineComponent({ name: 'dide-about' });
|
||||||
|
|
||||||
|
function goto(url) {
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
|
const platform = navigator.platform;
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.about-wrapper {
|
||||||
|
margin-top: 10px;
|
||||||
|
width: 450px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.version-caption {
|
||||||
|
display: flex;
|
||||||
|
width: 100% !important;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright-caption {
|
||||||
|
width: 50% !important;
|
||||||
|
line-height: 30px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-caption {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.version-wrapper {
|
||||||
|
border-radius: .5em;
|
||||||
|
color: white;
|
||||||
|
background-color: var(--color-deepPurple);
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.usermanual {
|
||||||
|
margin: 10px;
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 10px;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.usermanual-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 5px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.usermanual-item .iconfont {
|
||||||
|
font-size: 1.1rem !important;
|
||||||
|
color: var(--sidebar-text-item);
|
||||||
|
}
|
||||||
|
</style>
|
24
src/components/right-nav.js
Normal file
24
src/components/right-nav.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { reactive } from "vue";
|
||||||
|
|
||||||
|
export const controlPanel = reactive({
|
||||||
|
sections: [
|
||||||
|
{
|
||||||
|
iconClass: 'iconfont icon-collections'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
iconClass: 'iconfont icon-setting'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
iconClass: 'iconfont icon-about'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
currentIndex: -1,
|
||||||
|
click(index) {
|
||||||
|
if (this.currentIndex === index) {
|
||||||
|
this.currentIndex = -1;
|
||||||
|
} else {
|
||||||
|
this.currentIndex = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
106
src/components/right-nav.vue
Normal file
106
src/components/right-nav.vue
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
<template>
|
||||||
|
<div class="vcd-right-nav">
|
||||||
|
|
||||||
|
<div class="vcd-function-panel">
|
||||||
|
<TreeView :topModules="props.topModules"
|
||||||
|
v-show="controlPanel.currentIndex === 0"></TreeView>
|
||||||
|
<Setting
|
||||||
|
v-show="controlPanel.currentIndex === 1"></Setting>
|
||||||
|
<About
|
||||||
|
v-show="controlPanel.currentIndex === 2"></About>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="vcd-function-option">
|
||||||
|
<div class="vcd-control-panel-wrapper">
|
||||||
|
<div class="vcd-control-panel-icon digital-ide-icon" />
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="vcd-control-panel-wrapper"
|
||||||
|
v-for="(section, index) of controlPanel.sections" :key="index"
|
||||||
|
@click="controlPanel.click(index)"
|
||||||
|
>
|
||||||
|
<div :class="controlPanel.currentIndex === index ? 'vcd-control-panel-active': ''"><span
|
||||||
|
class="vcd-control-panel-icon"
|
||||||
|
:class="section.iconClass"
|
||||||
|
></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { defineComponent, reactive } from 'vue';
|
||||||
|
|
||||||
|
import TreeView from '@/components/treeview';
|
||||||
|
import Setting from '@/components/setting';
|
||||||
|
import About from '@/components/about';
|
||||||
|
import { emitter } from '@/hook/global';
|
||||||
|
import { controlPanel } from './right-nav';
|
||||||
|
|
||||||
|
defineComponent({ name: 'right-nav' });
|
||||||
|
const props = defineProps({
|
||||||
|
topModules: {
|
||||||
|
type: Array,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
emitter.on('right-nav', index => {
|
||||||
|
if (controlPanel.currentIndex === index) {
|
||||||
|
controlPanel.currentIndex = -1;
|
||||||
|
} else {
|
||||||
|
controlPanel.currentIndex = index;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.vcd-right-nav {
|
||||||
|
display: flex;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 230;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-function-panel {
|
||||||
|
display: flex;
|
||||||
|
background-color: var(--sidebar);
|
||||||
|
height: 100vh;
|
||||||
|
box-shadow: var(--gray-box-shadow-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-function-option {
|
||||||
|
width: fit-content;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: var(--sidebar);
|
||||||
|
box-shadow: var(--gray-box-shadow-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-control-panel-wrapper {
|
||||||
|
width: var(--right-nav-width);
|
||||||
|
height: var(--right-nav-width);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-top: 10px;
|
||||||
|
color: var(--vscode-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-control-panel-wrapper:hover {
|
||||||
|
color: var(--vscode-icon-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-control-panel-icon {
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vcd-control-panel-active {
|
||||||
|
color: var(--main-color);
|
||||||
|
}
|
||||||
|
</style>
|
121
src/components/setting/index.vue
Normal file
121
src/components/setting/index.vue
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<template>
|
||||||
|
<div class="setting-wrapper">
|
||||||
|
<el-scrollbar height="98vh">
|
||||||
|
<div class="setting-section">
|
||||||
|
<h2>{{ t('general-setting') }}</h2>
|
||||||
|
<div class="setting-option" style="width: 220px;">
|
||||||
|
<span class="iconfont icon-i18n"></span>
|
||||||
|
 
|
||||||
|
<span class="option-title">{{ t('language-setting') }}</span>
|
||||||
|
<div style="width: 100px;">
|
||||||
|
<el-select
|
||||||
|
name="language-setting"
|
||||||
|
class="language-setting"
|
||||||
|
v-model="locale"
|
||||||
|
@change="onlanguagechange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in languageSetting.options"
|
||||||
|
:value="option.value"
|
||||||
|
:label="option.text"
|
||||||
|
:key="option.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
v-model="languageDialogShow"
|
||||||
|
class="language-dialog"
|
||||||
|
:title="t('tips')"
|
||||||
|
width="500"
|
||||||
|
>
|
||||||
|
<span>{{ t('setting.language.change-dialog') }}</span>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="confirmLanguageDialog()">
|
||||||
|
{{ t('confirm') }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
</el-scrollbar>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.setting-wrapper {
|
||||||
|
width: fit-content;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-container {
|
||||||
|
overflow-y: scroll;
|
||||||
|
height: 99vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-section {
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: .3em;
|
||||||
|
min-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-option {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 8px 12px;
|
||||||
|
height: 40px;
|
||||||
|
width: fit-content;
|
||||||
|
border-radius: .5em;
|
||||||
|
background-color: var(--background);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-title {
|
||||||
|
min-width: 80px;
|
||||||
|
margin-right: 12px;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-slider__button {
|
||||||
|
background-color: var(--background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-switch__core .el-switch__action {
|
||||||
|
background-color: var(--background) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-slider__stop {
|
||||||
|
background-color: var(--vscode-foreground) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-help {
|
||||||
|
cursor: pointer;
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
-webkit-transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-help:hover {
|
||||||
|
color: var(--main-color);
|
||||||
|
transition: var(--animation-3s);
|
||||||
|
-webkit-transition: var(--animation-3s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.language-dialog {
|
||||||
|
color: var(--vscode-foreground);
|
||||||
|
background-color: var(--sidebar) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog__title {
|
||||||
|
color: var(--vscode-foreground) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
0
src/components/treeview/index.vue
Normal file
0
src/components/treeview/index.vue
Normal file
3
src/hook/global.js
Normal file
3
src/hook/global.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
import mitt from 'mitt';
|
||||||
|
|
||||||
|
export const emitter = mitt();
|
@ -1,3 +1,7 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "مرحبا بالعالم"
|
"info.common.hello-world": "مرحبا بالعالم",
|
||||||
|
"general-setting": "عام",
|
||||||
|
"appearance-setting": "المظهر",
|
||||||
|
"current-version": "الإصدار الحالي",
|
||||||
|
"copyright": "حقوق النشر مملوكة لفريق مشروع <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>، نرحب بـ <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>."
|
||||||
}
|
}
|
@ -1,3 +1,7 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "Hallo Welt"
|
"info.common.hello-world": "Hallo Welt",
|
||||||
|
"general-setting": "Allgemein",
|
||||||
|
"appearance-setting": "Aussehen",
|
||||||
|
"current-version": "Aktuelle Version",
|
||||||
|
"copyright": "Dieses Software gehört dem <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> Projektteam, willkommen <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>."
|
||||||
}
|
}
|
@ -1,3 +1,7 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "hello world"
|
"info.common.hello-world": "hello world",
|
||||||
|
"general-setting": "General",
|
||||||
|
"appearance-setting": "Appearance",
|
||||||
|
"current-version": "current version",
|
||||||
|
"copyright": "The copyright of this software belongs to <a href=\\\"https://github.com/Digital-EDA\\\" target=\\\"_blank\\\">Digital-IDE</a> project team. Welcome to <a href=\\\"https://github.com/Digital-EDA/Digital-IDE\\\">Star</a>."
|
||||||
}
|
}
|
@ -1,3 +1,8 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "bonjour le monde"
|
"info.common.hello-world": "bonjour le monde",
|
||||||
|
"general-setting": "Général",
|
||||||
|
|
||||||
|
"appearance-setting": "Apparence",
|
||||||
|
"current-version": "Version actuelle",
|
||||||
|
"copyright": "Les droits d'auteur appartiennent au groupe de projet <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>, bienvenue <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>."
|
||||||
}
|
}
|
@ -1,3 +1,8 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "こんにちは世界"
|
"info.common.hello-world": "こんにちは世界",
|
||||||
|
"general-setting": "一般",
|
||||||
|
|
||||||
|
"appearance-setting": "外観",
|
||||||
|
"current-version": "現在のバージョン",
|
||||||
|
"copyright": "このソフトウェアの著作権は <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> プロジェクトチームに帰属します。<a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a> を歓迎します。"
|
||||||
}
|
}
|
@ -1,3 +1,8 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "안녕하세요 세계"
|
"info.common.hello-world": "안녕하세요 세계",
|
||||||
|
"general-setting": "일반",
|
||||||
|
|
||||||
|
"appearance-setting": "외관",
|
||||||
|
"current-version": "현재 버전",
|
||||||
|
"copyright": "이 소프트웨어의 저작권은 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 프로젝트 팀에 있으며, <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>를 환영합니다."
|
||||||
}
|
}
|
@ -1,3 +1,8 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "привет мир"
|
"info.common.hello-world": "привет мир",
|
||||||
|
"general-setting": "Общие",
|
||||||
|
|
||||||
|
"appearance-setting": "Внешний вид",
|
||||||
|
"current-version": "Текущая версия",
|
||||||
|
"copyright": "Авторские права принадлежат проектной группе <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a>, приветствуем <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>."
|
||||||
}
|
}
|
@ -1,3 +1,9 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "hello world"
|
"info.common.hello-world": "hello world",
|
||||||
|
"general-setting": "通用",
|
||||||
|
|
||||||
|
"appearance-setting": "外观",
|
||||||
|
|
||||||
|
"current-version": "当前版本",
|
||||||
|
"copyright": "本软件版权归 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 项目组所有,欢迎 <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>。"
|
||||||
}
|
}
|
@ -1,3 +1,9 @@
|
|||||||
{
|
{
|
||||||
"info.common.hello-world": "你好,世界"
|
"info.common.hello-world": "你好,世界",
|
||||||
|
"general-setting": "通用",
|
||||||
|
|
||||||
|
"appearance-setting": "外觀",
|
||||||
|
|
||||||
|
"current-version": "當前版本",
|
||||||
|
"copyright": "本軟件版權歸 <a href=\"https://github.com/Digital-EDA\" target=\"_blank\">Digital-IDE</a> 項目組所有,歡迎 <a href=\"https://github.com/Digital-EDA/Digital-IDE\">Star</a>。"
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user