Week 5 & 6 Report | GSoC'22@CircuitVerse

Past two weeks I worked on the enhancement of the Navbar component which I had coded during the proposal period and also worked on the tabs-bar component.



Navbar Component

I started with converting the Navbar component coded in OptionsAPI to Composition API. Following that I made some fixes in the logic of toggling of Navbar in smaller screens. Then I focused on localization of the Navbar to Hindi.


Folder structure for Navbar -

NavbarData.json
UserData.json
Navbar
  |-------> Logo
  |-------> DropDown
  |-------> User 
  |        (fetch data from : UserData.json)
  |
  |-------> Navbar Links
            (fetch data from : NavbarData.json)
                |-------> Navbar Link
               

NavbarData.json stores the key for locale(en/hi).json which displays the corresponding values on the screen.

Link to the PR - https://github.com/CircuitVerse/cv-frontend-vue/pull/11

 

Tabsbar Component


I created the tabs-bar component. Replaced DOM rendering using strings with Vue Logic. I defined a cicuit_list state in Pinia Store and updating it on creating or delting a circuit or tab.

circuit_list - Array of Object
circuit_list[i] - { name : circuitName, id : circuitId }

One of the Issue I faced - How to use Pinia store states in external javascript files.

Vue has documentation of using states outside component, which helped me resolve it. It will also help me when I convert canvas objects to Pinia Store.

Link to PR - https://github.com/CircuitVerse/cv-frontend-vue/pull/14

 

Next Week's Aim


Next I will work on sortability of the tabs using SortableJS/Vue.Draggable

(It was previously implemented by using jQueryUI)

And also complete the remaining panels by this week.


After that in the upcoming weeks I would focus on two main things -

  • Moving the canvas object to pinia store.

  • Integrating the embed feature


28 views0 comments

Recent Posts

See All