Commit Graph

26316 Commits (4f520a21449a4566799101efb183f95d4b67b7d1)

Author SHA1 Message Date
Ahmad Abdolsaheb a500279036 fix: editor resize (#39542) 2020-09-16 11:54:13 +05:30
Ahmad Abdolsaheb 9b1077acf5 fix: render editor tabs if SHOW_UPCOMING_CHANGES is 'true' (#39513) 2020-09-16 11:54:13 +05:30
Randell Dawson 06da30e48a feat(learn): Basic CSS Cafe Menu instructions and hints/tests (v7) (#39407)
* feat: created step instructions for cafe menu

fix: added instructions to steps 1-31

fix: changed steps 29-31

fix: added instructions for steps 32-42

fix: changed prototype class definition

fix: padded file names

fix: added instructions for steps 43-61

fix: add object id to final.md and final prototype to meta.json

fix: correct typos in steps 26 and 27

fix: misc wording changes

fix: added forward slash to closing html tag

fix: added instructions for steps 62-75

feat: added instructions to steps 76-79

fix: added FOOTER comment for steps 68-75

fix: add steps 68a and 68b

fix: add steps 69a and reorder steps

fix: added instructions to the final steps

* fix: remove final.md

* fix: fixed typo of menue to menu

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: combined two lines into same paragraph

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-09-16 11:54:13 +05:30
Randell Dawson 7abf0fde34 fix: correct filenames in d3 dashboard project 2020-09-16 11:54:12 +05:30
Randell Dawson 7565849d7d feat(learn): Added project-based curriculum tools (#39448)
* feat: added project-based curriculum tools

* fix: allow script to work /w or /wo npm run

* fix: moved console.log to reorder-steps function

* fix: integrated bson-objectid library
2020-09-16 11:54:12 +05:30
Randell Dawson b9c9a95223 chore(learn): Renamed all project-based curriculum project step filenames to use 3-digit format of part-ddd.md (#39463)
* fix: renamed basic html cat photo app steps

* fix: renamed css-variables project steps

* fix: renamed d3-dashboard filenames

* fix: renamed rpg-game filenames

* fix: renamed functional-progamming-spreadsheet filenames

* fix: renamed calorie-counter project filenames
2020-09-16 11:54:12 +05:30
Oliver Eyton-Williams 3cfd80a806 fix: handle editable region covering editor's top 2020-09-16 11:54:12 +05:30
Oliver Eyton-Williams 9df098953d Feat: editable dom element (#39341)
* feat: __testEditable allows editable region tests

It's not entirely isolated, but it makes it possible to select only the
element with id 'editable-only' which is built solely from code inside
the editable region.

* fix(client): missing editableContents -> ''

Previously it was added as the string 'undefined'

* fix: more informative error messages

* fix: DRY, correct and test getLines
2020-09-16 11:54:11 +05:30
Ahmad Abdolsaheb a1a051bd3a feat: add action row for challenges with ERMs on desktop (#39377) 2020-09-16 11:54:11 +05:30
Randell Dawson 69e3e138f6 fix: added missing ERMs to challenge seed 2020-09-16 11:54:11 +05:30
Oliver Eyton-Williams 9a137573a7 fix: only show description in target editor 2020-09-16 11:54:11 +05:30
Oliver Eyton-Williams 2abefc27a2 fix: handle missing ERB 2020-09-16 11:54:11 +05:30
Oliver Eyton-Williams 78c3b42770 fix: scroll to editable region on mount 2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams a4c836c6d4 feat: open target editor on mount 2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams 02aff4d400 feat: multiple concurrent editors 2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams 2e7a2424c1 refactor: DRY out DesktopLayout 2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams 3ea251383f fix: use loadable MonacoEditor 2020-09-16 11:54:10 +05:30
Randell Dawson 3b8e257643 fix: corrected freecatphotoapp.com link 2020-09-16 11:54:09 +05:30
Randell Dawson fd6f8b5cd4 feat(learn): Update Basic HTML Cat Photo App project descriptions and hints and tests (v7) (#39131)
* feat: added Cat Photo App project

Added new steps

feat: add tests + targetted hints for demo

simplify wording and combine some tests

feat: update text and add tests/hints

fix: changed descriptions and tests

feat: added tests for part 11 - 15

fix: reworded description for steps 2 and 10

fix: changed isBeta to isHidden

fix: temporarily remove fcc-editable strings

fix: added project to challengeTypes.js

fix: added missing parentheses

fix: test text improvements

fix: changes to tests and text discussed in meeting

fix: adjust logic for detecting indentation in part 07

fix: missing regex characters and made last test more permissive for part 04

feat: add steps 25 to 55 and notes

fix: added h1 element back to steps 5-24

fix: h1 and h2 elements from steps 25 to 50

fix: added missing DOCTYPE declaration steps 20-24

fix: miscellaneous text edits

fix: break up part 28, change local paths for images to short s3 cdn URLs

fix: part 01 and 02 descriptions and tests

feat: pull in changes from #39145 and remove solution sections

fix: adjust descriptions and break up steps 33 and 35

fix: break up more steps and adjust text

feat: add tests for parts 25 - 30

* fix: ran reorder-steps.js

* fix: added editable region markers

* fix: standardize opening tag hint text

* fix: remove trailing periods from descriptions and hints and adjust tests

* fix: remove unnecessary instructions sections

* fix: added test to check for only one h1 element

* fix: removed comma

* fix: changed paragraph element to `p` element

* fix: added test for extra h1 element

* fix: test to validate only one img element exists

* fix: replaced code tags with backticks

* fix: reworded description

* fix: reworded step description

* fix: changed tests for first step

* fix: change last two alt values to sentences

* fix: check for spaces in text strings

* fix: removed extra dot before replace method

* fix: moved example before instruction

* fix: rearranged step 6 tests

* fix: capitalized p in paragraph

* fix: rewored step 7's description and a test text

* fix: corrected test for step 8

* fix: improved step 9 tests

* fix: moved example above instruction

* fix: corrected step 9 test wording

* fix: rearrange test order for step 10

* fix: moved example before instructions for step 11

* fix: improved step 12 descripton and tests

* fix: corrected tests for steps 9, 10, 11, 13, 14

* fix: added ERMs to steps 4-14

* fix: minor typos

* fix: reword steps so examples are above instructions

* fix: introduce inline and block elements and use divs instead of br

* fix: add or adjust tests for steps 15 - 27

* fix: moved ERM up one line

* fix: removed unnecessary quotes in tests' text

* fix: added dfn tags for step 45

* fix: removed adding # to href step

* fix: tests 15 - 16

* fix: reword descriptions so they're not as hand holdy

* fix: reorder/reword steps 58 - 60

* feat: simplify radio button steps

* fix: wording and add demo step

* fix: remove doctype and teach in last step

* fix: update part-demo

* fix: added some more step 15 hints

* fix: added step to introduce section elems

* fix: added section elements to project

* fix: update final code

* fix: update tests for 15a and 16

* fix: add section elements to parts 45 to 61

* fix: change p elements to h3, update tests and text

* fix: added new test for step 9

* fix: fixed/added tests for steps 15-30a

* fix: use fieldset elements instead of divs in the form

* fix: added new test to setp 30a

* fix: changed `main` to `section`

* fix: corrected/added tests for step 31

* feat: add tests 32 - 36

* fix: revert change to js rpg game

* fix: simplify tests 32 - 36

* fix: updated submit-cat-form url

fix: changed submit-cat-form url

* fix: added/rearranged tests steps 32-36

* fix: added tests for step 36a

* fix: used hasAttribute where applicable

* fix: misc edits for steps 10 and 35-36a

* fix: add tests to step 37

* fix: reworded step 37

* fix: added more verbiage to steps 35 and 36

* fix: modified step 38 desc and added tests

* fix: added hints/tests for step 40

* fix: added hints/tests for step 41

* fix: added hints/tests for steps 42 and 43

* fix: made attribute values match exactly

* fix: change wording from text input to text field

* fix: rearrange name attribute lessons

* feat: tests for 44 - 44b

* fix: added a step  35a

* fix: added name="catphotourl" to steps 36-61

* fix: reworded steps 41 and 43

* fix: removed intro to for attribute

* fix: rewrite of step 44b's desc and tests

* fix: added step 45 hints/tests

fix

* fix: removed for attribute from steps 45a-61

* fix: removed extra )

* fix: wrapped "section" with backticks

* fix: added test for steps 45a and 45b

* fix: adjust position of label steps 55-61

* fix: removed conole.log statements

* fix: added tests to step 45c

* fix: renamed step 49 to step 46a

* fix: moved label element for steps 48-53

* fix: reworded step 47 description and instructions

* fix: typos in description and test text

* feat: add tests 46-48

* fix: wording

* fix: remove case insensitivity from a couple of tests

* fix: wording and add erms

* fix: add additional test for step 48

* fix: added hints/tests for step 50

* fix: added hints/tests for step 51

* fix: added hints/tests to step 53

* fix: added hints/tests for step 55

* fix: added hints/tests for step 56

* feat: tests for 57-61

* fix: removed duplicate test in step 55

* fix: adjusted 1st test for step 57

* fix: simplified test for title text

* fix: improved tests for step 60-61

* fix: removed demo.md file

* fix: ran reorder-steps.js

* fix: part 10 description

* fix: part 14 description

* fix: part 24 - move ERMs

* fix: part 05 description

* fix: part 54 test text

* fix: part 06 - wording and add test for p and main closing tag order

* fix: part 50 - add test to check for order of fieldset elements

* feat: value attribute for radio buttons step and seed changes

* feat: value attribute for checkboxes step and seed changes

* fix: update part 14 description

* fix: revert ERMs for part 24

* fix: remove last test in part 06

* fix: text and typos for new radio and checkbox lessons

* fix: text and typos for new radio and checkbox lessons

* fix: add test to part 01

* fix: ran reorder-steps.js

Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams ad83a2e3f4 feat: show one hint at a time 2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams 68b223322f feat: make editable code available in tests 2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams 6e091a7cdb test: update parser tests and snapshots 2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams 0f3f27287d fix: unify single and multifile testing 2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams d7dc1acb4a chore: update lang tags on code blocks 2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams 120bb342e8 fix: keep the zones in the right places
The description zone needs fixing, but the hint zone should behave correctly.
2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams e34bdded7d fix: region expansion
Now the top region can expand up and the bottom region down.
2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams f7ce54a154 fix: prevent deletion of editable region at bottom
If the first line of the greyed out region is deleted it now springs
back. As does the second line - which needs fixing
2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams 52cb6adf02 refactor: sortFiles -> toSortedArray 2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams 1ee5e24d0f feat(multi): insert description into editor 2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams 59c838e8ca feat(multi): add editor decoration
The warning region does not grow at the edges This makes it harder for
the user to get into an odd state.  It might be better to have let the
user expand the second region at the trailing edge.  I'm not sure, and
that's harder to implement.
2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams dfbf1ae9ae refactor(multi): DRY out view state changes 2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams 1e1a0939ab feat: highlight currently selected editor tab 2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams ad059dc49c fix(a11y): improve tab navigation for Editor 2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams 301212e194 feat: handle multi-file solutions 2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams 54630cbfca fix: update editor on code reset 2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams 3783ef118e fix(multi): validate challenges correctly 2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams 754a33970e refactor(multi) move preparation into curriculum 2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams 88de5bc602 refactor: sort-files -> common utils 2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams 063145fe90 feat(parser): handle multi-file solutions 2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams a959d462e9 fix(client): update editor when code is reset 2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams 10d2559fee feat(client): handle jsx in multi-file editor 2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams 1a985f95f5 feat: initialise editor with 'first' file
Since sort-files exists, the challengeFiles have an order. The editor
now displays the first file on mount.
2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams f82886148c feat: add simple challengeFile sorter 2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams b0f18cacc7 fix: prevent unnecessary re-renders
The editor should handle its own rendering.  By including a key that
changes as the users changes tabs forces the editor to re-render.  This
gets triggered as the user types, resetting the cursor to the start of
the editor.

Now the key only changes if the theme changes.
2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams 4de5c5fde3 fix: concat sources so that 'code' has them all 2020-09-16 11:54:03 +05:30
Oliver Eyton-Williams dea30c1397 feat: simple prototype for dynamic tabs
While this works for html challenges, it should dynamically generate the
tabs in a predetermined order from the available files.
2020-09-16 11:54:03 +05:30
Oliver Eyton-Williams 631c2671b6 feat: support multiple editor tabs
Generates models to handle multiple groups of code (html, js or css) and
tracks the editor state as user moves between tabs. The current model
is connected to the redux store via a key associated with the file in
the editor.
2020-09-16 11:54:03 +05:30
Oliver Eyton-Williams a0f43c93ba chore: update react-monaco-editor 2020-09-16 11:54:03 +05:30
moT01 7bd6e77b0f feat: add multi file capabillity 2020-09-16 11:54:03 +05:30
Oliver Eyton-Williams b25089d7c8 fix: relax challenge validation for multiple seeds 2020-09-16 11:54:02 +05:30