Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Vue #1

Merged
merged 89 commits into from
May 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
590c6e2
Setup Vue
fowwo Apr 20, 2024
db9183f
Convert automata models and tests to TypeScript
fowwo Apr 21, 2024
05c4035
Add automata data types
fowwo Apr 22, 2024
394b05a
Mount app to body
fowwo Apr 23, 2024
5bf89e0
Convert diagram and workspace to components
fowwo Apr 23, 2024
0c2b345
Add Modal component
fowwo Apr 23, 2024
7e7a3dc
Extract new automaton modal to component
fowwo Apr 23, 2024
3c9c4c4
Extract automaton settings modal to component
fowwo Apr 23, 2024
d8e5dd1
Add DiagramIcon component
fowwo Apr 24, 2024
4f79ea6
Add Radio and Checkbox components
fowwo Apr 25, 2024
daadc39
Add Note component
fowwo Apr 25, 2024
1f9351a
Replace Diagram class
fowwo Apr 25, 2024
33df527
Load diagrams from local storage as reactive state
fowwo Apr 25, 2024
980eaa5
Implement new diagram button
fowwo Apr 25, 2024
53eabc2
Extract sidebar to component
fowwo Apr 25, 2024
edcda7b
Implement color scheme toggle
fowwo Apr 25, 2024
7b2c3e5
List diagrams in sidebar
fowwo Apr 25, 2024
06a2a3e
Show diagram name in interface
fowwo Apr 25, 2024
d848afd
Make Diagram Icon symbol reactive
fowwo Apr 25, 2024
50d5139
Adjust interface shadows
fowwo Apr 25, 2024
4c10273
Implement diagram renaming
fowwo Apr 25, 2024
1ca2213
Add TextInput component
fowwo Apr 26, 2024
1e551bd
Reset transform when changing diagrams
fowwo Apr 26, 2024
0f8720c
Compute Input attributes
fowwo Apr 26, 2024
87fc85e
Add TextValidatorInput component
fowwo Apr 26, 2024
9795920
Refactor and bugfix TextValidatorInput
fowwo Apr 26, 2024
cea9924
Ensure unique and non-empty diagram names
fowwo Apr 27, 2024
a181728
Set default text input width
fowwo Apr 27, 2024
3667dd6
List state info in automaton modal
fowwo Apr 27, 2024
8baadee
Focus on new state label input
fowwo Apr 28, 2024
431eaec
Add Select component
fowwo May 1, 2024
1c89f19
Add DFA transition table
fowwo May 1, 2024
ee9965c
Extract transition table to component
fowwo May 1, 2024
dc75bf4
Add NFA transition table
fowwo May 2, 2024
060419e
Set default Turing Machine blank symbol
fowwo May 2, 2024
7461ea2
Merge branch 'main' into vue
fowwo May 2, 2024
679d6e6
Allow non-array options
fowwo May 2, 2024
44188d3
Add Select disabled attribute
fowwo May 2, 2024
7a320fe
Remove redundant else condition
fowwo May 2, 2024
a49588b
Add TM transition table
fowwo May 2, 2024
49cf675
Prevent empty NFA transition objects
fowwo May 2, 2024
463ac93
Implement Turing Machine removeState
fowwo May 2, 2024
288034d
Add DFA isComplete method
fowwo May 2, 2024
3408f8e
Replace "final state" with "accept state"
fowwo May 3, 2024
90e39f0
Add continuous integration workflows
fowwo May 7, 2024
38b438d
Convert Element to component
fowwo May 8, 2024
4e5c6f9
Convert StraightArrow to component
fowwo May 9, 2024
46c2b8a
Add drag/grab styles
fowwo May 12, 2024
c5bae8c
Add Drag composable
fowwo May 12, 2024
036221e
Add Transform position getter/setter
fowwo May 12, 2024
093b518
Convert Anchor to component
fowwo May 12, 2024
6e8cd60
Convert State to component
fowwo May 12, 2024
15ac907
Load states in diagram
fowwo May 12, 2024
0ff9cc9
Add default StraightArrow prop values
fowwo May 12, 2024
98bef78
Add Arc component
fowwo May 14, 2024
bc8e265
Store rendered state refs
fowwo May 15, 2024
8c01f43
Add Text component
fowwo May 15, 2024
932a24e
Add Transition component
fowwo May 15, 2024
ad96a72
Adjust Text size and alignment
fowwo May 15, 2024
1ef0cb6
Relatively position nested Element components
fowwo May 15, 2024
22fb1f9
Add Label component
fowwo May 15, 2024
b477b10
Create individual Diagram type classes
fowwo May 18, 2024
c71b0bc
Add Diagram parsing and creation functions
fowwo May 18, 2024
5a3aac7
Render transitions in diagram
fowwo May 18, 2024
b1e78bd
Fix diagram pan targeting wrong element
fowwo May 18, 2024
8126901
Prevent transition labels from blocking pointer events
fowwo May 18, 2024
710f967
Extract States page to component
fowwo May 20, 2024
8604628
Extract General page to component
fowwo May 20, 2024
e7a9a79
Convert TransitionTable to Transitions page
fowwo May 20, 2024
147ca15
Add Input auto width class
fowwo May 21, 2024
2ee9697
Add .renameSymbol method to automata classes
fowwo May 21, 2024
76de902
Add parameter documentation
fowwo May 23, 2024
2ab2441
Convert alphabets to lists
fowwo May 23, 2024
f82b731
Allow renaming of all Turing machine symbols
fowwo May 23, 2024
b0aa39e
Add Alphabet page
fowwo May 24, 2024
af1f7c9
Add new symbol button
fowwo May 24, 2024
8d902cd
Add Automaton.symbols getter
fowwo May 24, 2024
d0d893d
Implement TuringMachine.addTapeSymbol
fowwo May 24, 2024
e323b06
Add tape symbols to Alphabet page
fowwo May 24, 2024
019cdde
Add .removeSymbol method to automata classes
fowwo May 24, 2024
6238a4a
Prevent renaming to and from epsilon symbol
fowwo May 24, 2024
938bc59
Adjust test case conditions
fowwo May 24, 2024
8b33ebf
Add blank symbol to Alphabet page
fowwo May 24, 2024
62d5716
Add remove symbol buttons
fowwo May 24, 2024
f4f32ae
Fix note display style being overwritten
fowwo May 24, 2024
d66e9b3
Fix note not considering all symbols
fowwo May 24, 2024
f59fcfc
Save changes to local storage
fowwo May 24, 2024
1b92057
Rename repo
fowwo May 24, 2024
9245036
Deploy only on pushes to main
fowwo May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Build + Deploy

on:
workflow_call:

permissions:
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Cache
id: cache
uses: actions/cache@v4
with:
path: dist
key: build ${{ hashFiles('dist') }}
- name: Upload artifact
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/upload-pages-artifact@v3
with:
path: dist
outputs:
no-changes: ${{ steps.cache.outputs.cache-hit }}
deploy:
name: Deploy
needs: build
if: needs.build.outputs.no-changes != 'true'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
18 changes: 18 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Continuous Integration

permissions:
pages: write
id-token: write

on:
push:
branches: [ main ]

jobs:
test:
name: Test
uses: ./.github/workflows/test.yml
build-and-deploy:
name: Build + Deploy
uses: ./.github/workflows/build-and-deploy.yml
needs: test
25 changes: 25 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Test

on:
workflow_call:
workflow_dispatch:
push:
branches: [ dev ]
pull_request:

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
dist
17 changes: 0 additions & 17 deletions Element/Anchor.js

This file was deleted.

40 changes: 0 additions & 40 deletions Element/Draggable.js

This file was deleted.

63 changes: 0 additions & 63 deletions Element/Element.js

This file was deleted.

18 changes: 0 additions & 18 deletions Element/SVG.js

This file was deleted.

151 changes: 0 additions & 151 deletions Element/State.js

This file was deleted.

Loading