Skip to content

Commit a62f538

Browse files
authored
Merge branch 'main' into NavbarRevamp
2 parents a83fcca + b77fdb2 commit a62f538

File tree

102 files changed

+2677
-1463
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+2677
-1463
lines changed

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Satvik Ramaprasad
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
1-
# GSoC'22 Project - [WIP]VueJS Simulator
1+
# CircuitVerse Frontend Vue
22

3-
## New Frontend Framework for Simulator UI.
4-
- [Phase-1 Report](https://blog.circuitverse.org/posts/devjitchoudhury_gsoc22_phase1_report/)
5-
- [Phase-2 Report](https://blog.circuitverse.org/posts/devjitchoudhury_gsoc22_phase2_report/)
3+
## Installation
4+
To set up the project on your local machine, follow these steps:
65

7-
### Project Goals -
8-
1. Replacing JqueryUI with a modern frontend framework.
9-
2. Decoupling the Simulator from backend
10-
3. Dividing into Components
11-
4. State Management
12-
5. Refactoring CSS
13-
6. Internationalization using Vue-i18n
6+
1. Clone the repository to your local machine using the following command:
7+
```
8+
git clone https://github.com/CircuitVerse/cv-frontend-vue.git
9+
```
10+
2. Navigate to the project directory:
11+
```
12+
cd cv-frontend-vue
13+
```
14+
3. Install the project dependencies:
15+
```
16+
npm install
17+
```
18+
4. Start the development server:
19+
```
20+
npm run dev
21+
```
1422

15-
16-
### To Dos -
17-
1. **Vue Project Integration** into the Main Repository or finding a way for the simulators in two different repositories to work in sync.
18-
2. **API Integration and Testing**
19-
3. **Embed Feature** - Discuss and implement the embeding of circuits feature.
20-
4. **Internationalization of Simulator** - Internationalization is already set up using Vue-i18n but progressive work needs to be done on it.
21-
5. **Refactoring of Styles** - Refactor the global stylesheet to local stylesheets for individual components. There is also a scope of removing SASS using modern CSS features.
22-
6. Few components - Verilog Module, Quick-Button, Testbench, and Timing-Diagram are yet to be converted to Vue.
23-
7. With the removal of jQuery-UI, there is also a scope of removing the use of jQuery from the project.
23+
## To Dos -
24+
1. **Creating the mobile version of the vue simulator**
25+
2. **Testing and bug fixing**
26+
3. **Typescript integration & style Refactoring**
27+
4. **Creating the desktop application**
28+
5. **Removing JQuery**

package-lock.json

Lines changed: 34 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"postinstall": "husky install"
1313
},
1414
"dependencies": {
15-
"@fortawesome/fontawesome-free": "^5.15.4",
15+
"@fortawesome/fontawesome-free": "^6.5.1",
1616
"@mdi/font": "5.9.55",
1717
"@tiptap/core": "^2.0.3",
1818
"@tiptap/extension-character-count": "^2.0.3",
@@ -28,6 +28,7 @@
2828
"dom-to-image": "^2.6.0",
2929
"driver.js": "^0.9.8",
3030
"esbuild": "^0.14.45",
31+
"interactjs": "^1.10.17",
3132
"jquery": "^3.6.0",
3233
"pinia": "^2.0.14",
3334
"vue": "^3.2.25",
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
[
2+
{
3+
"title": "Decrease Size",
4+
"icon": "fa-chevron-left",
5+
"class": "timing-diagram-smaller",
6+
"type": "primary",
7+
"click": "smaller"
8+
},
9+
{
10+
"title": "Increase Size",
11+
"icon": "fa-chevron-right",
12+
"class": "timing-diagram-larger",
13+
"type": "primary",
14+
"click": "larger"
15+
},
16+
{
17+
"title": "Decrease Height",
18+
"icon": "fa-chevron-up",
19+
"class": "timing-diagram-small-height",
20+
"type": "primary",
21+
"click": "smallHeight"
22+
},
23+
{
24+
"title": "Increase Height",
25+
"icon": "fa-chevron-down",
26+
"class": "timing-diagram-large-height",
27+
"type": "primary",
28+
"click": "largeHeight"
29+
},
30+
{
31+
"title": "Download As Image",
32+
"icon": "fa-download",
33+
"class": "timing-diagram-download",
34+
"type": "primary",
35+
"click": "download"
36+
},
37+
{
38+
"title": "Reset Timing Diagram",
39+
"icon": "fa-undo",
40+
"class": "timing-diagram-reset",
41+
"type": "tertiary",
42+
"click": "reset"
43+
},
44+
{
45+
"title": "Autocalibrate Cycle Units",
46+
"icon": "fa-magic",
47+
"class": "timing-diagram-calibrate",
48+
"type": "tertiary",
49+
"click": "calibrate"
50+
},
51+
{
52+
"title": "Zoom In",
53+
"icon": "fa-search-plus",
54+
"class": "timing-diagram-zoom-in",
55+
"type": "primary",
56+
"click": "zoomIn"
57+
},
58+
{
59+
"title": "Zoom Out",
60+
"icon": "fa-search-minus",
61+
"class": "timing-diagram-zoom-out",
62+
"type": "primary",
63+
"click": "zoomOut"
64+
},
65+
{
66+
"title": "Resume auto-scroll",
67+
"icon": "fa-play",
68+
"class": "timing-diagram-resume",
69+
"type": "primary",
70+
"click": "resume"
71+
},
72+
{
73+
"title": "Pause auto-scroll",
74+
"icon": "fa-pause",
75+
"class": "timing-diagram-pause",
76+
"type": "primary",
77+
"click": "pause"
78+
}
79+
]
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[
2+
{
3+
"label": "Light Themes",
4+
"options": [
5+
{ "value": "default" },
6+
{ "value": "solarized" },
7+
{ "value": "elegant" },
8+
{ "value": "neat" },
9+
{ "value": "idea" },
10+
{ "value": "neo" }
11+
]
12+
},
13+
{
14+
"label": "Dark Themes",
15+
"options": [
16+
{ "value": "blackboard" },
17+
{ "value": "cobalt" },
18+
{ "value": "night" },
19+
{ "value": "the-matrix" },
20+
{ "value": "midnight" },
21+
{ "value": "monokai" }
22+
]
23+
}
24+
]

src/components/DialogBox/BooleanTable.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<table class="content-table">
3-
<tbody style="display: block; max-height: 70vh; overflow-y: scroll">
3+
<tbody style="display: block; max-height: 70vh;">
44
<tr>
55
<th v-for="tableHeading in tableHeader" :key="tableHeading">
66
{{ tableHeading }}

src/components/DialogBox/CombinationalAnalysis.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
:is-persistent="true"
99
:table-header="tableHeader"
1010
:table-body="tableBody"
11-
message-text="BooleanLogicTable"
11+
message-text="Boolean Logic Table"
1212
@button-click="
1313
(selectedOption, circuitItem, circuitNameVal) =>
1414
dialogBoxConformation(selectedOption)
@@ -690,9 +690,15 @@ function generateCircuit() {
690690
function printBooleanTable() {
691691
console.log($('.messageBox .v-card-text')[0])
692692
var sTable = $('.messageBox .v-card-text')[0].innerHTML
693+
console.log('This is the table')
693694
console.log(sTable)
695+
694696
var style =
695-
'<style> table {font: 20px Calibri;} table, th, td {border: solid 1px #DDD;border-collapse: collapse;} padding: 2px 3px;text-align: center;} </style>'
697+
`<style>
698+
table {font: 40px Calibri;}
699+
table, th, td {border: solid 1px #DDD;border-collapse: 0;}
700+
tbody {padding: 2px 3px;text-align: center;}
701+
</style>`.replace(/\n/g, "")
696702
var win = window.open('', '', 'height=700,width=700')
697703
var htmlBody = `
698704
<html><head>\

0 commit comments

Comments
 (0)