Skip to content

Commit a6e1aa1

Browse files
authored
Merge pull request #186 from oslabs-beta/master
Merge OSLabs-Beta into Open Source Labs master branch
2 parents 691f9d0 + 5add537 commit a6e1aa1

File tree

92 files changed

+39866
-34700
lines changed

Some content is hidden

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

92 files changed

+39866
-34700
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
22
"editor.tabSize": 2
3-
}
3+
}

README.md

Lines changed: 49 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ To run electron app in dev mode (note: Vue Devtools will launch automatically)
3939
npm run dev
4040
```
4141

42-
To build a new .dmg / windows .exe
42+
To build a new .zip / .deb
4343

4444
```
4545
npm run build
@@ -96,10 +96,8 @@ quasar dev -m electron
9696

9797
**NOTE**:
9898

99-
<ul>
100-
<li>Electron-deeplink currently does not work on our WSL2 computers and output an error during installing the dependency which prevented the application to open in dev mode. Go to /src-electron/electron-main.js and comment out line 3/import line to bypass error. The developers did not find any impacts on application so far.</li>
101-
<li>There might be an npm install error despite all instructions. Try the following command below:</li>
102-
</ul>
99+
100+
There might be an npm install error despite all instructions. Try the following command below:</li>
103101

104102
```
105103
sudo apt install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev
@@ -197,7 +195,7 @@ Run in dev mode using:
197195
npm run dev
198196
```
199197

200-
[↥Back to top](#table-of-contents)
198+
[ Back to top](#table-of-contents)
201199
<br/>
202200

203201
## How to use
@@ -206,29 +204,22 @@ npm run dev
206204

207205
- To add a new component, type its name in the component name box and select any HTML elements that should be rendered by that component.
208206
- HTML elements can also be added after creation by selecting the component in the display, then selecting HTML elements.
209-
- You may nest HTML elements by clicking the chevron and selecting the nested HTML elements. Return to the parent HTML element by clicking clicking the carrot above the HTML element.
207+
- You may nest HTML elements by dragging and dropping elements in the list tree view in either the right sidebar or the component modal (which can be opened by double clicking on a component node in the tree)
210208

211209
- Select a parent component for the new component if needed.
212-
- After creating the component, you can move, resize, and recolor the component in the display. For advanced styling options, double click on the desired HTML element to modify. Here, you may add attributes such as class, ID, and v-model.
210+
- After creating the component, you can drag the component node to reassign its parent and change the tree structure. For advanced styling options, double click on the desired HTML element to modify. Here, you may add attributes such as class, ID, and v-model.
213211
![](./src/assets/readme/v4Creating_Component.gif)
214212

215-
- You can also duplicate components with Ctrl/Cmd C & V and see the component tree updated in real time.
216-
- Duplicate components will appear offset from their original and retain the same state and route assignments.
217-
![](./src/assets/readme/v4Copy_Child_Components.gif)
218-
219-
- Child components will inherit the same parents, but parent components will not inherit duplicate children.
220-
![](./src/assets/readme/v4Copy_Parent_Component.gif)
221-
222-
- The right-side, Component Details > Code Snippet Tab displays live code snippets for the selected component.
213+
- The right-side, Component Details > Code Preview Tab displays live code preview for the selected component.
223214
![](./src/assets/readme/v4Code_Snippet.gif)
224215

225-
- You can view and add new routes and associated components in the right-side, Routes Gab. The newly created routes will be visible in the Project Tree Tab.
216+
- You can view, add, and delete new routes and associated components in the right-side, Routes Tab.
226217
![](./src/assets/readme/v4Copying_Route.gif)
227218

228219
- State and actions can be created, edited, and assigned to components.
229220
![](./src/assets/readme/v4State_and_actions.gif)
230221

231-
- When finished creating, view your code snippet under the code snippet tab and you can export to a file location of your choice. Below is the exported file structure:
222+
- When finished creating, view your code preview under the code preview tab and you can export to a file location of your choice. Below is the exported file structure:
232223

233224
```
234225
public/
@@ -252,41 +243,11 @@ babel.config.js
252243
package.json
253244
```
254245

255-
<br/>
256-
257-
[↥Back to top](#table-of-contents)
258-
259-
## BETA
260-
261-
### Slack OAuth
262-
263-
For the Slack OAuth, you will need to create a Slack app through their website (https://api.slack.com/apps?new_app=1), so that you have your own Client Secret and Client ID. Then create two .env files (one for development and one for production).
264-
265-
1. Create a Slack App from the link above. Copy your Client ID and Client Secret somewhere safe.
266-
2. Create two .env files in the main root of this repository. Name them:
267-
268-
```
269-
.env
270-
.env.development
271-
```
272-
273-
3. Open .env and add these three environment variables. Replace <client secret> and <client id> with the client id and client secret given to you when you created your Slack App.
246+
- To get a better look at the features and how to use OverVue, take a look at the in-app tutorial!
274247

275-
```
276-
SLACK_CLIENT_SECRET = "<client secret>"
277-
SLACK_CLIENT_ID = "<client id>"
278-
SLACK_REDIRECT_URI = "overvue://slack"
279-
```
280-
281-
4. Next, open .env.development and do the same, just note that the SLACK_REDIRECT_URI will be different here:
282-
283-
```
284-
SLACK_CLIENT_SECRET = "<client secret>"
285-
SLACK_CLIENT_ID = "<client id>"
286-
SLACK_REDIRECT_URI = "overvuedev://test"
287-
```
248+
<br/>
288249

289-
[↥Back to top](#table-of-contents)
250+
[ Back to top](#table-of-contents)
290251

291252
### Changelog
292253

@@ -463,20 +424,49 @@ SLACK_REDIRECT_URI = "overvuedev://test"
463424
</details>
464425
<br/>
465426

427+
### Changelog 10.0
428+
429+
<details><summary>OverVue 10.0</summary>
430+
<ul>
431+
<li>Overhauled main view to be an interactive and intuitive tree view</li>
432+
<li>Updated HTML Elements list to have nested elements</li>
433+
<li>Created a focused component modal</li>
434+
<li>Integrated a11y-friendly Vuetensils component library</li>
435+
<li>Added unit testing for main tree view feature</li>
436+
<li>Refactored codebase, removing unneeded comments, unused files, console logs</li>
437+
<li>Cleaned UI of side bars</li>
438+
<li>Added previous main grid view to toggle (in top right settings)</li>
439+
<br>
440+
<h4><strong>Bug Fixes</strong></h4>
441+
<li>Fixed HTML elements not live rendering</li>
442+
<li>Fixed delete HTML element functionality being inconsistent</li>
443+
<li>Fixed Code Preview having unexpected code (i.e. v-model=undefined)</li>
444+
<li>Fixed various bugs related to empty HTML lists or routes with no children</li>
445+
<li>Fixed import statements and nesting in Code Preview and exported code</li>
446+
<li>Fixed entire testing suite</li>
447+
</ul>
448+
</details>
449+
<br/>
450+
466451
[↥Back to top](#table-of-contents)
467452

468453
## Contributing
469454

470455
We'd love for you to test out the application and submit any issues you encounter. Also feel free to fork to your own repo and submit PRs.
471456
Here are some features we're thinking about adding:
472457

473-
- Ability to choose options or composition API for code snippet and exported code
474-
- Ability to choose Vuex or Pinia for code snippet and exported code
458+
- Ability to choose options or composition API for code preview and exported code
459+
- Ability to choose Vuex or Pinia for code preview and exported code
475460
- Ability to add two-way binding to input elements
476-
- Make snap-to-grid optional with a toggle feature
477461
- Expand testing suite and add more dynamic tests
462+
- Reincorporate Slack OAuth
463+
- Add styling and script tags to Vuetensils boilerplate
464+
465+
Smaller changes that can be worked on:
478466

479-
If you make changes and wish to update the website, here is the link to the repo: https://github.com/OverVue9/OverVueWebsite
467+
- Removing ghost image when dragging HTML elements
468+
- Highlight active HTML element when selected/updating
469+
- Remove duplicate imports and account for nested components in Vuetensils import statement
480470

481471
<br/>
482472

@@ -524,6 +514,10 @@ Jigar Patel @jigarxp
524514
Linden Young @lindenyoung
525515
Chris Davis @chdavis0917
526516
Ji Kim @dwejikim
517+
Janica Abagat @janicaa1
518+
Jaime de Venecia @jdvplus
519+
Trisha Duong @trishanduong
520+
David Lee @GomDave
527521
```
528522

529523
Inspired by [PreVue](https://github.com/open-source-labs/PreVue)

babel.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ if (fs.existsSync('./.babelrc')) {
1313
}
1414

1515
module.exports = {
16-
presets: ['@quasar/babel-preset-app'],
16+
presets: ['@quasar/babel-preset-app', '@babel/preset-typescript', '@vue/cli-plugin-babel/preset', '@babel/preset-env'],
1717
extends: extend,
1818
};

extractor.js

Lines changed: 0 additions & 131 deletions
This file was deleted.

jest.config.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ module.exports = {
1111
pug: { doctype: 'html' },
1212
}
1313
},
14+
modulePaths: [ "<rootDir>", "/home/some/other/path" ],
15+
moduleDirectories: [ "node_modules" ],
16+
testEnvironmentOptions: {
17+
customExportConditions: ["node", "node-addons"],
18+
},
1419
// noStackTrace: true,
1520
// bail: true,
1621
// cache: false,
@@ -37,7 +42,7 @@ module.exports = {
3742
'<rootDir>/test/jest/__tests__/**/*.(spec|test).js',
3843
'<rootDir>/src/**/*.jest.(spec|test).js',
3944
],
40-
moduleFileExtensions: ['vue', 'js', 'jsx', 'json'],
45+
moduleFileExtensions: ['vue', 'js', 'jsx', 'json', 'ts'],
4146
moduleNameMapper: {
4247
'^quasar$': 'quasar/dist/quasar.esm.prod.js',
4348
'^~/(.*)$': '<rootDir>/$1',
@@ -50,7 +55,10 @@ module.exports = {
5055
'^boot/(.*)$': '<rootDir>/src/boot/$1',
5156
'.*css$': '@quasar/quasar-app-extension-testing-unit-jest/stub.css',
5257
},
58+
preset: 'ts-jest',
5359
transform: {
60+
'^.+\\.(ts|tsx)?$': 'ts-jest',
61+
// '^.+\\.(js|jsx)$": "babel-jest',
5462
// '.*\\.vue$': 'vue-jest',
5563
'.*\\.vue$': '@vue/vue3-jest',
5664
'.*\\.js$': 'babel-jest',

0 commit comments

Comments
 (0)