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

Added Mission UI #68

Merged
merged 155 commits into from
May 5, 2019
Merged

Added Mission UI #68

merged 155 commits into from
May 5, 2019

Conversation

Luis729
Copy link
Member

@Luis729 Luis729 commented Apr 27, 2019

Will open up the PR already so we can merge this weekend or so...

Will update the branch as we test the UI with vehicles.

Things to do before merging:

Fixes #36
Fixes #43
Fixes #45
Fixes #55
Fixes #64
Fixes #65

It is located in index.js to maintain a global variable of it and it is better allocated there than inside MissionContainer
Does not work for building yet, will look into solutions
Allows us to create more than one window on electron and linking them all to one html file without collision.

This works for building the app too, not just on development.

Next step is to update the new mission window to display whatever information is necessary for mission selected. See #45
Finding issues with geolocation, will fix
See the following thread: electron/electron#16139

This issue is fixed in the following thread, but wont be released until Electron 5: electron/electron#15618
MissionContainer has the logic and list of missions that the MissionWindow will be using.

Any information (mission has started, paused, completed, etc) in the MissionWindow will be retrieved from the MissionContainer
Travis CI had a small error with badge, needed to specify branch.
Currently has vulnerabilities, will be fixed in svg/svgo#1089
Note: when importing files (import X from './X'), and there are two files X.js and x.css, the program will import the CSS file (when intended to import the JS file).

This will cause an error in the program. The solution is to not name the CSS file as JS files.

Took a while to figure out since all code looked normal. Ill get working on getting structure up (will do Takeoff as an example)
Needs more work:
1. Create a general mission jsx class, since these classes seem to have similar logic.
2. Create some jobs. Its likely that jobs will need a general class too.

These general classes, by the way, should be superclasses to be extended from.
… to run

More logic. Should not affect building other missions. Just understand to forward mission index to mission jsx classes to be able to return that index to mission container to complete missions (and be able to run more than one mission at a time).
See #56.

Needs a lot of styling. Needs more logic.
 - Logic to add parameters from jobs to Orchestrator through startJob.
 - Logic to filter out unrelated veihicles while mission window is open. I might work on this next.

There are minor logic issues still. Will push anyway to share.
 - Buttons might not be properly turned on/off
 - PropTypes need to be fixed
Current version struggles to keep mission window state as well as job state.

The mission window can only keep track of one misison at a time, but it should be able to keep track of all missions. If I start one mission and start another, the mission window will forget all information about the first mission. There should be a fix to this.
Work in progress.

Note: I realized Leaflet loves to maky a lot of things any type, and our linter doesnt like that
Control TypeScript added, will continue on my PC

Added react-leaflet-control to declaration files. Moved the declaration file to root of repository, named as global.d.ts.
I got brain cancer from doing this
Helps with seeing what the variables are when hovering over them.

CachedTileLayer doesnt work right now and will fix soon.
I dont think I'll work on integrating TypeScript with mission window. I'll let @maquino123 and @tnleang handle that
Luis729 and others added 12 commits April 27, 2019 01:14
Modified to support that connectionAck messages should not be acknowledged.

Fixes the first checkpoint in #68. Not tested, but most likely works.
Not tested. Fixes checkmark 2 of #68.

Logic is to keep track of the detailed search task that is assigned, and see if a POI message is sent from the VTOL (that is doing the detailed search job). If so, that POI is valid. If a complete message is sent with no POI message in between, it means that the POI is invalid.
adding the missionWindow CSS. Currently there is only css for dark theme. There is no switch theme implemented yet.
@Luis729 Luis729 mentioned this pull request May 3, 2019
@Luis729
Copy link
Member Author

Luis729 commented May 3, 2019

Luis729 and others added 6 commits May 3, 2019 00:26
Was going to be bigger but I realized I was doing something I planned for next year instead. See #69

Instead here are changes:
1. Allow selecting text in log container (thanks @maxwey)
2. Fixed bug of not all missions are processed properly in Orchestrator if more than one mission was selected. Orchestrator will automatically assign parameters of any missions after the first mission. The user will only need to put parameters for the first mission executed.
3. Added support for UAV's two planes.
readded info back to missionWindow.tsx
Decided will not fix #65 and #70 as those are actually more difficult to implement than expected.

Will test this branch more to see basic functionality and then will merge to dev-2018 and then to master
@Luis729
Copy link
Member Author

Luis729 commented May 4, 2019

Will not fix #65 and #70 until next year

@Luis729 Luis729 merged commit ad2b1fe into dev-2018 May 5, 2019
@Luis729 Luis729 deleted the dev-2018-missionui branch May 5, 2019 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment