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

Refactor frontend pt. 2 #806

Closed
wants to merge 131 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
7074414
Use CSS instead of <em> for built-in examples
tbekolay Jul 14, 2016
3749310
Use npm and webpack to build GUI frontend.
tbekolay Jul 14, 2016
f7657d7
Rename ace -> editor
tbekolay Jul 15, 2016
8f17e56
Fix a bug with the filetree
tbekolay Jul 17, 2016
9343e47
Run jscs and jsDoc through npm
tbekolay Jul 18, 2016
b8f4a5d
Fix style in JavaScript, Python, and HTML
tbekolay Jul 18, 2016
dfe8363
Use a closure in Nengo.next_zindex
tbekolay Jul 18, 2016
43d31fd
Fix some incorrect constructor definitions
tbekolay Jul 18, 2016
99c7f8b
Modularize JS
tbekolay Jul 18, 2016
9b55606
Convert JavaScript files to TypeScript.
tbekolay Aug 4, 2016
a3c9f5c
Fix indentation in TypeScript files.
tbekolay Aug 10, 2016
7a1cfd8
WIP: style fixes
tbekolay Aug 22, 2016
0c3ee60
REMINDER: grep for funcion( and replace with arrow func
tbekolay Sep 3, 2016
08d9e72
REMINDER: convert all jsdoc -> typedoc
tbekolay Sep 4, 2016
a7d203a
WIP: more style fixes
tbekolay Sep 6, 2016
8e8c92d
Use typedoc for documentation
tbekolay Sep 6, 2016
15879e9
WIP: test DOM with jsdom
tbekolay Sep 6, 2016
95537f7
Test config and make it work without browser
tbekolay Aug 28, 2016
2035c07
Rename save_all_components -> save_all_layouts
tbekolay Aug 29, 2016
58c9b2a
WIP
tbekolay Sep 1, 2016
750c616
REMINDER: make ts-lint rules for typedoc
tbekolay Sep 11, 2016
3409d69
Arbitrary checkpoint
tbekolay Sep 16, 2016
ca3f6bd
Arbitrary checkpoint
tbekolay Sep 22, 2016
3f0ddd9
Arbitrary checkpoint
tbekolay Sep 30, 2016
cb4f363
REMINDER: update to Typescript 2.0, use @types packages
tbekolay Oct 5, 2016
568966c
Started on a WAMP-like websocket implementation
tbekolay Oct 6, 2016
294f172
Arbitrary checkpoint
tbekolay Oct 6, 2016
0279902
Semi-arbitrary checkout
tbekolay Oct 9, 2016
911ad76
REMINDER: consider hot module replacement for debug
tbekolay Oct 12, 2016
638fb42
REMINDER: document npm test -- --watch
tbekolay Oct 12, 2016
6ca5229
Semi-arbitrary checkpoint
tbekolay Oct 12, 2016
6755e14
SimControl good enough to share
tbekolay Oct 20, 2016
9d70971
Remove some commented out code
tbekolay Oct 23, 2016
abe429f
Update yarn.lock
tbekolay Mar 1, 2017
2744aaf
Fix new TypeScript errors
tbekolay Mar 1, 2017
cdab50a
Refactor datastore.ts
tbekolay Mar 2, 2017
b82bcfb
Add autocomplete to debug console
tbekolay Mar 14, 2017
3a05942
Refactor debug interface
tbekolay Mar 16, 2017
b63754f
Checkpoint: ConfigDialogView done
tbekolay Mar 21, 2017
a35c3f6
Checkpoint: all modals converted
tbekolay Mar 23, 2017
72f0636
Checkpoint: Editor mostly done
tbekolay Mar 23, 2017
6af5beb
Checkpoint: Toolbar view done
tbekolay Mar 28, 2017
18eac9a
Checkpoint: Menu refactored
tbekolay Mar 29, 2017
c00000e
Checkpoint: Sidebar done
tbekolay Apr 3, 2017
e693f5b
first draft after moving and subclassing item files
Seanny123 Nov 6, 2016
7279ecf
finished first draft of converting to ws-conn
Seanny123 Nov 6, 2016
853afcc
switching to windows
Seanny123 Nov 6, 2016
4311eee
forgot minimap
Seanny123 Nov 6, 2016
adee933
fixup! switching computers
Seanny123 Nov 13, 2016
f6d0e55
fixup! almost done seperating the minimap
Seanny123 Nov 15, 2016
cb62458
started co-operating with maquette
Seanny123 Nov 16, 2016
eff5a63
start seperating out the view
Seanny123 Nov 16, 2016
cb6c27c
preparation for view seperation
Seanny123 Nov 17, 2016
b3e3edf
fixup! further preparations
Seanny123 Nov 17, 2016
6953018
created connection to server
Seanny123 Jan 18, 2017
0c3b2c5
start testing
Seanny123 Jan 20, 2017
9b44a5a
able to run NetGraph in debug
Seanny123 Jan 22, 2017
d86693d
netgraph is appearing
Seanny123 Jan 22, 2017
4e96b8c
waiting for reply to maquette question
Seanny123 Jan 22, 2017
baf1ee3
pushed resizing code down inheritance
Seanny123 Jan 27, 2017
2e022e2
started using accessors
Seanny123 Jan 28, 2017
79c3561
svg all the way
Seanny123 Jan 28, 2017
2d17ed0
made viewport and all-components less global
Seanny123 Jan 29, 2017
7bbe7bf
got rid of more jQuery
Seanny123 Jan 29, 2017
50e6e08
gotta split up view and controller for better undertanding
Seanny123 Jan 29, 2017
097da30
started view seperation for simpler debugging
Seanny123 Jan 30, 2017
45c285b
found bug thanks to Firefox
Seanny123 Feb 1, 2017
538e0b4
more view refactoring
Seanny123 Feb 19, 2017
3d052fa
help me trevor
Seanny123 Feb 26, 2017
6111f92
fixed svg not being rendered
Seanny123 Feb 28, 2017
2615929
started seperating view and controller
Seanny123 Feb 28, 2017
1a7edd9
started testing seperate view and controller
Seanny123 Mar 1, 2017
a87e0c9
removed misplaced view
Seanny123 Mar 4, 2017
687a057
yarn.lock is actually important
Seanny123 Mar 4, 2017
58b87c0
got the menu to start using Maquette
Seanny123 Mar 4, 2017
b1a062e
improved menu cooperation
Seanny123 Mar 4, 2017
84c6591
a few more tweaks
Seanny123 Mar 4, 2017
7ad88a3
forgot a tweak
Seanny123 Mar 4, 2017
378021f
quick touch-ups before bed
Seanny123 Mar 4, 2017
cce65fd
more cleanup of components
Seanny123 Mar 4, 2017
b4c7681
fixed menu type argument
Seanny123 Mar 5, 2017
c01c591
further menu-based improvements
Seanny123 Mar 5, 2017
88e6434
lazy component fixing
Seanny123 Mar 5, 2017
8c6dc01
fixed viewport error
Seanny123 Mar 5, 2017
1d86541
minor, mostly style changes
Seanny123 Mar 5, 2017
0af0a99
fixed weird scope errors
Seanny123 Mar 5, 2017
47f633f
almost got dragging working with real objects
Seanny123 Mar 5, 2017
2fa35ef
allow for more than one class per file
Seanny123 Mar 26, 2017
dc718f5
new tslint cleanup
Seanny123 Mar 26, 2017
699cdbd
further style fixes
Seanny123 Mar 26, 2017
0739895
more minor fixes
Seanny123 Mar 30, 2017
7ffaab4
setup debugging env
Seanny123 Apr 1, 2017
b7c01c2
post rebase touch-ups
Seanny123 Apr 1, 2017
3a5ff66
started debugging netgraph
Seanny123 Apr 2, 2017
e04df7c
seperated view from controller
Seanny123 Apr 2, 2017
3b789c0
oops, forgot to save one more thing
Seanny123 Apr 2, 2017
6e70197
Checkpoint: Netgraph items showing up in debug
tbekolay Apr 14, 2017
daebe75
Checkpoint: Components look and feel right
tbekolay Apr 16, 2017
d3acf94
Checkpoint: Value can be added
tbekolay Apr 21, 2017
b918de5
Checkpoint: Axes in value plot look right
tbekolay Apr 25, 2017
ffc3461
Checkpoint: Value plot plots
tbekolay Apr 26, 2017
581cbac
Checkpoint: Legend done, XY mostly done
tbekolay May 1, 2017
01e2818
Checkpoint: Mostly done pointer, raster, spa-sim
tbekolay May 3, 2017
8bb1625
Checkpoint: Connection views done
tbekolay May 5, 2017
ba14ab9
More progress on connections, etc
tbekolay Jun 26, 2017
6983abf
small style fixes
Seanny123 Jul 20, 2017
a5c984e
Python test restructure
tbekolay Jul 31, 2017
cdab0ad
Fix Python code style
tbekolay Aug 1, 2017
edd6f7d
Add tests for Config
tbekolay Aug 1, 2017
4364970
Add tests for exec_env
tbekolay Aug 1, 2017
b86fe80
Some documentation updates
tbekolay Aug 8, 2017
7f58485
Refactor server
tbekolay Aug 8, 2017
b5778b1
Move compat to package root
tbekolay Aug 9, 2017
1fe8181
Checkpoint: partway through backend refactor
tbekolay Aug 23, 2017
9bf9e27
Checkpoint: more progress
tbekolay Aug 28, 2017
3a5be76
Checkpoint: yet more progress
tbekolay Sep 1, 2017
a285b17
Checkpoint: component interface makes sense
tbekolay Sep 6, 2017
e876063
Checkpoint: most components done
tbekolay Sep 7, 2017
9211674
Checkpoint: all components done!
tbekolay Sep 8, 2017
22f6b5f
Checkpoint: components half tested
tbekolay Sep 12, 2017
4066ae9
Checkpoint: tested, fixed slider
tbekolay Sep 14, 2017
becba67
Checkpoint: Basic component tests done
tbekolay Sep 19, 2017
a624f75
Checkpoint: basic JSON config working
tbekolay Sep 29, 2017
093e455
Checkpoint: starting to connect back/frontend
tbekolay Oct 12, 2017
1dcde9c
Get frontend debug working again
tbekolay Oct 12, 2017
cdd317e
Checkpoint: some front/backend components connected
tbekolay Oct 27, 2017
8da176d
Checkpoint: editor, toolbar, sidebar working
tbekolay Nov 2, 2017
855a6cb
Checkpoint: zooming and panning much simpler now
tbekolay Nov 14, 2017
472f9cd
Checkpoint: put views in same files as model
tbekolay Nov 14, 2017
401bf22
Checkpoint: value plots hooked up, but slow
tbekolay Nov 23, 2017
7eb408b
Checkpoint: simcontrol, sliders, components
tbekolay Dec 15, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 19 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,27 @@ target/
# Mac OS X stuff
.DS_Store

# nengo_viz specific
*.py.cfg
# nengo_gui specific
# *.py.cfg
.ipynb_checkpoints

# Vagrant
.vagrant
Vagrantfile

# Node JS
node_modules/

# jsDoc
out/

# TypeScript
typings/
nengo_gui/static/**/*.js
nengo_gui/static/**/*.js.map

# JS files associated with tests
**/tests/*.js

# IDE related files
.vscode/
28 changes: 25 additions & 3 deletions .jscs.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"excludeFiles": ["nengo_gui/static/dist/**"],

"requireCurlyBraces": [
"if",
"else",
Expand All @@ -11,10 +13,20 @@
"requireOperatorBeforeLineBreak": true,
"maximumLineLength": {
"value": 80,
"allExcept": ["comments", "regex"]
"allExcept": ["regex"]
},
"validateIndentation": 4,

"requireCapitalizedComments": true,
"requireSpaceAfterLineComment": true,
"disallowMultipleSpaces": true,
"requireKeywordsOnNewLine": [
"do", "for", "while",
"switch", "case",
"try", "catch", "finally",
"return"
],

"disallowMultipleLineStrings": true,
"disallowMixedSpacesAndTabs": true,
"disallowTrailingWhitespace": true,
Expand All @@ -33,15 +45,25 @@
"try",
"catch"
],
"requireSpaceAfterComma": {
"allExcept": ["trailing"]
},
"requireSpaceBeforeBinaryOperators": [
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
"&=", "|=", "^=", "+=",

"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
"+", "-", "%", "<<", ">>", ">>>", "&",
"|", "^", "&&", "||", "===", "==", ">=",
"<=", "<", ">", "!=", "!=="
],
"requireSpaceAfterBinaryOperators": [
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
"&=", "|=", "^=", "+=",

"+", "-", "%", "<<", ">>", ">>>", "&",
"|", "^", "&&", "||", "===", "==", ">=",
"<=", "<", ">", "!=", "!=="
],
"requireSpaceAfterBinaryOperators": true,
"requireSpacesInConditionalExpression": true,
"requireSpaceBeforeBlockStatements": true,
"requireSpacesInForStatement": true,
Expand Down
10 changes: 5 additions & 5 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ Release History

.. Changes should be organized in one of several sections:

- API changes
- Improvements
- Behavioural changes
- Bugfixes
- Documentation
- Added
- Changed
- Deprecated
- Removed
- Fixed

0.2.1 (unreleased)
==================
Expand Down
5 changes: 5 additions & 0 deletions browserslist
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Browsers that Nengo GUI supports
Chrome >= 50
Firefox >= 45
Safari >= 9
# Should test with Microsoft Edge, IE, Opera
30 changes: 30 additions & 0 deletions docs/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.MathJax .mi, .MathJax .mo {
color: inherit;
}

.container.docutils {
margin: inherit;
padding: inherit;
width: inherit;
}

.container.docutils.toggle {
margin: 0;
padding: 0;
}

.toggle .header {
clear: both;
cursor: pointer;
display: block;
}

.toggle .header::after {
content: " ▼";
display: inline;
}

.toggle .header.open::after {
content: " ▲";
display: inline;
}
22 changes: 22 additions & 0 deletions docs/_templates/layout.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{# Import the theme's layout. #}
{% extends "!layout.html" %}

{%- block extrahead %}
<link rel="stylesheet" type="text/css" href="{{ pathto("_static/custom.css", 1) }}">
{# Call the parent block #}
{{ super() }}
{%- endblock %}

{%- block footer %}
<script type="text/javascript">
$(document).ready(function() {
$(".toggle > *").hide();
$(".toggle .header").show();
$(".toggle .header").click(function() {
$(this).parent().children().not(".header").toggle(400);
$(this).parent().children(".header").toggleClass("open");
});
});
</script>
{{ super() }}
{%- endblock %}
131 changes: 131 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
*************
Nengo GUI API
*************

.. automodule:: nengo_gui.config
:members:
:undoc-members:

.. automodule:: nengo_gui.exec_env
:members:
:undoc-members:

.. automodule:: nengo_gui.gui
:members:
:undoc-members:

.. automodule:: nengo_gui.guibackend
:members:
:undoc-members:

.. automodule:: nengo_gui.ipython
:members:
:undoc-members:

.. automodule:: nengo_gui.layout
:members:
:undoc-members:

.. automodule:: nengo_gui.main
:members:
:undoc-members:

.. automodule:: nengo_gui.modal_js
:members:
:undoc-members:

.. automodule:: nengo_gui.namefinder
:members:
:undoc-members:

.. automodule:: nengo_gui.page
:members:
:undoc-members:

.. automodule:: nengo_gui.password
:members:
:undoc-members:


.. automodule:: nengo_gui.server
:members:
:undoc-members:

.. automodule:: nengo_gui.static_plots
:members:
:undoc-members:

.. automodule:: nengo_gui.user_action
:members:
:undoc-members:

.. automodule:: nengo_gui.version
:members:
:undoc-members:

.. automodule:: nengo_gui.viz
:members:
:undoc-members:

Components
==========

.. automodule:: nengo_gui.components.component
:members:
:undoc-members:

.. automodule:: nengo_gui.components.ace_editor
:members:
:undoc-members:

.. automodule:: nengo_gui.components.editor
:members:
:undoc-members:

.. automodule:: nengo_gui.components.htmlview
:members:
:undoc-members:

.. automodule:: nengo_gui.components.netgraph
:members:
:undoc-members:

.. automodule:: nengo_gui.components.pointer
:members:
:undoc-members:

.. automodule:: nengo_gui.components.raster
:members:
:undoc-members:

.. automodule:: nengo_gui.components.sim_control
:members:
:undoc-members:

.. automodule:: nengo_gui.components.slider
:members:
:undoc-members:

.. automodule:: nengo_gui.components.spa_plot
:members:
:undoc-members:

.. automodule:: nengo_gui.components.spa_similarity
:members:
:undoc-members:

.. automodule:: nengo_gui.components.spike_grid
:members:
:undoc-members:

.. automodule:: nengo_gui.components.value
:members:
:undoc-members:

.. automodule:: nengo_gui.components.voltage
:members:
:undoc-members:

.. automodule:: nengo_gui.components.xyvalue
:members:
:undoc-members:
6 changes: 0 additions & 6 deletions docs/codeflow.rst

This file was deleted.

Loading