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

Release/0.10.1 10 #4

Open
wants to merge 45 commits into
base: master
Choose a base branch
from

Commits on Aug 15, 2016

  1. Expose cursor methods for setting and clearing selection

    Expose cursor methods for setting a selection based on a point (an object
    with x and y  properties).  Points are based on the page's coordinate
    system.
     - Note that innerWidth/innerHeight is used instead of width/height to
       include points in the padding
     - childForPoint also returns itself if none of its children match the
       point
    
    Also expose clearSelection to allow the cursor’s selection to be cleared
    programmatically.
    acpiplica authored and kschaefe committed Aug 15, 2016
    Configuration menu
    Copy the full SHA
    1d169a9 View commit details
    Browse the repository at this point in the history
  2. Make childForPoint recursive

    Mistakenly committed childForPoint with the wrong call for each child
    in the tree; rectifying by making sure that each child of a node that
    contains a point calls chidForPoint so we can get the lowest node in
    the tree that contains the point.
    acpiplica authored and kschaefe committed Aug 15, 2016
    Configuration menu
    Copy the full SHA
    3e1d252 View commit details
    Browse the repository at this point in the history
  3. Update ReadMe

    Update ReadMe to include public methods for setting and clearing
    selection on static math.
    kschaefe committed Aug 15, 2016
    Configuration menu
    Copy the full SHA
    a45cfd8 View commit details
    Browse the repository at this point in the history
  4. Ease selection of contents of delimiters

    This change makes it easier to select the contents inside of
    delimiters. When seeking where to put the cursor for a selection, the
    cursor will be placed inside the delimiters if the seek location is on
    the delimiter. If the cursor is to the left of the left delimiter or
    the right of the right delimiter, then the whole of the delimiter
    command will be selected.
    
    This does not affect keyboard-based selection.
    acpiplica authored and kschaefe committed Aug 15, 2016
    Configuration menu
    Copy the full SHA
    e90b023 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2016

  1. Add make static functionality to inner fields

    Adds functionality to the API for editable fields within static math
    fields (inner math fields) to make them static or editable.
    makeStatic() changes the class of the editable field to
    “mq-editable-field-static”, removes its texture, and unbinds its event
    handlers. makeEditable() does the opposite. It wraps the functions for
    initializing an editable field in an easy-to-reference way.
    
    This approach maintains the existing tree structure and any references
    to the inner editable field in the static math wrapper’s inner fields
    array. This approach assumes that a static math field will take over
    the event handling for an editable field after it has been made static.
    acpiplica authored and kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    b299f56 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f94ac7c View commit details
    Browse the repository at this point in the history
  3. Add prevent spaces from behaving like tabs in root blocks.

    This commit adds another configuration parameter for the spaceBehavesLikeTab
    option.  Previously, the only valid values were 'true' and 'false'.  Where
    'false' simply inserted spaces and 'true' made spaces behave like tab.  It is
    now possible to add a string 'exceptRootBlock'.  'exceptRootBlock' behaves
    the same as 'true' unless the cursor is in the root block, where it will
    insert a space instead.
    
    This feature allows the entry of mixed fractions in the root block, which
    'true' was unable to do.
    
    This feature is purposfully overloading the semantics of 'spaceBehavesLikeTab'
    to add a new configuration option because this causes the smallest divergeance
    from the MathQuill root project.  All things being equal, however, the better
    change would be to rename the configuration option to 'spaceBehavior' and use
    strings for all options: 'default', 'asSpaces', 'asTabs', and
    'asTabsExceptForRootBlock'.  Where 'default' and 'asSpaces' are currently the
    same.
    kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    61b36d5 View commit details
    Browse the repository at this point in the history
  4. Add new Tabbing stragety for root blocks.

    By default, MathQuill allows the browser to handle Tab in the standard way
    when the cursor is in the root block.  This means that the user will move to
    the next focusable element in tab order.  This behavior bypasses any templates
    between the current cursor position and the end.
    
    If templates are thought of as editable areas, like mini-textfields, this
    approach feels unexpected to keyboard users, who would expect 'focus' to
    traverse to the next 'field,' i.e. next template.
    
    This commit adds a new configuration property: tabAction.  By default tabAction
    simply uses the current behavior.  Users can specify a value of
    'escapeAndTemplate' to allow Tabs from the root block to find the next template
    or to move outside of the MathQuill field if no templates exist.
    kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    870a71d View commit details
    Browse the repository at this point in the history
  5. Select operators in a mathematically meaningful way

    Adjusting selections in a mathematically meaningful way around unary
    and binary operators. Expands selections to include sibling nodes
    around operators based on a few heuristics about what constitutes a
    meaningful expression with basic arithmetic operators. "Meaningful
    selection" is enabled with the strictOperatorSelection config flag,
    which can be used with both static and editable math. The static math
    API was changed to allow for config options.
    acpiplica authored and kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    3166c20 View commit details
    Browse the repository at this point in the history
  6. Specify strict operators in a config

    Instead of specifying a default set of prefix and binary operators to
    use in strict operator selection, use the prefix and binary operator
    arrays passed in from the config. This changes the config option from a
    simple boolean (strictOperatorSelection: true) to an object with
    properties containing arrays of the control sequences we want to treat
    differently during selection:
    
    strictOperatorSelection: {
       prefixOperators: [‘-‘, ‘\\pm ‘],
       binaryOperators: [‘+’, ‘=‘]
    }
    acpiplica authored and kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    f9474e6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5e87d62 View commit details
    Browse the repository at this point in the history
  8. Add bower.json file for supporting bower.

    The bower version that this project uses is the base version of the release,
    the MathQuill release number in package.json, plus a revision number.  Our
    revision number is continually increasing, such that 0.9.4-5 -> 0.10.1-6 in
    the next release.  This allows us to track the main revision of MathQuill
    while also keeping track of our additional features that have not been
    accepted via pull request.
    
    We should never submit a pull request to MathQuill for bower.json.
    kschaefe committed Aug 16, 2016
    Configuration menu
    Copy the full SHA
    92b5152 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a90904e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2a51913 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9954a82 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b043c31 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    591b601 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    8eefff9 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    66d2609 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8cecbe9 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2016

  1. Moved setSelection and clearSelection to AbstractMath.

    When updating to the 0.10 release, I misresolved a conflict that led me to put
    the setSelection method next to the clearSelection method.  While this seemed
    correct at the time, it was not.  The problem with keeping the methods in
    EditableMath is that you cannot use them to create mouse selections in
    StaticMath.  The select method, which is cursor-related cannot be used in
    the StaticMath fields and therefore was not moved.
    
    Updated the documentation to reflect the change in the movement of the API
    methods.
    kschaefe committed Aug 18, 2016
    Configuration menu
    Copy the full SHA
    f7e2229 View commit details
    Browse the repository at this point in the history
  2. Update git ignores.

    kschaefe committed Aug 18, 2016
    Configuration menu
    Copy the full SHA
    198e1bf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c900431 View commit details
    Browse the repository at this point in the history
  4. Update version to 0.10.1-6.

    kschaefe committed Aug 18, 2016
    Configuration menu
    Copy the full SHA
    679c269 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2016

  1. Add make static functionality to inner fields

    Adds functionality to the API for editable fields within static math
    fields (inner math fields) to make them static or editable.
    makeStatic() changes the class of the editable field to
    “mq-editable-field-static”, removes its texture, and unbinds its event
    handlers. makeEditable() does the opposite. It wraps the functions for
    initializing an editable field in an easy-to-reference way.
    
    This approach maintains the existing tree structure and any references
    to the inner editable field in the static math wrapper’s inner fields
    array. This approach assumes that a static math field will take over
    the event handling for an editable field after it has been made static.
    acpiplica authored and kschaefe committed Aug 22, 2016
    Configuration menu
    Copy the full SHA
    2350074 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9040f97 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    216c84b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    53f7c42 View commit details
    Browse the repository at this point in the history
  5. The Cursor options can be undefined. Adding a safeguard to the check …

    …for strictOperatorSelection.
    kschaefe committed Aug 22, 2016
    Configuration menu
    Copy the full SHA
    44a7562 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d9e0783 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2016

  1. Binary operators were not correctly defined when the operator is the …

    …first element in a style block.
    
    When a binary operator was the first block inside a style block (textcolor or class), the unary/binary check failed to determine the proper state because it did not check the block to the left of the style block.  This fix recursively walks ancestor style blocks until none remain, then performs the original check.  Added new unit tests to confirm this functionality.
    kschaefe committed Aug 23, 2016
    Configuration menu
    Copy the full SHA
    492f9a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    57642d6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a0ee26 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    481e9c1 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2016

  1. Add \overarc command.

    This is simply another Style command with custom CSS to make curved border.
    kschaefe committed Oct 18, 2016
    Configuration menu
    Copy the full SHA
    350fc09 View commit details
    Browse the repository at this point in the history
  2. Add \overleftrightarrow command.

    This is simply another Style command with custom CSS to make a line with an
    arrowhead at each end.
    
    There were a couple of small issues here:
    1. :after is used to fill empty blocks, but I need :after for the right
       arrowhead.
    
       This was resolved by using min-width and min-height.  Both are extremely
       common CSS at this point.
    
    2. The original \overleftarrow and \overrightarrow work upon which this is
       based do not scale well.
    
       I made no effort to fix the scaling issue.  The current arrows misalign with
       the line if the font-size changes even slightly.  Using \overleftarrow in
       the visual test page, where the base font is .8em causes issues.
    
       Without using JavaScript to alter inline styles, I think that end users will
       have to write custom styles if they are using non-standard font sizes.  This
       is no worse than the original implementation, so I feel confident that the
       \overleftrightarrow is as good as what currently exists for the other arrow
       types.
    
    3. The collapsed arrowheads for \overleftrightarrow collapse on top of one
       another when the block is empty.  It looks like an asterisk.
    
       The min-width could be made larger.  This is part of a set of geometric
       markers that need at least two identifiers underneath.  No line segment,
       ray, or line can be defined without at least two points.
    
       Given that the current \over* markers do not have enough space when empty
       for two characters, I concluded that two space was not necessary here
       either.  The difference, however, is that the single-arrowhead lines do not
       present a visual miscue when collapsed to a single character width.
    
       This would be an easy change.  Given the variable width nature of Symbola, I
       recommend that the min-width be set to 1.5em if this change is desired.
       Our custom CSS that we apply on top of MathQuill's base CSS for our product
       does use the 1.5em min-width.
    kschaefe committed Oct 18, 2016
    Configuration menu
    Copy the full SHA
    adc5507 View commit details
    Browse the repository at this point in the history
  3. Update to version 0.10.1-8.

    kschaefe committed Oct 18, 2016
    Configuration menu
    Copy the full SHA
    ebcbbea View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a3ab67 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2016

  1. Configuration menu
    Copy the full SHA
    ce94bdd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6c8effd View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2017

  1. DO NOT PUSH

    kschaefe committed Jan 6, 2017
    Configuration menu
    Copy the full SHA
    75827cf View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2017

  1. Merge remote-tracking branch 'origin/master' into release/baseline

    Conflicts:
    - .gitignore
         accepted master
    - src/commands/math/commands.js
        kept simultaneous add
        used master order for isStyleBlock
    kschaefe committed Apr 3, 2017
    Configuration menu
    Copy the full SHA
    0813117 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ae2c69 View commit details
    Browse the repository at this point in the history
  3. Update version.

    kschaefe committed Apr 3, 2017
    Configuration menu
    Copy the full SHA
    53db5cc View commit details
    Browse the repository at this point in the history
  4. Release version 0.10.1-10.

    kschaefe committed Apr 3, 2017
    Configuration menu
    Copy the full SHA
    400db2a View commit details
    Browse the repository at this point in the history