Giter Site home page Giter Site logo

*uiScroll on table row about ngx-ui-scroll HOT 17 OPEN

dhilt avatar dhilt commented on May 24, 2024
*uiScroll on table row

from ngx-ui-scroll.

Comments (17)

dhilt avatar dhilt commented on May 24, 2024 1

@dabcat Yes, this is known issue – https://stackoverflow.com/a/50161881/3211932 (posted it 10 days ago). You are absolutely right, we should allow tables syntax, so I put the "enhancement" tag and will do it right after 0.0.5 version is released. Thanks!

from ngx-ui-scroll.

markdBC avatar markdBC commented on May 24, 2024 1

@dhilt I've replied to your question on SO (https://stackoverflow.com/questions/58826887/using-dynamic-component-within-angular-structural-directive-produces-extra-html) with a solution. Does this help solve the problem with tables?

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024 1

@markdBC That seems work, I tried it on ngx-ui-scroll locally and can confirm that we are ready to take another step towards supporting table-based layout. Maybe you want to make a PR looking at table-layout branch?

The directive changes should go there:

const templateView = this.templateRef.createEmbeddedView({});
const compFactory = this.resolver.resolveComponentFactory(UiScrollComponent);
const componentRef = this.viewContainer.createComponent(
compFactory, undefined, this.viewContainer.injector, [templateView.rootNodes]
);
componentRef.instance.datasource = this.datasource;
componentRef.instance.template = this.templateRef;

The component's template is here:

const template = `<ng-container *ngIf="isTable"><tr data-sid="backward">

Don't try to see the result, it would be not the end of the story... Particularly, the component's elementRef would refer to an island which is not going to be a part of DOM. So its parent element will be null. But the lib needs this parent! Also, mytemplate would refer to a comment child of this island... so I'll need to think how to detect the parent element and pass it to the lib engine. Also, ngOnInit stops fire. And so on. There will be a lot of new issues, but I' ll take care of them. I just want you to push a commit to the lib's repo history, if you have time and you are interested in it. Perhaps we'll continue to resolve other issues together...

Anyway, having you solution, I'm really happy that the lib will overcome this particular deadlock. Thanks a lot!

from ngx-ui-scroll.

s137 avatar s137 commented on May 24, 2024 1

Any updates on this issue? :)

from ngx-ui-scroll.

mohammed534 avatar mohammed534 commented on May 24, 2024

i'm getting this error
Datasource get method invalid signature

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

@mohammed534 please open another issue, post your code and I will take a look

from ngx-ui-scroll.

Kim-Andersen avatar Kim-Andersen commented on May 24, 2024

@dhilt Any news on this enhancement?

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

@Kim-Andersen ngx-ui-scroll v1.0.0 is almost here, so I guess table-layout feature can be started soon after this release.

from ngx-ui-scroll.

brandom avatar brandom commented on May 24, 2024

@dhilt Any update on this? I would like to use this on the material expansion panel but the div wrapper is messing up the styles.

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

Sorry guys! Not so much time I have for now. Table templating is definitely possible, but it's implementation is not obvious. I had some progress but I stubbed with one extra tag issue and have no time to dig into it by myself. So today I posted question on SO which might help. If no one answer in 2 days, I'm going to draw attention by placing a bounty on it. Would be great if you could help me to promote it a bit by upvoting the question: https://stackoverflow.com/questions/58826887/using-dynamic-component-within-angular-structural-directive-produces-extra-html

@brandom ^

from ngx-ui-scroll.

markdBC avatar markdBC commented on May 24, 2024

@dhilt No problem! I've submitted a PR at #145.

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

@markdBC amazing!.. I asked you to look at the initialization issue in the new PR comment, if you have time.

from ngx-ui-scroll.

kupri94 avatar kupri94 commented on May 24, 2024

Any updates?

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

@kupri94 Nope, all my efforts are aimed at the Chat App case finalization. Understanding the importance of this feature, I still can't predict when it will be taken into the active development and done. And I'd appreciate any help the community might give.

from ngx-ui-scroll.

gaoyajiang avatar gaoyajiang commented on May 24, 2024

Why can't I see this example

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

@gaoyajiang No example because this is not done yet. Though considerable efforts have been made. This is a long-term issue requiring a lot of resources that I don't have for now.

from ngx-ui-scroll.

dhilt avatar dhilt commented on May 24, 2024

Hi @s137, hi all! While I still can't provide table layout support (lack of Angular skills and time, any help would be appreciated), there is a good workaround. The thing is that at the time of the ngx-ui-scroll v3 release, the core (vscroll) was separated from the Angular wrapper, and it became possible to implement another Angular wrapper that meets more specific requirements than the official ngx-ui-scroll wrapper. I created a stackblitz demo implementing table layout over the vscroll core according to the vscroll specification:

https://stackblitz.com/edit/vscroll-angular-integration-table-demo

The scroller itself has <100 lines of code, so please consider this option. In order to use this approach you need to install vscroll instead of ngx-ui-scroll, and then follow the demo. Also, if anyone might be interested, here's the same table-layout demo in a vanilla js context: https://stackblitz.com/edit/vscroll-1-5-3-table (it can help understanding the vscroll specification).

from ngx-ui-scroll.

Related Issues (20)

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.