Skip to content

Instantly share code, notes, and snippets.

View Armenvardanyan95's full-sized avatar

Armen Vardanyan Armenvardanyan95

View GitHub Profile
of(1, 2, 3).pipe(toArray()).subscribe(console.log);
withLatestFrom(this.control.valueChanges.pipe(startWith(null)));
@Component({
selector: 'my-component',
template: '<div><input [formControl]="control"/></div>',
})
export class MyComponent implements OnInit {
control = new FormControl('');
ngOnInit() {
fromEvent(document.body, 'click').pipe(
withLatestFrom(this.control.valueChanges),
class ActionNames {
private static names = new Set<string>();
static create(name: string): string {
if (ActionNames.names.has(name)) {
throw new Error('An Action with this type already exists!');
}
ActionNames.names.add(name);
return name;
}
const loadData = createAction('[Home Page] Load Data');
const loadDataSuccess = createAction(
'[Home Page] Load Data',
props<{payload: object}>(),
);
const _dataReducer = createReducer(
{},
on(loadDataSuccess, (state, {payload}) => ({...state, ...payload})),
);
export class BaseComponent {
@Input() something = '';
}
@Component({
selector: 'my-selector',
template: 'Empty',
inputs: ['something'],
})
export class InheritedComponent extends BaseComponent {
export class BaseComponent {
@Input() something = '';
}
@Component({
selector: 'my-selector',
template: 'Empty',
})
export class InheritedComponent extends BaseComponent {
// actual class implementation
this.control.disable({emitEvent: false});
@Component({
selector: 'my-component',
template: `
<input [formControl]="control">
<button (click)="toggleEnabledState()">Toggle State</button>
`,
})
export class MyComponent implements OnInit {
control = new FormControl('Default Value');
(value: string) => this.ngControl.control.setValue(value.trim(), {emitEvent: false}),