Permalink
Commits on Jun 17, 2016
  1. Use green border for focused input box with no content and hide cursor

    Summary:
    Previously, when an empty input box gained focus it maintained the same border color and displayed a cursor. Now, the cursor is hidden and the border color is changed to green.
    
    Before:
    {F543769}
    
    After:
    {F543770}
    
    Test Plan:
    - Verified in a browser that the state of having no content is properly detected
    - Verified that when the input is focused and there is no content, the input box changes its border color to green and the cursor is hidden
    
    Reviewers: charlie, kevinb
    
    Reviewed By: kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28198
    shadaj committed Jun 17, 2016
  2. Remove margin from cursor to prevent the cursor from changing the hei…

    …ght of its parent
    
    Summary: Previously, moving the cursor around would cause elements to shift because the cursor would change the height of its parent. Now, the margin from the cursor has been removed so that the height is unchanged.
    
    Test Plan: - Verified in a browser that moving the cursor around no longer causes elements to shift
    
    Reviewers: charlie, kevinb
    
    Reviewed By: kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28272
    shadaj committed Jun 16, 2016
Commits on Jun 16, 2016
  1. Fix various styling issues with square cursors

    Summary:
    + square cursors no longer blink
    + clicking out of the input box no longer hides the block at the cursor position
    + square cursors in a selection have a white color
    
    Test Plan:
    + Verified in a browser that the above fixes work
    + Verified that previous behavior and styles are the same
    
    Reviewers: charlie, kevinb
    
    Reviewed By: kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28268
    shadaj committed Jun 16, 2016
  2. Use square icons for representing empty blocks

    Summary:
    Previously, empty blocks would have the same cursor as other blocks and would have a filled in rectangle when there was no cursor. Now, cursors in empty blocks are green rectangles and the rectangles when there is no cursor are not filled in.
    
    Before:
    {F543753}
    
    After:
    {F543779}
    
    Test Plan:
    - Verified in a browser that a cursor in an empty block is a rectangle
    - Verified in a browser that a gray rectangle appears in empty blocks with no cursor
    - Verified that logarithms, roots, and exponents display rectangles correctly
    - Verified that the rectangles are rendered properly in Perseus
    - Verified that the rectangles are rendered properly in webapp
    
    Reviewers: charlie, kevinb
    
    Reviewed By: kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28187
    shadaj committed Jun 14, 2016
Commits on Jun 14, 2016
  1. Constrain the input handle to the area of the input box

    Summary:
    Previously, it was possible to move the input handle outside of the input box. Now, the position of the handle is constrained to the boundaries of the input box.
    See: https://app.asana.com/0/132409062806753/130235264711166
    
    Test Plan:
    - Verified in a browser that the input handle cannot move outside the input box
    - Verified in a browser that the constraints are updated when the size of the input box changes
    
    Reviewers: charlie, kevinb
    
    Reviewed By: kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28151
    shadaj committed Jun 13, 2016
Commits on Jun 10, 2016
  1. Prevent the keypad from morphing and shifting when the body's size ch…

    …anges
    
    Summary: Previously, the body being wider than the width of the screen caused the keypad to increase in width and shift down, hiding keys on the keypad. Now, even when content overflows horizontally, the keypad maintains its size and position on the screen.
    
    Test Plan:
    - tested in math-input's index.html that increasing the width of the body does not affect the position or size of the keypad
    - tested in Perseus that typing too much text into one input (which overflows by increasing the width of the body) does not cause the keypad to change size or position
    
    Reviewers: kevinb, charlie
    
    Reviewed By: kevinb, charlie
    
    Differential Revision: https://phabricator.khanacademy.org/D28058
    shadaj committed Jun 9, 2016
Commits on Jun 9, 2016
  1. Implement detection of button holds for repeating button actions

    Summary: Previously, holding down on a button would do nothing until it was released, upon which the button's action would be performed. Now, holding down on a button causes its action to be repeated at a fixed interval until it is released.
    
    Test Plan:
    - Verified in a browser and iOS simulator that it is possible to hold on a button to have its action repeated
    - Checked that it is still possible to perform single clicks and hold to display popovers
    - Checked that it is still possible to swipe between multiple panes
    
    Reviewers: kevinb, charlie
    
    Reviewed By: kevinb, charlie
    
    Subscribers: charlie
    
    Differential Revision: https://phabricator.khanacademy.org/D27966
    shadaj committed Jun 7, 2016
  2. Disable swiping when starting from the navigation bar

    Summary: Right now, it is possible to initiate a swipe by pressing on a key in the navigation bar. Since the navigation bar does not move with a swipe, it can be confusing to swipe the navigation bar but see other elements move instead. Now, it is not possible to initiate a swipe from the navigation bar, and so swipes must start from the main key panel instead.
    
    Test Plan:
    - Verified in a browser that it is still possible to swipe from non-navigation keys
    - Checked that it is still possible to use all the keys on the keypad
    - Checked that it is still possible to move over the navigation bar during a swipe
    
    Reviewers: charlie, kevinb
    
    Reviewed By: charlie, kevinb
    
    Differential Revision: https://phabricator.khanacademy.org/D28012
    shadaj committed Jun 8, 2016