NetLogo / NetLogo/Galapagos

Rework Widget javascript code to not use a global variable for entry point

Open
#137 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Beak
Dominant language
CoffeeScript
Stars
65
Forks
47
PR merge metrics
No merged PRs in 30d

Description

Currently having two nlogo models compiled to the same page would break as things would get added improperly.

This will involve reworking how the widgets get compiled into javascript themselves, perhaps by some user defined connection between the compiled js and the code widget.coffee. Another option is having the entire session booted up from the compiled netlogo file (perhaps via workspace?) The goForever code that constantly monitors the widgets would either need to take care of all models loaded on page, or a separate goForever timeout would need to be created for each one.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the widget.coffee compilation flow and the goForever code that monitors widgets, then inspect how the compiled NetLogo file or workspace boots a session. Compare the possible entry-point and per-model timeout approaches. Done means two nlogo models can load on the same page without their widgets interfering.

Written by the indexing model from the issue text.

Assessment

Tech stack
coffeescript, javascript
Domain
frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.