GithubHelp home page GithubHelp logo

slickgrid2's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

slickgrid2's Issues

Columns hide under pinned column when using a keyboard

  1. Pin the 1st column
  2. Click on any cell
  3. Use right arrow key to move all the way to the last column in the grid
  4. Now use the left arrow key to go all the way back to the first column

Expected: First non-pinned column should scroll into view
Actual: First non-pinned column is occluded by the pinned column

Edit functionality broken

I switched from 6pac SlickGrid to your repository to use the fixedColumn functionality. A custom editor which worked with the 6pac SlickGrid broke during this switch.
I was getting an Uncaught TypeError: this.updateRow is not a function at slickgrid2\dist\grid.js:3385 .

I have traced down the error to the method SlickGrid.commitCurrentEdit (slickgrid2\dist\grid.js:3407). The problems are the execute and undo functions inside the editCommand object. When these functions are executed, this refers to the editCommand object but in the call this.updateRow(this.row) the first this must be the SlickGrid object.

I have attached a fixed version which I include in addition to your code.
const SlickGrid = require('slickgrid2').SlickGrid;
require('./slickgrid.editor.fix.js')(SlickGrid);

slickgrid.editor.fix.js.txt

prioritize columnMetadata over rowMetadata for focusable & selectable

slickgrid fetches a metadata object for rows using:

dataView.getItemMetadata(row)

which returns a metadata object with the following shape:

rowMetadata =
  formatter: Function
  selectable: Boolean
  focusable: Boolean
  columns:
    columnIdA:
      formatter: Function
      selectable: Boolean
      focusable: Boolean
    columnIdB:
      formatter: Function
      selectable: Boolean
      focusable: Boolean
    ...
...

Currently, if the top-level formatter or selectable values are set in rowMetadata, slickgrid returns early and doesn't allow us to override these values with the formatter or selectable values defined in the columns object.

This PR gives slickgrid a more sensible inheritance model: columnMeta > rowMeta instead of rowMeta > columnMeta.

Each grid should gets its own EditorLock instance

Currently, slickgrid instantiates with Slick.GlobalEditorLock, which is an instance of Slick.EditorLock

This works fine for a single grid, but breaks down when multiple editable grids are on the same page.

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.