GithubHelp home page GithubHelp logo

taylorfoster90 / tiy-todomvc Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 304 KB

Group project with Sam, Carolina, Jared and I.

License: Creative Commons Zero v1.0 Universal

CSS 1.60% HTML 54.99% JavaScript 43.41%

tiy-todomvc's People

Contributors

carolinapowers avatar jaredstevick avatar taylorfoster90 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

carolinapowers

tiy-todomvc's Issues

MVC ToDo list:

MVC ToDo 2/3/2014

Features

  • L No todos
    • When there are no todos,
      • S Hide #main
      • S Hide #footer
  • L New todo
    • S New todos are entered in the input at the top of the app.
    • S The input element should be focused when the page is loaded preferably using the autofocus input attribute.
    • L Pressing Enter
      • S creates the todo,
      • M appends it to the todo list
      • M clears the input. Make sure to .trim() the input and
      • S then check that it's not empty before creating a new todo.
  • L Mark all as complete
    • M This checkbox toggles all the todos to the same state as itself.
      • S Make sure to clear the checked state after the the "Clear completed" button is clicked.
      • M The "Mark all as complete" checkbox should also be updated when single todo items are checked/unchecked. Eg.
      • S When all the todos are checked it should also get checked.
  • XL Item
    • A todo item has three possible interactions:
      • M 1. Clicking the checkbox marks the todo as complete by updating its completed value and toggling the class completed on its parent <li>
      • M 2. Double-clicking the <label> activates editing mode, by toggling the .editing class on its <li>
      • S 3. Hovering over the todo shows the remove button (.destroy)
  • XL Editing
    • When editing mode is activated
      • S hide the other controls and bring forward an input that contains the todo title, which should be focused (.focus()).
      • M The edit should be saved on both blur and enter, and the editing class should be removed.
      • M Make sure to .trim() the input and then check that it's not empty.
        • If it's empty the todo should instead be destroyed.
      • If escape is pressed during the edit, the edit state should be left and any changes be discarded.
  • L Counter
    • M Displays the number of active todos in a pluralized form.
      • S Make sure the number is wrapped by a <strong> tag.
      • M Also make sure to pluralize the item word correctly: 0 items, 1 item, 2 items. Example: 2 items left
  • L Clear completed button
    • S Displays the number of completed todos,
    • M and when clicked, removes them.
    • S Should be hidden when there are no completed todos.

BEAST MODE

  • XL Persistence
    • Your app should dynamically persist the todos to localStorage. If the framework has capabilities for persisting data (e.g. Backbone.sync), use that, otherwise vanilla localStorage. If possible, use the keys id, title, completed for each item. Make sure to use this format for the localStorage name: todos-[framework]. Editing mode should not be persisted.
  • XL Routing
    • Routing is required for all frameworks. Use the built-in capabilities if supported, otherwise use the Flatiron Director routing library located in the /assets folder. The following routes should be implemented: #/ (all - default), #/active and #/completed (#!/ is also allowed). When the route changes the todo list should be filtered on a model level and the selected class on the filter links should be toggled. When an item is updated while in a filtered state, it should be updated accordingly. E.g. if the filter is Active and the item is checked, it should be hidden. Make sure the active filter is persisted on reload.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.