Git Product home page Git Product logo

bullsfirst-jquery-backbone's People

Contributors

andrewrota avatar bobholt avatar mmehta4 avatar nareshbhatia 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bullsfirst-jquery-backbone's Issues

Application URLs are not bookmarkable

Although we are using push state, the server has to be configured to redirect deep URLs to the client. Without this we get 404's from the server.

IE8 compatibility

The app does not seem to be compatible with IE8. Throws a JavaScript error on the landing page ( after login )

Array.forEach is the method which is failing ( not natively supported in IE8 )

        positionArray.forEach(function(rawPosition) {
            if (typeof rawPosition.children !== 'undefined') {
                rawPosition.children = this.positionArrayToCollection(rawPosition.children);
            };
            positionCollection.add(new Position(rawPosition));
        }, this);

Are we looking for IE8 support ?

Transfer Modal - Error Handling Messages Stay Open

When closing out of the transfer modal window, any error handling message that were open stay open (or sometimes fly away to the top left with the transfers div). You need to click them to get rid of the messages. They should go away when the transfer modal is hidden.

After the SASS change the app does not have proper reference to CSS

The html is referring to these css files. However, in the new folder structure, the CSS files are not available.

<link rel="stylesheet" href="css/aller.css">
<link rel="stylesheet" href="css/font-awesome.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/jquery-ui-1.8.23.custom.css">
<link rel="stylesheet" href="css/jquery.treeTable-20121109.css">
<link rel="stylesheet" href="css/validationEngine.jquery-2.5.2.css">
<link rel="stylesheet" href="css/bullsfirst.css">

Have run the grunt to see if the build process is making any changes to the folder structure. It didn't

Transfer Modal - Toggle Button Resizing & Hover Fade

The Cash / Securities toggle should act the same way the Trade modal has buy / sell. The div is resized upon toggling, which shifts the text down. There is also a hover fade when moving the cursor off of the button.

Orders Page - Replace custom formatting with Handlebar helpers

In OrdersTableView.js 3 fiels are being custom formatted:

order.attributes.creationTimeFormatted = Formatter.formatDateTime( moment(order.attributes.creationTime) );
order.attributes.limitPriceFormatted = Formatter.formatMoney(order.attributes.limitPrice);
order.attributes.executionPriceFormatted = Formatter.formatMoney(order.attributes.executions.price);

This is not necessary. Use Handlebar helpers instead. See PositionTemplate.html.

Page naming convention will not work on case-sensitive filesystems

Currently, pages in urls are being capitalized with 'Page' appended. This leads to a problem with multi-word pages that we expect to be camel-cased in the filesystem.

For example:

http://bullsfirst/openaccount

Under the current code:

// Derive page name from route, e.g. `home` becomes `HomePage`
var pageName = page[0].toUpperCase() + page.slice(1) + 'Page';

This now looks for /src/js/app/pages/openaccount/OpenaccountPage.js.

If we name our page file OpenAccountPage.js, that will work on OSX and Windows, but break on Linux.

Our options appear to be:

  1. force camelcase in the url ( http://bullsfirst/openAccount )
  2. hyphenate the url ( http://bullsfirst/open-account )
  3. not camel-case the filename and leave it as-is

I suggest route 2. The parsing can be then be re-written so that the file path can still be /src/js/app/pages/openaccount/OpenAccountPage.js.

The /openaccount/ could either be hyphenated or not.

Trade Dialog - Quantity changes ignored

After entering all fields, go back to the quantity field and change it. Now immediately click the preview button - in the preview dialog you will see the old value. Thus values are not transferred correctly on blur. See old implementation of the dialog. It did not have this problem.

Transactions Page - Filters are forgotten when switching tabs

This is because of the new approach adopted by the framework, i.e. to repaint the page from scratch every time the page is changed. We have to come up with some solution for this. Recommend storing filterCriteria created in FilterView.js in repository and restoring it on creation of the view. (similar to issue #32 for Orders page)

Orders Page - Reset Button Functionality

The reset button should reset all filters AND refresh the page. Currently, it only resets the filters and you have to refresh the page yourself to update the data.

Filters code needs refactoring

Filters code is spread in 3 widget folders:

filter
order-filter
transaction-filter

The idea was that common filter code would reside in filter and specific filter code will reside in order-filter and transaction-filter folders. Unfortunately, filter folder has transaction code bleeding into it. Also the two files FilterView and FilterWidget are almost duplicate of each other - probably need only FilterWidget.

In any case, the entire filter code needs to be refactored and cleaned up for better reuse. Should consider how filters settings will be saved in the repository.

Please think through and write up an approach before implementing.

Alert Boxes - Styling Changes

For alert boxes, we should change the light theme to a dark theme, picking colors from the Trade / Transfer modals. See Fay for details if you have any questions. Alert boxes can be seen after making transfers, and a confirmation message shows up.

All Screens - Drop Downs / Text Fields / Date Fields Text Padding

Make sure all form fields listed have the same text padding inside. Follow the example from the trade modal account selection drop down. It has 7px padding on the left. However, the options once you select it are tabbed an additional 3px (10px in total). This should not happen.

Orders Page - Filter not applied during initial render

When the orders page is rendered initially, all orders for the user are displayed. This is a big issue - in a real systems the user could have placed thousands of orders in the past and we do not want to download and paint all these orders when the page is initially displayed. The defaults have been set up to only display today's orders.

In addition, calling this.render() in the initialize() method is not correct - the view is not ready for rendering at this point. render() is called by the framework as part of the initialization sequence. Always let the framework do it.

Please model this page based on the Positions page which is doing something very similar things (including the creation of nested child views.

Orders Page - Table Data w/ Really Long Account Names

The table is stretched to make all rows occupy 2 lines, starting with shifting the AM / PM in the order time column breaking to the next line.

See the following account / password for an example:
jdoes / jdoes

Order Page - Filters are forgotten when switching tabs

This is because of the new approach adopted by the framework, i.e. to repaint the page from scratch every time the page is changed. We have to come up with some solution for this. Recommend storing filterCriteria that is created in OrderFilterWidget.UpdateOrders in the repository and restore it when filter is created.

Transactions Page - Cannot call render() in initialize()

TransactionsTableView is calling this.render() in the initialize() method. This is not correct - the view is not ready for rendering at this point. render() is called by the framework as part of the initialization sequence. Always let the framework do it.

Please model this class based on AccountTableBodyView.

Also you should not need creationTimeFormatted and amountFormatted in renderTransaction(). Use Handlebars helper functions to get this effect directly in the template. See AccountTemplate.html as an example.

Tab Titles - Shift Down

All the titles within the tabs (Accounts, Positions, Orders, Transaction History) should be moved down by 1px. They look too high right now.

Orders & Transactions Pages - Date Picker Stays Open

The date picker stays open until you select a new date. You cannot click outside to close it without making changes. If you move to a different screen within the application, it stills stays on top.

Ability to close the date picker is especially important when you want to clear the date filter. As a side note, pressing enter does close the date picker but it is non-intuitive.

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.