Code Monkey home page Code Monkey logo

ade's People

Contributors

alexngp avatar annavester avatar bridgetkilgallon avatar mhor avatar offsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ade's Issues

Remove popup containers

The icon, url, email, phone directives require that there be a container div in the html view. Is it possible to do it without the container div? The date and time directives are able to make a popup without a container and it would be nice if it was consistent.

Phone number needs a popup to distinguish click to visit from click to edit

We need a way to distinguish when someone is clicking on a phone number if they want to call it, or editing that number.

When clicking on a phone number, it should present a popup with two buttons (Call XYZ) and (Edit XYZ). Each button should preform the intended action. Pressing ESC or clicking outside of the popup should dismiss it.

Put URI_REGEXP into ADE

It looks like you modified angular-sanitize to get the phone directive to work. This will be hard to maintain as angular updates in the future. Can you please pull this change out into our code?

Rating directive needs to work with non-white backgrounds

I tried putting the rating directive on a non-white background and noticed that the way the image is made, it is causing a problem. I think we need to re-do the way this directive works so that instead of using a cookie-cutter image with a background color, we would instead use two regular images of a star on and off.

Length filter/directive improvements

Step1 is to make the disabled tests pass.

We should also provide some sort of popup help for what is a valid input. Perhaps while they are typing into the text box, a popup attached to the input could appear that says "examples: 35min, 2hours, 4 hours 30 minutes"

Body event listeners need to be less specific

There are some event listeners on "body" that look for clicks or keyboard events when editing. They are in the following directives:

Icon
phone
email
url
time

The problem is that they are always listening, even when the popup is not showing. This is causing integration problems where the ADE events are triggering constantly whenever a click or keyboard event happens on the page even if the ADE directive is not activated.

At the minimum we need to only execute the event handler if that edit is in edit mode. A better solution would be to find a way to avoid putting events on "body" if possible. Perhaps this could be done by having an invisible input that has focus and then watching for the blur event on this input. Not sure if this will work.

Implement icon

This will be similar to how checkbox/star work, except that instead of toggling between two states, it presents a popup window where you can pick from a selection of icons. For now, we can use the entire Glyphicons set that is already available as part of Twitter Bootstrap.

Rating needs a way to set a value of 0

We forgot to provide a way for someone to set a rating of 0 (no stars). Can we add an invisible 10 pixel clickable region in front of the first star that you can click to set it to 0?

Email needs a popup to distinguish click to visit from click to edit

We need a way to distinguish when someone is clicking on a email if they want to send the email, or editing that email.

When clicking on an email, it should present a popup with two buttons (Email XYZ) and (Edit XYZ). Each button should preform the intended action. Pressing ESC or clicking outside of the popup should dismiss it.

URL needs a popup to distinguish click to visit from click to edit

Similar to how Google Docs does it, we need a way to distinguish when someone is clicking on a URL if they are traveling to that page, or editing that URL.

When clicking on a URL, it should present a popup with two buttons (Visit XYZ) and (Edit XYZ). Each button should preform the intended action. Pressing ESC or clicking outside of the popup should dismiss it.

Issue with time unit test

There appears to be an issue with the time unit test

expect(timeFilter(1355517820)).toBe('2:43 pm');

I keep changing it to 12:43 to get it to pass, and you keep changing it to 2:43. Maybe there is a timezone issue? We should resolve this so that it works regardless of the timezone.

Implement Long Text

Now that we have experience with popups, I think this one will be easy. We need an editor for "long text".

Filter: The filter will take a piece of arbitrarily long text and truncate it to a specified length with ellipses. Mousing over the text (with a delay) will display the entire text in a popup.

Directive: Clicking on the text, or the popup will enter edit mode, which will be a textarea input inside a popup. Clicking outside the popup or pressing tab will save and clicking esc will cancel. Pressing return will insert a new line in the textarea, not save the results.

For now, lets just do plain text, but eventually we will want to support rich text via markdown or a wysiwyg toolbar (haven't decided yet)

Implement rating input with tests

This one won't turn into an input box. Instead it will turn the integer raw data into 0-5 filled in stars (like you have already done for the filter), but we need to expand it to respond to clicks. When you click on a star is should update the display and trigger the update event like we do on the other fields.

Need some e2e tests

We need at least one e2e test for each directive that tests a round trip through the edit process.

CSS and images need to be combined

The CSS and images from star, rating, icon need to be combined into one css file and image folder and put into the common directory at the top level.

rich text keyboard commands

ESC needs to cancel the edit
TAB needs to either insert a tab or blur and save the input. Preferably blur and save.

Multi-list cannot add multiple values

On the multi-select list, you can type in a new custom value that isn't in the existing list, and it will add it just fine. However, if you then try to type a second new custom value in the same box, it will fail.

URL directive doesn't handle multiple elements properly

If you have two URL directives on the same page, and you show the popup by clicking on one of them, and then click on a different url, it should close the first popup and then show the second popup. Instead it is showing both popups briefly and them closing both.

Icon filter should detect invalid inputs

The icon filter needs to handle invalid inputs. If you pass a number, boolean or a string for an icon that doesnt exist, it should detect this and display _clear instead.

I create a unit test for this already. Just need to activate it and get it to pass.

Date + Time directive needs time picker

We have a popup calendar and a popup time picker. We need to combine them for the date+time picker. Lets start by stacking them vertically. So calendar on the top with the time picker below.

List directive needs proper blur and keyboard handlers.

The following events need to be properly handled

esc: cancels the edit and returns to the read mode.

tab: In single picker mode, it should save and return to read mode. In multi picker mode it should set the value and allow entry of another value,

return: Should save and return to read mode

shift+tab, shift+return: same as above but register the shift key for the exit messages

click outside: save and return to edit mode

click on option in select2 menu: In single picker mode, save and return to read mode. In multi picker mode, set value and keep open for selecting more values.

Integration issue with url/phone/email

There appears to be a conflict with the url/phone/email field editors when there are multiple versions of them on the same page. Take a look at the ADE index.html page to see what happens. When you try to edit the url, it edits the phone instead.

This is using a compiled version of the ADE library that you can regenerated if needed by using the scripts/compile.html file. It uses the latest files from github, so you may need to modify the compile function if you need to test with your uncommited changes.

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.