Skip to content

Instantly share code, notes, and snippets.

View dougal83's full-sized avatar

Douglas McConnachie dougal83

View GitHub Profile
@dougal83
dougal83 / form-disabled.directive.ts
Created July 4, 2024 20:58
Add [disabled] directive to FormGroup for convenience. Intended for use with signals.
import { Directive, effect, input } from '@angular/core';
import { FormGroupDirective } from '@angular/forms';
/**
* Add [disabled] directive to FormGroup for convenience.
*
* @usageNotes
* Give convienient utility for disabling form submit with 'form.disabled'.
* <button type="submit" [disabled]="form.invalid || form.disabled">Submit</button>
*/
@dougal83
dougal83 / default-form-errors.ts
Created July 5, 2024 12:07
Directive for <mat-error> to generate default messages and convenience for custom.
/* eslint-disable @typescript-eslint/no-unused-vars */
/* eslint-disable @typescript-eslint/no-explicit-any */
import { InjectionToken } from '@angular/core';
const defaultErrors: {
[key: string]: any;
} = {
min: ({ minimum, actual }: any) => `Value must be at least ${minimum}`,
max: ({ maximum, actual }: any) => `Value must be less than ${maximum}`,
required: () => `This field is required`,