GithubHelp home page GithubHelp logo

doby-grid's Introduction

Hi there ๐Ÿ‘‹

If you see some code in my profile you like, I can proudly admit that I wrote it. If you notice any bugs, then it probably wasn't written by me. ๐Ÿ˜‰

doby-grid's People

Contributors

alanunderwood avatar ckosmowski avatar evhaus avatar janhaertel avatar mminer avatar thomb avatar waffle-iron avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

doby-grid's Issues

resetting filter does not work.

doing the following

var models = [backboneCollection]
if (showFav) {
                    this.grid.filter(function(item) {
                        return item.get('favorite');
                    });
                } else {
                    this.grid.reset(models);
                }

this.grid.reset(models); does not reset it.

Is there a on render event?

Collection with 800 models, need to add an event to a dom element inside a column. Need an event on initial dom render, then when scrolling the dom render after scroll end.

sorting large collections - add sort start event

Sorting a large collection can take a lot of time. I suggest adding a sort start event to setupColumnSort.

Line 7782 after

if (!column || !column.sortable) return;

add

self.trigger('sortStart', e, {
column: column
});

grid.reset(items) steals focus

I am using a custom function to filter, and using grid.reset(newArrayofmodels), however this is stealing the focus from an input box.

Give developers a way to get the current user configurations

After a user has added columns, resized them, added groupings, etc... a developer may want the ability to save the full state of the grid's user configurations so that they can be restored on reload. Provide a method for extract all this information in one go.

Nested grids have confusing selection methods

When you have multiple grids on the page, or have nested grids -- it's difficult to manage selections because the selection of the parent grid is always stealing the focus from the inner grid.

Perhaps selecting something in a grid should search the page for all other visible grids - and deselect them.

Investigate a solution for handling silent changes to Backbone Collections

setItem failing with custom idProperty

Uncaught Error: Unable to update item (id: c127). Invalid or non-matching id

When calling collection.reset()


Consider this scenario:

var collection = new Backbone.Collection();
new DobyGrid({data: collection});

// Silently add an item to the collection so that DobyGrid doesn't know about it
collection.add({id: 123}, {silent: true})

// Try to edit the row
collection.get(123).set({name: 'test'});

// DobyGrid will fail in the setItem() method trying to find that item

Not sure what we should do here. Keep the error? Show a warning instead? Simply do nothing silently?

proving the grid an empty menuExtensions function causes the menu to break

If you provide a menuExtensions function without any additional menu items, the grid throws an error (error from firebug with minified grid):
TypeError: y is undefined
...ickFilterInput&&a.quickFilterInput.select().focus();else{f=b('<div class="'+Ld+'...
doby-g...8245514 (line 8)

menuExtensions function provided:
menuExtensions: function (event, grid, args) {
}

Postprocessing cache loads wrong row cache when grouping results

When post-processing cache is enabled, and you group the grid, the column values will load the wrong value. You can reproduce this in the "Postprocessing" example. Simply group the grid by a column and observe the difference between the cached and non-cached columns.

Grouping and Filtering on Remote - Sub rows not always rendering

Steps to reproduce:

  • Load remote grid
  • Right click Name column, Quick filter by: "Cristina"
  • Right click Name column, Group by Name
  • Collapse the first, second, then third group. (Wait for load mask to complete for each expand)
  • On the third group expand the load mask will get stuck and the cells will not be populated.

There are other ways to replicate this and it doesn't seem to matter what order grouping and filtering are applied.

This is occurring on the latest production Chrome & Firefox on Windows.

I was hoping to see some console feedback for ajax requests on loading data to see how frequent requests would be and what would be required on the server side (database queries).

Auto-column resize fails on newly added columns

  • Load the "Aggregators" example
  • From the context menu, add a new column to the end of the grid
  • Double-click the column separator to resize the column

Note that the column is not resized - but the header is. Causing undesirable breaks.

Clipboard incorrectly copies cells that aren't selectable

If you have a non-selectable column in the middle of your selection -- the values of those cells are still part of the selection range.

The fix is to split up the selection range into parts instead. See how SlickGrid does is.

Missing build 0.0.4

The examples index.html points to build/0.0.4 but that version hasn't been checked into GitHub.

Switched it to 0.0.3 and it's working.

This is awesome!

Investigate a solution for handling silent changes to Backbone Collections

Consider this scenario:

var collection = new Backbone.Collection();
new DobyGrid({data: collection});

// Silently add an item to the collection so that DobyGrid doesn't know about it
collection.add({id: 123}, {silent: true})

// Try to edit the row
collection.get(123).set({name: 'test'});

// DobyGrid will fail in the setItem() method trying to find that item

Not sure what we should do here. Keep the error? Show a warning instead? Simply do nothing silently?

Add support for undo

When editing cells, a user may want to perform an undo operation. Profile an API for this.

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.