GithubHelp home page GithubHelp logo

yantrab / yangular Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 6.0 957 KB

Angular material virtual scroll table, with sticky columns, filtering and sorting.

TypeScript 80.17% HTML 9.55% JavaScript 7.38% CSS 0.15% SCSS 2.75%
angular-material angular7 scrollview virtual-scroll

yangular's People

Contributors

celian-garcia avatar dependabot[bot] avatar gonode5 avatar yanivpraedicta avatar yantrab avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

yangular's Issues

scroll event not working

{{row.attributes.description}} {{row.attributes.abbreviation}}

This scroll is not calling scroll event in typescript file on window scroll.

iPhone issue? animate not a function & no slide animation?

I am having a lot of iPhone users report issues with this module. When trying to reopen a slide in that was previously open, I get wrapper_1.animate is not a function. (In 'wrapper_1.animate(keyframes, options)', 'wrapper_1.animate' is undefined) and it doesn't reopen. I also am noticing that the slide in from left or right animation doesn't work on iPhone. It just pops in like material dialog originally does. It has no slide effect.
Is this a known issue?

[table] mat-footer-cell and mat-footer-row integration

Hi,
Nice work with the table, it's very easy to use. I'm trying to migrate my code to this virtual scrolling table but having issue with a trick I used to display a "No resource found" message using footer .

It is basically based on this simple example : https://gist.github.com/StickNitro/5b476cd4f6218080b5438776c612631e

Did you already try to display this kind of message with your lib ?

Or do you plan to integrate the footer feature ? I can work on a PR if you don't mind ;)

Cheers !

Data is not appended at first when coming from API

@yantrab I faced an issue while fetching the data from API I append that into the rows variable but the issue is that data is not been appended at first, I have to scroll up the table bit little and then only I can see the new data. For the demo, I have put a 2sec delay in the pushing of data. https://stackblitz.com/edit/mat-virtual-table?file=src%2Fapp%2Fapp.component.ts

And also how can I place a spinner within the table, might be this can solve that issue. If we put the spinner outside the table it will not work.

Because I put a div within the table with a message and it is not visible. Outside table it is visible but not solve that issue.

Funtionality

Hi, Can you please tell how to remove sorting from header.

afterclosed observer doesn't pass result of close method

ng-dialog-animation.service.ts (line 111)
110: const closeHandler = (dialogResult?: R) => {
111: _afterClosed.next();

it should be
111: _afterClosed.next(dialogResult);

dialogResult - Optional (but very useful) result to return to the dialog opener.

Thank you!!!

ScrollBar size is increasing/decreasing automatically

Hi, I am adding data dynamically through which virtual scroll showing data via rows.

When I scroll down the new data is been added and scrollbar size decreases, that is fine but when I used to scroll up again the scrollbar size increases that should not be happened because we have store the response in a variable because in scroll up no new data is been fetched.

I'm sharing my link of stackblitz: https://stackblitz.com/edit/mat-virtual-table

In this data is been added when we are reaching the bottom of the screen and clearly, the scrollbar sizes are increasing/decreasing when I scroll up/down

And also tell me how to increase the number of records in DOM at a time, currently, it seems to be 40-50 but i want it to be 300.

Filter value to lowercase

Hi, there is problem with filtering if the filter value contains upper case letters. It seems that filter.nativeElement.value should be to lowercase when comparing with row.query.

Multiple open dialogs

When opening a dialog from another dialog, closing the second dialog also closes the first dialog, leaving the back ground overlay still enabled/visible, disabling any further entry on page.

RowStart isn't starting from 0

if (config.position && config.position.rowStart) { if (dir === 'rtl') { config.position.left = config.position.rowEnd; } else { config.position.right = config.position.rowEnd; } }

Should be config.position.rowStart;

Doesn't work in Safari

Hello,

I been used the library to animate material dialog for my project and everything work great for the most part. However, it doesn't seem to work on Safari, will there be support for Safari browser anytime soon?

Functionality: Custom Function call on header

Hi, Can you please tell how can I Add click function call on table header cell and how can I add my own sorting icon with table heading, so that on click of that icon I can sort data on the behalf of api response?

Sticky header offset on native table

Hey :)

I'm using some parts of your code to achieve virtual scrolling on my custom table wrapper.
It works really good but i have a problem with the sticky header. (I'm using native table element tags)

The position of the header is correct until start is equal or bigger than the PAGESIZE
(in GridTableDataSource).

I logged the data and tried to figure out a pattern in excel to make a custom calculation but that didn't work :/
Do you have any idea about this?

EDIT
I got it working by querying the header elements and setting the offset there.

const headers = document.getElementsByClassName('mat-header-cell');

for (let i = 0; i < headers.length; i++) {
    headers.item(i)['style'].top = '-' + this.offset.toString() + 'px';
}

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.