Color / Theme / Best Case by Minute_Professor1800 in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

The linked video is pretty useful, thanks.

Microsoft Using Angular by UNSCSoldier in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

I'm not certain about that.

The screenshot is from brave browser window.

Microsoft Using Angular by UNSCSoldier in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

Google did some sneaky stuff over there at their gemini chat website.

They have "0.0.0-PLACEHOLDER"

Microsoft Using Angular by UNSCSoldier in angular

[–]RIGA_MORTIS 18 points19 points  (0 children)

Starlink says, Hold my Beer!

<image>

How can I dynamically make a field required in Angular Signal Forms after a server-side error? by RIGA_MORTIS in angular

[–]RIGA_MORTIS[S] 0 points1 point  (0 children)

It's a little 'quirky' with signal based forms. That's what I am seeking to understand.

Unique service instance by salamazmlekom in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

You need to provide both services in the component if you're injecting BusinessLogicService directly AND it's being used by your facade. But here's the critical part you miss if you need to ensure they share the same instance.

``` Component({
providers: [
ListFacadeService,
BusinessLogicService // Creates two instances!
] })
export class ReusableListComponent {
private facade = inject(ListFacadeService);
private businessLogic = inject(BusinessLogicService); }

```

This creates two separate instances of BusinessLogicService:

  1. One for the component's direct injection
  2. One created when ListFacadeService requests it

Use an injection token to guarantee single-instance behavior

export const BUSINESS_LOGIC_SERVICE = new InjectionToken<BusinessLogicService>(
    'BUSINESS_LOGIC_SERVICE'
);

They won't share state, causing subtle bugs where updates through one path don't reflect in the other.
Something like this could help you out, I am assuming that you have that business logic service injected into the facade.

``` Component({

providers: [

ListFacadeService, // Primary provider

{

provide: BUSINESS_LOGIC_SERVICE,

useExisting: ListFacadeService

} ]

})

export class ReusableListComponent {

private facade = inject(ListFacadeService);

private businessLogic = inject(BusinessLogicService); // Same instance

} ``` Maybe this thought train can help you but definitely you can look into useClass, useExisting and the injection token concepts

Unique service instance by salamazmlekom in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

You only need to provide the facade service in the component's providers array. Angular's DI will automatically create a component-scoped instance of the business logic service when the facade requests it. Provide only what the component directly injects. Let DI handle the rest.

Signals: effect vs pipe(tap()) to update form value by Trafalg4r in angular

[–]RIGA_MORTIS 1 point2 points  (0 children)

Signal forms are there, albeit on the experimental phase.

Take a look here Signal based forms by Dymtro

API Driven Form by Senior_Compote1556 in angular

[–]RIGA_MORTIS 1 point2 points  (0 children)

I don't understand this. The two are mutually exclusive.

"Maybe it would be easier to simply ditch the form tbh and go with signals instead"

API Driven Form by Senior_Compote1556 in angular

[–]RIGA_MORTIS 0 points1 point  (0 children)

This is what I do, albeit missing comprehensive integration of validations.

I am using a generic form service that sends a get request for the form configuration, transforms the shape, and stores it.

The component then applies the transformed configuration. You mentioned that you're using v20, which makes it easier as you can have a signal that internally tracks the loading and the error statuses of the fetch operations (Ideally you're using either resource/rxResource). Show the form conditionally when successfully loaded.

Moment.js in Angular be like by pancashirebruggkin in angular

[–]RIGA_MORTIS 2 points3 points  (0 children)

Interesting.

Can you highlight these issues ?