Angular CDK - Overlay Module Pt.2 (Advanced, 2020)

Поділитися
Вставка

КОМЕНТАРІ • 33

  • @DecodedFrontend
    @DecodedFrontend  3 роки тому +1

    🔥🔥🔥I just released one of *the most advanced courses about Angular Forms* . Check it out: bit.ly/advanced-angular-forms 🔥🔥🔥

  • @DecodedFrontend
    @DecodedFrontend  4 роки тому +13

    Guys, forgot to mention in the video one important thing: Do not forget in `ngOnDestroy` lifecycle hook to call `stopMonitoring(focusElementRef)` method provided by focusMonitor service, otherwise you will get a memory leak.

  • @User-vi1tv
    @User-vi1tv 2 роки тому

    Probably the best tutorial I’ve seen on this topic! Many thanks😊

  • @IhorKevin
    @IhorKevin 3 роки тому +1

    Я з цими оверлеями відкрив для себе Матеріал заново. Надзвичайно корисні туторіали, продовжуй.

    • @DecodedFrontend
      @DecodedFrontend  3 роки тому +3

      Таак.. оверлеї дійсно круті як і взагалі весь CDK. Його чим більше вивчаеш тим більше він тебе вражае))

  • @सनातन_Surya
    @सनातन_Surya 4 роки тому +1

    Thank you for the nice information

  • @tekforge
    @tekforge 9 місяців тому

    Hi Dmytro, can you show us please a virtual scroller in an overlay?
    I have a custom autocomplete with a dynamic mat-table in its overlay (dropdown). But it has a performance problem when the number of options is big. Lay loading (progressive rendering) was not an ideal solution for it because the delay made the users think that some options do not exist while they are not loaded yet.
    I would like to use virtual scrolling in it, and appreciate your feedback!

  • @shahenshahmalik
    @shahenshahmalik Рік тому

    Awesome

  • @Roman169x
    @Roman169x 4 роки тому +2

    Hi, great lessons!
    Are you planning to make a video about text inputs?

    • @DecodedFrontend
      @DecodedFrontend  4 роки тому +3

      Hi, Thank you!
      Yes, definitely! But I can not tell you exactly when. It is quite big topic as well, so I have to prepare it properly and it will take some time:)

  • @Faheem4449
    @Faheem4449 2 роки тому +1

    You are awesome

  • @gund_ua
    @gund_ua 4 роки тому +6

    Hey Dmytro! Very nice overview of the CDK Overlays!
    BTW regarding your finding of memory leak - I checked further and discovered that it very well may be a memory leak!
    I also found an open issue about memory leak but they did not found yet the reason why - so I've posted there a commend with the reference to your video =)
    Check this out - github.com/angular/components/issues/10573

    • @DecodedFrontend
      @DecodedFrontend  4 роки тому +2

      Thank you, Alex!
      I appreciate you efforts regarding further investigation and sharing my video with community! :)

  • @pradeepkumar-cu4jp
    @pradeepkumar-cu4jp 3 роки тому +1

    Thanks for the wonderful video! I have recently came across a bug regarding the ESC key when used with JAWS (Accessibility testing). It works fine when we test it normally but need to press ESC key twice when used with JAWS.
    Please let me know if you've faced similar issue..

    • @DecodedFrontend
      @DecodedFrontend  3 роки тому +1

      Hi Pradeep,
      No, unfortunately I have never faced it..

  • @YanLoonG13
    @YanLoonG13 2 роки тому

    When i assign false to cdkConnectedOverlayOpen and
    if i have angular animation(for example: fadeOut) binded to template, my custom panelClass which has ConnectedPosition, remove immediately, it is not waiting to animation end.
    any suggestion?

  • @Qw3rtypop
    @Qw3rtypop 3 роки тому +1

    Which extension are you using to provide intellisense for binding functions to your click event in the template? 14:17

    • @DecodedFrontend
      @DecodedFrontend  3 роки тому

      Hi! It is a VS Code extension called Angular Language Service

  • @timothyalcaide
    @timothyalcaide 11 місяців тому

    How to focus to the fisrt element in the open panel with the arrow key for exemple. I don't know why but the usual method with @Viewchild to select the panel and listen keydown events with connnectedOverlay.overlayKeydown() and use focuse monitor doesn't work for me :( Any ideas ?

    • @timothyalcaide
      @timothyalcaide 11 місяців тому

      I use cdk listbox in the content of my panel (if it could help) and cdkTrapFocus to my input with the overlay content (panel)

  • @gouthamcold
    @gouthamcold 4 роки тому +1

    A quick question, is there a way to drag or resize the overlay? I tried multiple solutions like having a cdkDrag inside overlay and with some tweaks the overlay moves but if I add css resize it’s not resizing. If you found a way please share that. Thanks :)

    • @DecodedFrontend
      @DecodedFrontend  4 роки тому

      Hi Goutham! Thank you for your comment. I don’t have a quick solution for you right now because I have never faced such a use case before. I will try to find some time for investigation and once I find something I will let you know😉

    • @gouthamcold
      @gouthamcold 4 роки тому

      Dev Plus Plus Rats! But that’s ok whenever you find a solution share it that’s will be cool, thanks :)

  • @NightmareCrab
    @NightmareCrab 4 роки тому

    The overlay repositioning lags behind when scrolling outside of it. Trying to get it to function like every normal dropdown ever and not lag is quite frustrating.

  • @nagarjunvenishetti9233
    @nagarjunvenishetti9233 3 роки тому

    Hi, Is there any way to attach the overlay container to any other dom element (not to the body tag)

    • @DecodedFrontend
      @DecodedFrontend  3 роки тому +2

      Yea, you can implement your own OverlayContainer service which creates container in any another place and provide it instead of default one

  • @glennolazo7671
    @glennolazo7671 4 роки тому +1

    Hi, Thanks a lot for this wonderful tutorial.
    I have a question. How to apply the backdrop only on the overlay panel element and not on the whole body? Thanks and more power

    • @DecodedFrontend
      @DecodedFrontend  4 роки тому +1

      Hey! Thanks for such a nice feedback :)
      Do I understand right that you want to get rid of this dark surface and apply the dark background to the panel (where the list with cities in the video)?
      If so, than apply [cdkConnectedOverlayHasBackdrop]="false" to your cdkConnectedOverlay - it will remove backdrop and then you can via cdkConnectedOverlayPanelClass attach some class like cdkConnectedOverlayPanelClass="my-custom-class" and then in CSS for .my-custom-class add the color: rgb(0,0,0,0.1) or whatever you want :)

    • @glennolazo7671
      @glennolazo7671 4 роки тому

      @@DecodedFrontend Thanks also for the response in my queries. I will try to do that I'll keep you posted on this Cheers!

    • @glennolazo7671
      @glennolazo7671 4 роки тому

      @@DecodedFrontend Hi, I tried it but it does not apply the backdrop on the panel. What I want to achieve is to have a backdrop only on the position where the overlay panel located(for instance in the side nav only). Thanks pal

    • @DecodedFrontend
      @DecodedFrontend  4 роки тому

      ​@@glennolazo7671 hm.. do you have a real life example (maybe somewhere in another applications)? Because I think you probably misunderstand the idea behind a backdrop or by backdrop you mean something else. Backdrop is always being used as a "full-screen" surface relative to parent and on top off it different panels are placed (at least I have never seen another use-cases). And clicking on backdrop is usually being handled as "click outside to close" behaviour, so if you place backdrop only on the position where the overlay panel located then it will be always under your panel and it makes backdrop useless in this case.
      Maybe you want to move OverlayContainer inside the component where your overlay is being used? So overlay will fill a whole available space inside component rather than document body?

    • @glennolazo7671
      @glennolazo7671 4 роки тому

      @@DecodedFrontend hmm maybe putting the overlay container inside the component is what I'm trying to ask. But for now I set the backdropClass directive to false and create a custom backdrop element and listen to toggle menu state whether to show the backdrop or not. But I think it has a better way on achieving the output that I want. Thanks pal for your quick response. Looking forward to your next vid tutorial :)