Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 22, 2015
  1. @beneater
Commits on Feb 19, 2015
  1. @beneater

    Fix dropdown z-index

    beneater authored
    Test Plan:
    Load http://exercises.ka.local/exercises/inequalities_on_a_number_line.html?problem=equation_from_line
    Turn on the scratchpad
    Use the dropdown
    
    Auditors: aria
Commits on Feb 5, 2015
  1. @ariabuckles

    Check Answer: Remove defunct "Try Again" code

    ariabuckles authored
    Summary:
    This code currently doesn't do anything useful.
    We can revisit this in the future if we want to (though
    we all seem to sort of like the current way), but I guess
    for now the code ought to reflect what actually happens ;)
    
    Test Plan:
    Do additon_1 in webapp and see that I can still check answer
    and progress.
    
    Auditors: emily, eater
Commits on Feb 4, 2015
  1. @mgp

    Include any error with each apiRequestEnded event

    mgp authored
    Summary:
    Toward fixing
    https://app.asana.com/0/16089597562651/24907729174260/f.
    
    The native side of the iOS app cannot determine whether the underlying
    JS has failed a request. This provides such telemetry.
    
    Test Plan:
    Add a breakpoint in the always method.
    Make a successful attempt. Assert that requestEndedParameters is undefined.
    Go offline. Make a failed attempt. Assert that requestEndedParameters is a JS object.
    
    Reviewers: david, benkomalo, nacho, eater
    
    Reviewed By: nacho, eater
    
    Subscribers: nacho, andy
    
    Differential Revision: https://phabricator.khanacademy.org/D16050
Commits on Feb 2, 2015
  1. @xymostech

    Add mobile support for the primeFactorization answer type

    xymostech authored
    Summary:
    Add a class to the input that is produced so that mobile can
    tell that the input should use the expression widget. Also, add some
    more filtering of the guess to handle the LaTeX that it recieves from
    MyScript.
    
    Test Plan:
     - Apply the corresponding mobile diff
     - Visit the Prime Factorization exercise
     - Answer problems where the solution looks like:
       - `2`
       - `2^3`
       - `2 \cdot 3`
       - `2 \times 3`
       - `2 ^ 3 \times 3 ^ 2`
     - See that they all work
    
    Reviewers: eater
    
    Reviewed By: eater
    
    Differential Revision: https://phabricator.khanacademy.org/D15918
Commits on Jan 28, 2015
  1. @beneater

    Determinstically choose problem type

    beneater authored
    Somehow some refactor resulted in us using `Math.random()` instead of `KhanUtil.random()` for choosing the problem type. The latter is stable for a given user.
    
    Test Plan:
    1. Load http://stable.ka.local/math/geometry/geometric-constructions/geo-bisectors/e/constructions_1 in webapp
    2. Refresh the page ~5 times
    3. Get the same problem each time
    4. Cross fingers that we didn't get the same problem by chance (p=0.0016)
    
    Auditors: emily
Commits on Jan 26, 2015
  1. @beneater

    Don't always assume double arrows in graphInit()

    beneater authored
    Summary: This if statement would always evaluate as true, which I'm pretty sure isn't what we want, though who knows what's out there that depends on this behavior :\
    
    Test Plan:
    1. Substate this into graphie-to-png
    2. Run app.py in graphie-to-png
    3. Go to http://localhost:5001/ and choose "1. Simple plot"
    4. Change the `axisArrows: "<->"` line to `"->"` and `""` and regraph, seeing the correct axis arrows
    
    Reviewers: aria, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15861
Commits on Jan 23, 2015
  1. @beneater

    Can't have <p> inside a <p>

    beneater authored
    Test Plan: `make lint` in webapp
    
    Auditors: emily
  2. @dmnd

    Send client local datetime when submitting problem attempts

    dmnd authored
    Summary:
    Streaks needs clients to send client local time when recording activity like
    problem attempts.
    
    So, use moment().format() to send an ISO 8601 datetime string:
    
      * In webapp, moment is listed as a dependency of interface.js
        (see D15748)
      * In standalone mode moment is l loaded from local-only
      * In iOS moment is loaded from local-only via exercise-view.html
        (diff pending)
    
    Test Plan:
      * Opened standalone mode, answered a question and things seem to work.
      * Tested with webapp and saw that the endpoint received a value for `client_dt`.
      * Tested with iOS and saw that the app sent a value for `client_dt`
    
    Reviewers: emily, eater, jlfwong
    
    Reviewed By: eater, jlfwong
    
    Subscribers: alpert, emily, marcia
    
    Differential Revision: https://phabricator.khanacademy.org/D15725
Commits on Jan 21, 2015
  1. @beneater

    Fix congruent angles exercise in IE

    beneater authored
    This seems to work...
    
    Test Plan:
    Test http://exercises.ka.local/exercises/congruent_angles.html in IE9 and Chrome. In both browsers:
    - Verify no JS errors in console
    - Verify all angles (except the given angle) are clickable
    - Verify the midpoint of the lines is not clickable (to see that the mouse target for hash marks was properly removed)
    - Take hints
    - Verify the correct answer is accepted and incorrect answers aren't
    
    Auditors: emily, charlie
Commits on Jan 15, 2015
  1. @xymostech

    Fix up graphing inequalities exercises (for mobile)

    xymostech authored
    Summary:
    Make some changes to the different graphing inequalities
    exercises so that they're more mobile friendly. The main change is
    making the checkboxes and radio buttons play nicely with the funky
    styling we put on them in mobile land, while still looking good in
    non-mobile (done through some `body:not(.mobile)` trickery). Also, add
    some padding to graphs to reduce text collisions, and remove/move around
    some input elements to make more sense.
    
    Test Plan:
     - Visit all 4 exercises locally (not on mobile)
       - See that all of the radio buttons/checkboxes look about the same as
         before
       - Take hints, see no text overlaps
       - See that all of the exercises are still answerable.
     - Visit all 4 exercises on mobile ("Graphing and solving linear
       inequalities", "Graphing linear inequalities in two variables",
       "Graphing systems of inequalities", and "Graphing and solving systems
       of inequalities")
       - See that all of the radio buttons/checkboxes look good and are not
         squished together.
       - Take hints, see that no text overlaps.
    
    Reviewers: eater
    
    Reviewed By: eater
    
    Subscribers: marcos
    
    Differential Revision: https://phabricator.khanacademy.org/D15747
Commits on Jan 14, 2015
  1. @petercollingridge

    Fix cut and copy questions

    petercollingridge authored
    Summary: Unit plural for https://khanacademy.atlassian.net/browse/AI-466113 and says tools are below for https://khanacademy.atlassian.net/browse/AI-478982
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15633
  2. @petercollingridge
  3. @petercollingridge

    Make question clearer and hints nicer

    petercollingridge authored
    Summary: I've made the question larger as a lot of people can't see negative signs in the exponents. I also made the hints a bit nicer and colour-coded.
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15575
Commits on Jan 12, 2015
  1. @joelburget

    Fix congruent angles mouse target radii.

    joelburget authored
    Test plan:
    * open http://dev:8001/exercises/congruent_angles.html
    * see no js errors on load
    * complete one problem successfully
    
    Auditors: emily
  2. @joelburget

    Confine hack to scientific notation intuition.

    joelburget authored
    ... as suggested by @charlie.
    
    Test plan:
    * open http://dev:8001/exercises/scientific_notation_intuition.html
    * repeatedly drag blue dot back and forth
    * open http://dev:8001/exercises/derivative_intuition.html
    * drag orange dots up and down
    
    Auditors: emily
Commits on Jan 9, 2015
  1. @crm416

    Use mouseTarget.getMouseTarget() where applicable

    crm416 authored
    Summary:
    A lot of the highlight effects were failing due to use of mouseTarget[0] that
    should have been changed to mouseTarget.getMouseTarget(). This changes all the necessary
    calls in khan-exercises.
    
    I also snuck in a line to remove arrowheads from lines when `remove` is called as I noticed
    that they were lingering in the transformer.
    
    Test Plan:
    - Run khan-exercises
        - Run [Inscribing and Circumscribing Circles on a Triangle](http://localhost:8000/exercises/inscribing_and_circumscribing_circles_on_a_triangle.html).
        - Add a compass
            - Verify that the whole circle highlights when you mouseover the center
        - Add a straightedge
            - Verify that the whole line (including the points, but not the arrowheads) highlights when you mouseover the line
    - Run Perseus
        - Create a [transformer](http://localhost:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%2A%2AMove%20the%20line%20using%20a%20translation%20of%20%24-2%24%20in%20the%20%24x%24-direction%20and%20%24%2B4%24%20in%20the%20%24y%24-direction.%2A%2A%5Cn%5Cn%5B%5B%E2%98%83%20transformer%201%5D%5D%5Cn%5CnWhen%20a%20line%20is%20translated%2C%20the%20image%20created%20is%20a%20%5B%5B%E2%98%83%20dropdown%201%5D%5D.%5Cn%5CnWe%20know%20this%20is%20true%2C%20because%20the%20translated%20image%20has%20%5B%5B%E2%98%83%20dropdown%202%5D%5D%20endpoints.%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%22transformer%201%22%3A%7B%22type%22%3A%22transformer%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22starting%22%3A%7B%22shape%22%3A%7B%22type%22%3A%5B%22line%22%5D%2C%22coords%22%3A%5B%5B-5%2C-7%5D%2C%5B7%2C-3%5D%5D%7D%2C%22transformations%22%3A%5B%5D%7D%2C%22graphMode%22%3A%22interactive%22%2C%22listMode%22%3A%22dynamic%22%2C%22tools%22%3A%7B%22translation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%7D%7D%2C%22rotation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coord%22%3A%5B0%2C0%5D%7D%2C%22reflection%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coords%22%3A%5B%5B1%2C1%5D%2C%5B3%2C3%5D%5D%7D%2C%22dilation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coord%22%3A%5B6%2C6%5D%7D%7D%2C%22drawSolutionShape%22%3Afalse%2C%22gradeEmpty%22%3Afalse%2C%22graph%22%3A%7B%22range%22%3A%5B%5B-10%2C10%5D%2C%5B-10%2C10%5D%5D%2C%22step%22%3A%5B1%2C1%5D%2C%22markings%22%3A%22graph%22%2C%22labels%22%3A%5B%22x%22%2C%22y%22%5D%2C%22backgroundImage%22%3A%7B%22url%22%3Anull%2C%22scale%22%3A1%2C%22bottom%22%3A0%2C%22left%22%3A0%7D%2C%22showProtractor%22%3Afalse%2C%22showRuler%22%3Afalse%2C%22rulerLabel%22%3A%22%22%2C%22rulerTicks%22%3A10%2C%22gridStep%22%3A%5B1%2C1%5D%2C%22snapStep%22%3A%5B0.5%2C0.5%5D%7D%2C%22version%22%3A1.2%2C%22correct%22%3A%7B%22transformations%22%3A%5B%7B%22type%22%3A%22translation%22%2C%22vector%22%3A%5B-2%2C4%5D%7D%5D%2C%22shape%22%3A%7B%22type%22%3A%5B%22line%22%5D%2C%22coords%22%3A%5B%5B-7%2C-3%5D%2C%5B5%2C1%5D%5D%2C%22options%22%3A%5B%7B%7D%5D%7D%7D%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22dropdown%201%22%3A%7B%22type%22%3A%22dropdown%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22choices%22%3A%5B%7B%22content%22%3A%22ray%22%2C%22correct%22%3Afalse%7D%2C%7B%22content%22%3A%22line%22%2C%22correct%22%3Atrue%7D%2C%7B%22content%22%3A%22segment%22%2C%22correct%22%3Afalse%7D%5D%2C%22placeholder%22%3A%22%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22dropdown%202%22%3A%7B%22type%22%3A%22dropdown%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22choices%22%3A%5B%7B%22content%22%3A%220%22%2C%22correct%22%3Atrue%7D%2C%7B%22content%22%3A%223%22%2C%22correct%22%3Afalse%7D%2C%7B%22content%22%3A%221%22%2C%22correct%22%3Afalse%7D%5D%2C%22placeholder%22%3A%22%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%7D%7D%2C%22answerArea%22%3A%7B%22type%22%3A%22multiple%22%2C%22options%22%3A%7B%22content%22%3A%22%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%22calculator%22%3Afalse%7D%2C%22itemDataVersion%22%3A%7B%22major%22%3A0%2C%22minor%22%3A1%7D%2C%22hints%22%3A%5B%7B%22content%22%3A%22Here%27s%20how%20to%20translate%20the%20%24%5C%5Cblue%5C%5Ctext%7Bblue%20line%7D%24%3A%20%20%5Cn%24%5C%5Cbullet%24%20Click%20the%20%5C%22Translate%5C%22%20button.%20%20%5Cn%24%5C%5Cbullet%24%20Drag%20any%20orange%20point%20%242%24%20units%20to%20the%20%2Aleft%2A%20and%20%244%24%20units%20%2Aup%2A.%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%7B%22content%22%3A%22When%20a%20line%20is%20translated%2C%20it%20remains%20a%20line.%20%20It%20still%20goes%20on%20forever%20in%20both%20directions.%20%20The%20new%20line%20has%20no%20endpoints%2C%20just%20like%20the%20original%20line.%5Cn%5CnThe%20translated%20line%20should%20look%20like%20this%3A%5Cn%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb13b453e5ea64dec3e0a0d97110cf81c85424986.png%29%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb13b453e5ea64dec3e0a0d97110cf81c85424986.png%22%3A%7B%22width%22%3A425%2C%22height%22%3A425%7D%7D%2C%22widgets%22%3A%7B%7D%7D%5D%7D).
        - Switch to 'reflect' and then to 'dilate'.
        - Verify that the arrowheads are gone.
    
    Reviewers: emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15635
  2. @petercollingridge

    Ensure names are different

    petercollingridge authored
    Summary: For https://khanacademy.atlassian.net/browse/AI-442271
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15576
Commits on Jan 8, 2015
  1. @joelburget

    Fix "Properties of Rigid Transformations".

    joelburget authored
    I don't know why the parent node is gone or if that could cause
    problems. Well, I'm sure it could, but this is a hacky fix. Anyway,
    things worked fine in my limited testing and this is surely better than
    just breaking.
    
    Auditors: emily
    
    Test plan:
    http://dev:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%2A%2AMove%20the%20line%20using%20a%20translation%20of%20%24-2%24%20in%20the%20%24x%24-direction%20and%20%24%2B4%24%20in%20the%20%24y%24-direction.%2A%2A%5Cn%5Cn%5B%5B%E2%98%83%20transformer%201%5D%5D%5Cn%5CnWhen%20a%20line%20is%20translated%2C%20the%20image%20created%20is%20a%20%5B%5B%E2%98%83%20dropdown%201%5D%5D.%5Cn%5CnWe%20know%20this%20is%20true%2C%20because%20the%20translated%20image%20has%20%5B%5B%E2%98%83%20dropdown%202%5D%5D%20endpoints.%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%22transformer%201%22%3A%7B%22type%22%3A%22transformer%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22starting%22%3A%7B%22shape%22%3A%7B%22type%22%3A%5B%22line%22%5D%2C%22coords%22%3A%5B%5B-5%2C-7%5D%2C%5B7%2C-3%5D%5D%7D%2C%22transformations%22%3A%5B%5D%7D%2C%22graphMode%22%3A%22interactive%22%2C%22listMode%22%3A%22dynamic%22%2C%22tools%22%3A%7B%22translation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%7D%7D%2C%22rotation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coord%22%3A%5B0%2C0%5D%7D%2C%22reflection%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coords%22%3A%5B%5B1%2C1%5D%2C%5B3%2C3%5D%5D%7D%2C%22dilation%22%3A%7B%22enabled%22%3Atrue%2C%22constraints%22%3A%7B%22fixed%22%3Afalse%7D%2C%22coord%22%3A%5B6%2C6%5D%7D%7D%2C%22drawSolutionShape%22%3Afalse%2C%22gradeEmpty%22%3Afalse%2C%22graph%22%3A%7B%22range%22%3A%5B%5B-10%2C10%5D%2C%5B-10%2C10%5D%5D%2C%22step%22%3A%5B1%2C1%5D%2C%22markings%22%3A%22graph%22%2C%22labels%22%3A%5B%22x%22%2C%22y%22%5D%2C%22backgroundImage%22%3A%7B%22url%22%3Anull%2C%22scale%22%3A1%2C%22bottom%22%3A0%2C%22left%22%3A0%7D%2C%22showProtractor%22%3Afalse%2C%22showRuler%22%3Afalse%2C%22rulerLabel%22%3A%22%22%2C%22rulerTicks%22%3A10%2C%22gridStep%22%3A%5B1%2C1%5D%2C%22snapStep%22%3A%5B0.5%2C0.5%5D%7D%2C%22version%22%3A1.2%2C%22correct%22%3A%7B%22transformations%22%3A%5B%7B%22type%22%3A%22translation%22%2C%22vector%22%3A%5B-2%2C4%5D%7D%5D%2C%22shape%22%3A%7B%22type%22%3A%5B%22line%22%5D%2C%22coords%22%3A%5B%5B-7%2C-3%5D%2C%5B5%2C1%5D%5D%2C%22options%22%3A%5B%7B%7D%5D%7D%7D%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22dropdown%201%22%3A%7B%22type%22%3A%22dropdown%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22choices%22%3A%5B%7B%22content%22%3A%22ray%22%2C%22correct%22%3Afalse%7D%2C%7B%22content%22%3A%22line%22%2C%22correct%22%3Atrue%7D%2C%7B%22content%22%3A%22segment%22%2C%22correct%22%3Afalse%7D%5D%2C%22placeholder%22%3A%22%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22dropdown%202%22%3A%7B%22type%22%3A%22dropdown%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22choices%22%3A%5B%7B%22content%22%3A%220%22%2C%22correct%22%3Atrue%7D%2C%7B%22content%22%3A%223%22%2C%22correct%22%3Afalse%7D%2C%7B%22content%22%3A%221%22%2C%22correct%22%3Afalse%7D%5D%2C%22placeholder%22%3A%22%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%7D%7D%2C%22answerArea%22%3A%7B%22type%22%3A%22multiple%22%2C%22options%22%3A%7B%22content%22%3A%22%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%22calculator%22%3Afalse%7D%2C%22itemDataVersion%22%3A%7B%22major%22%3A0%2C%22minor%22%3A1%7D%2C%22hints%22%3A%5B%7B%22content%22%3A%22Here%27s%20how%20to%20translate%20the%20%24%5C%5Cblue%5C%5Ctext%7Bblue%20line%7D%24%3A%20%20%5Cn%24%5C%5Cbullet%24%20Click%20the%20%5C%22Translate%5C%22%20button.%20%20%5Cn%24%5C%5Cbullet%24%20Drag%20any%20orange%20point%20%242%24%20units%20to%20the%20%2Aleft%2A%20and%20%244%24%20units%20%2Aup%2A.%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%7B%22content%22%3A%22When%20a%20line%20is%20translated%2C%20it%20remains%20a%20line.%20%20It%20still%20goes%20on%20forever%20in%20both%20directions.%20%20The%20new%20line%20has%20no%20endpoints%2C%20just%20like%20the%20original%20line.%5Cn%5CnThe%20translated%20line%20should%20look%20like%20this%3A%5Cn%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb13b453e5ea64dec3e0a0d97110cf81c85424986.png%29%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb13b453e5ea64dec3e0a0d97110cf81c85424986.png%22%3A%7B%22width%22%3A425%2C%22height%22%3A425%7D%7D%2C%22widgets%22%3A%7B%7D%7D%5D%7D
    
    Do all four transformations successfully without any javascript errors.
  2. @joelburget

    Fix congruent angles exercise.

    joelburget authored
    congruency.js was still using the older interface to movable point. I
    just mechanically replaced `mouseTarget` / `mouseTarget[0]` with
    `mouseTarget.getMouseTarget()`.
    
    Test plan:
    * grep in exercises/ for "\bcongruency\b", look through to verify
      "Congruent Angles" is the only exercise using congruency.js
    * Complete a few "Congruent Angles" problems
    
    Auditors: emily
  3. @joelburget

    Fix scientific notation intuition.

    joelburget authored
    Test plan:
    Repeatedly drag point left and right.
    
    Auditors: emily
  4. @joelburget

    Comment out call to missing method.

    joelburget authored
    I don't think this double click functionality was widely used anyway.
    
    Test plan:
    Add compass, drag it around, scale it. No JS errors.
    
    Auditors: emily
  5. @xymostech

    Clean up some missed changes from charlie's review

    xymostech authored
    Summary: There was an instance of `drawArrowAtClipPoint` that hadn't
    been changed to `createArrow`, and the calculation of the ending point
    of rays wasn't correct. This fixes those things
    
    Test plan:
     - Make these changes in the perseus repo
     - Add an interactive-graph with the angle type
       - See that there isn't a javascript error
       - See that the extended rays extend correctly
    
    Auditors: charlie
Commits on Jan 7, 2015
  1. @xymostech

    Remove unnecessary mobile-only style

    xymostech authored
    Summary: We added a style to make the graphie look good on mobile, but a
    similar style has now been added into the main mobile app, so this is no
    longer needed.
    
    Test plan:
     - I think marcos tested this
    
    Auditors: marcos
  2. @petercollingridge

    Ensure answer requires moving point

    petercollingridge authored
    Summary: For https://khanacademy.atlassian.net/browse/AI-460005
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15493
  3. @petercollingridge

    Add spaces so code renders correctly

    petercollingridge authored
    Summary: For https://khanacademy.atlassian.net/browse/AI-460947
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15494
  4. @petercollingridge

    Fix typo and make numbers mathy

    petercollingridge authored
    Summary:
    For https://khanacademy.atlassian.net/browse/AI-457110#
    I also rearranged the hints slightly, but I still don't really like them.
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15492
  5. @petercollingridge

    Ensure hints work when one number is zero

    petercollingridge authored
    Summary: (Request by Ben Stenhaug)
    
    Test Plan: Keep refreshing until one of the numbers is zero and check the hints. Check the other hints just in case.
    
    Reviewers: eater, emily
    
    Reviewed By: emily
    
    Differential Revision: https://phabricator.khanacademy.org/D15491
  6. @xymostech

    Remove places khan-exercises manually sets font-size

    xymostech authored
    Summary: In a bunch of places, we manually set the font-size (in pixels)
    of certain parts of the question (usually in the answer area so it would
    fit in the small box). This is unnecessary now since the answer area is
    in the body, and it looks bad on mobile because the fonts don't scale
    accordingly. This fixes a couple places that this happened.
    
    Also, I fixed the TeX in parabola_intuition_{2,3}, because it was a
    mess.
    
    Test plan:
     - Open all the exercises that changed locally, see that they look good
     - Open all the exercises that changed on mobile, see that they look
     good
    
    Auditors: joel, eater
  7. @xymostech

    Add show/hide methods back to movableLine/Point

    xymostech authored
    Summary: Looks like a single exercise (plotting_the_line_of_best_fit,
    and no I definitely didn't write that, what are you talking about) uses
    the hide and show functions on the visibleShape of movablePoints and
    movableLines. These functions stopped working when charlie's wrapped
    changes were merged in. This makes those work so the exercise works
    again.
    
    Test plan:
     - Load the plotting_the_line_of_best_fit exercise
     - See that the "A line fits the data well" and "no line fits the data
       well" radio buttons work correctly and hide and show the line and
       points.
    
    Auditors: charlie
  8. @xymostech

    Add event after initial hints are rendered

    xymostech authored
    Summary:
    We have events bound to the Exercises object that are triggered
    after the main body of the problem is rendered but not the hints, and
    events that trigger after each additional hint is taken, but no event
    that is triggered after the initial hints are rendered. This adds such
    an event, so that mobile can modify the initial hints (in particular, so
    it can replace qhint text boxes with myscript ones).
    
    Test Plan:
     - Put this code in the mobile app
     - Bind to this event and put a breakpoint
     - Load an exercise where hints have been taken
     - See that the hints are part of the body of the question when the
       breakpoint is hit
    
    Reviewers: joel
    
    Reviewed By: joel
    
    Differential Revision: https://phabricator.khanacademy.org/D15548
Commits on Jan 6, 2015
  1. @xymostech

    Ensure that no href='#' links actually redirect

    xymostech authored
    Summary:
    Mobile doesn't have a good way of detecting that href='#' links
    shouldn't do anything, so instead I've just made all of the links not do
    anything. I grepped for all `href=`s, and found that all of the links
    either explicitly stop the redirect (if you count D15503), use the
    subhints framework, or are actual links to places. Thus, this change
    just fixes up the subhints framework to always explicitly stop the
    redirect.
    
    Test Plan:
     - Open square_roots_2.html
       - Click on the definition in the question, see that it doesn't
         redirect to '#'
    
    Reviewers: joel
    
    Reviewed By: joel
    
    Differential Revision: https://phabricator.khanacademy.org/D15516
  2. @crm416

    Wrap khan-exercises' MovableLines in divs

    crm416 authored
    Summary: Depends on D15452. Brings DOM-node-wrapping to lines in khan-exercises.
    
    Test Plan:
    - Run khan-exercises.
    - Run [Graphing Systems of Equations](http://localhost:8000/exercises/graphing_systems_of_equations.html).
        - Verify that basic functionality is preserved: lines move as you drag point, arrows update, etc.
        - Verify that animations work by cycling through the hints.
    - Run [Creating Box and Whisker Plots](http://localhost:8000/exercises/creating_box_and_whisker_plots.html).
        - Verify that the line segments highlight and grow on mouse-over.
        - Verify that the line segments follow your mouse.
    - Run [Congruency Postulates](http://localhost:8000/exercises/congruency_postulates.html).
        - Verify that the lines highlight and move.
        - Verify that everything animates correctly when you hit "Reflect Shape".
    
    Reviewers: aria, emily
    
    Reviewed By: emily
    
    Subscribers: emily, andy
    
    Differential Revision: https://phabricator.khanacademy.org/D15453
  3. @crm416

    Wrap khan-exercises' MovablePoints in divs

    crm416 authored
    Summary:
    Similar to how we wrap Perseus' MovablePoints in divs, this brings the same functionality
    and performance boost to khan-exercises.
    
    My main point of contention with this diff is that there's a lot of code reuse (copying of
    files, etc.). It's not entirely clear to me if there's a better way to share code between Perseus
    and khan-exercises.
    
    In addition, I ran into some not-niceties with animations. In khan-exercises, we sometimes
    animate points to new coordinates, which didn't work perfectly out-of-the-box. There's now a new
    `animateTo` method for WrappedPoints that animates appropriately. I grepped around the codebase
    places in which we currently have `point.animate(// new coord)` calls (to replace them with calls
    to `animateTo`), but couldn't find any beyond the one in interactive.js. In general, there's a lot
    of weird behavior in khan-exercises that makes me nervous about pushing this, but testing various
    exercises renewed my confidence.
    
    Test Plan:
    - Run khan-exercises.
    - To test basic functionality, try [The Complex Plane](http://localhost:8000/exercises/the_complex_plane.html).
        - Verify that the point grows on mouse-over.
        - Verify that you can click and drag, but not off of the grid.
        - Verify that the point snaps to grid.
    - To test animations, try [Decimals on the Number Line 2](http://localhost:8000/exercises/decimals_on_the_number_line_2.html).
        - Cycle through all the hints. The last hint should animate the point to the end of the new blue line.
    - To test animations with synced lines, try [Graphing Systems of Equations](http://localhost:8000/exercises/graphing_systems_of_equations.html).
        - Cycle through all the hints. The last hint should animate the points and lines in sync.
    - To test advanced behavior, try [Congruency Postulates](http://localhost:8000/exercises/congruency_postulates.html).
        - Verify that the basic functionality is preserved.
        - Verify that the "Reflect Shape" button reflects the shape.
    
    Reviewers: aria, emily
    
    Reviewed By: emily
    
    Subscribers: andy
    
    Differential Revision: https://phabricator.khanacademy.org/D15452
  4. @xymostech

    Make balancing_chemical_equations work better

    xymostech authored
    Summary: It looks like, before we merged the answer area into the
    problem, we wanted to have inline inputs inside the question for this
    problem, so we made a custom answer type with a custom validator.
    However, this causes a problem for mobile which doesn't discover the
    input boxes we created (and make them pretty and use the MyScript
    input). Instead of making mobile smarter and discovering the input
    boxes, I just redid the exercise to do things using normal multiple
    answer types, since the answer area is now put into the body of the
    question. (was going to be reviewed, but pushed up for mobile reasons:
    https://phabricator.khanacademy.org/D15505)
    
    Test Plan:
     - Go through each problem type:
       - Ensure that the correct solution lets you get the problem correct.
       - Ensure that leaving boxes where the solution is '1' empty still
         grades correctly.
    
    Auditors: eater
Something went wrong with that request. Please try again.