Angular πŸ‡ΊπŸ‡¦ - practical notes
1.63K subscribers
1.6K photos
1 file
532 links
Angular - practical notes

This group is for posting practical notes for Angular developers. Mostly all posts are for quick implementation https://t.me/angular_practical_notes (Commenting on posts only in ENG and UA langs here). Welcome!
Download Telegram
πŸ”„ React With Mediator Design Pattern

#react #mediator

Using the Mediator pattern as a state management solution in React applications also promotes modularization, making it easier to reuse components in other parts of the application or even in other applications.

βœ… Article Link: https://itnext.io/improve-state-management-in-react-with-mediator-design-pattern-db632cbe6475
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ“„ animationFrameScheduler example

#angular #rxjs #animationFrameScheduler

animationFrameScheduler is tailored for tasks that require synchronization with the browser's animation frame. It schedules tasks to be executed just before the next animation frame, ensuring smooth animations and minimizing unnecessary computations. For instance, we can utilize the animationFrameScheduler to update the UI based on animation frames, creating a visually pleasing and responsive user interface.

The scrollPosition$ observable captures the scroll position of the window on each scroll event. The animationFrameScheduler is used to ensure that the scroll position updates and smooth scrolling effect occur right before each animation frame, providing a visually smooth scrolling experience. When the user clicks the "scroll to top" button, the scrollPosition$ observable is subscribed to, and the window is scrolled smoothly towards the top in increments of 10 pixels until the scroll position reaches 0.

βœ… Article Link: https://priyank-bhardwaj.medium.com/reactive-ninja-harnessing-rxjs-for-angular-mastery-part-2-7091aac29d60
πŸ“„ View PDF in Angular

#angular #pdf #DomSanitizer

How to use?
Put the following code in HTML:

<embed [src]="sanitizedUrl | safeResourceUrl | async" class="pdf-content"/>

βœ… Article Link: https://itnext.io/you-dont-need-external-packages-to-view-pdf-in-angular-e47779f86595
πŸ“„ Debounce decorator in Angular

#angular #decorator #debounce

⚠️ Third-Party Lib

Usage example:

@Component({...})
export class ExampleComponent {

@Debounce(1000)
execute(arg: unknown) {
[ ... ]
}

}

βœ… Article Link: https://blog.bitsrc.io/3-ways-to-debounce-http-requests-in-angular-c407eb165ada
❀1
✳️ Handle subscriptions directly from template with Init Directive

#angular #directive

The problem is every async pipe usage creates a new subscription which is not what you really want to see in your project. Moreover this approach won’t work if your’re dealing with cold observables such as http requests. Because in that case every subscriber will get different value. You might know about as keyword in`ngIf ` to bind a template property of some data and solve the problem of reusing same data multiple times. But what if we don’t want to hide this piece of template in any condition. Or imagine we have a lot of streams, which we need to reuse. That would be a bunch of pointless ngIf directives!

βœ… Article Link: https://medium.com/@mikekucherov92/angular-utilities-init-directive-8dc4e0a4723c

🎁 Code Link:
https://gist.github.com/mikekucherov/9677d444148e7f1f8890e0130402b1de#file-init-params-component-html
https://gist.github.com/mikekucherov/84caf26cb387eb904877552531151d1a#file-init-directive-ts
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘2
This media is not supported in your browser
VIEW IN TELEGRAM
✳️ Implementing a Loading Skeleton in Angular

#angular #directive #skeleton #ui_element

Skeletons are placeholder elements that are displayed before the actual content is loaded on a webpage. A skeleton is usually a light gray box or circle that you see on websites like Medium, YouTube, etc. Skeletons convey a visual impression of the feature, which gives them an advantage over spinners.

βœ… Article Link: https://netbasal.com/implementing-a-loading-skeleton-in-angular-7490ffdecc1b

🎁 Code Link:
Step 1: https://gist.github.com/NetanelBasal/33f8ec9a106ee2367f3b9847fd3043cb#file-rect-ske-component-ts

Step 2: https://gist.github.com/NetanelBasal/82030b63d6ed0055c09a543483bd3470#file-skeleton-directive-ts

Step 3: https://gist.github.com/NetanelBasal/0f26e85d13d10a9e564541553094c12f#file-skeleton-demo-html
Please open Telegram to view this post
VIEW IN TELEGRAM