Stephen Cooper

Stephen Cooper @scooperdev

About: Senior Developer at AG Grid. Tech Blogging, Father of 4

Location:
London
Joined:
Aug 1, 2019

Stephen Cooper
articles - 35 total

Test that every MutationObserver is disconnected to avoid memory leaks

MutationObserver is a useful mechanism to watch for changes in the DOM and respond to them. The...

Learn More 0 0Aug 22 '24

Supporting Circularly Referenced Mapped Types in Typescript

Recursive structures are very common across many applications but they can pose a big challenge to...

Learn More 7 4Sep 22 '23

Generate array of all an interface's keys with Typescript

When working with a large and complex code base like AG Grid it is very easy to miss updating certain...

Learn More 20 2Jul 24 '23

Use AG Grid with Observables as cell values

In this guest post by Nicolas Gehlert, origianlly published here, learn a clean approach to working...

Learn More 3 0Jan 5 '23

Does Angular Support Generic Component Types?

You may be familiar with writing Typescript Generics like Grid<IRowData> but how does this work...

Learn More 62 5Dec 20 '22

Reducing Angular Library Contributions to the Main Bundle

In this guest post by Nicolas Gehlert, origianlly published here, learn the best way to include AG...

Learn More 3 0Dec 6 '22

Code Refactoring with Regex Find and Replace

When faced with a major refactoring task across your codebase don't forget you can use Regexes to do...

Learn More 1 0Oct 14 '22

Write Typescript in the browser with SystemJs

(This post is just a rough public note about a side effect of some of my work. May or may not be...

Learn More 3 0Sep 13 '22

AG Grid: Typescript Generics

In this article, we will show you how to make the most of Typescript Generics in AG Grid v28. We will...

Learn More 1 0Jul 14 '22

Upcoming changes to AG Grid Angular in v28

In this post, we want to give you notice of the changes that are coming to our Angular wrappers in...

Learn More 6 0Jun 9 '22

VS Code: It's taking a while to configure your breakpoints"

I love using VS Code to run and debug local scripts. However, I had noticed that starting up the task...

Learn More 10 0May 12 '22

Understanding async tests in Angular

If you are testing an Angular application, then at some point, you will be required to test...

Learn More 62 1Apr 25 '22

Use Arrow function, () => {}, to correctly bind this

As part of my role working for AG Grid I get to see a number of repeated issues. One such issue that...

Learn More 8 0Apr 25 '22

Type checking and auto-completion in Plunker

At AG Grid we use Plunker to provide an interactive playground for all of our code examples. In the...

Learn More 6 0Apr 19 '22

Maximise your productivity with AG Grid Documentation

At AG Grid we put a lot of effort into our documentation as we understand that good documentation...

Learn More 6 0Apr 1 '22

Use npm pack to test your packages locally

When working with npm packages you often want to test your package without having to publish it to...

Learn More 72 14Feb 18 '22

AG Grid: Minimising Application Bundle Size

In this post, we are going to demonstrate how you can minimise your application bundle size when...

Learn More 5 0Feb 10 '22

Setting up a Certificate for localhost

(This post is mainly a public note for myself but maybe will help others too.) Self Signed...

Learn More 7 0Jan 7 '22

AG Grid Tip: Quick Filter on only Visible Columns

AG Grid provides a handy "quick filter" that enables you to filter all your grid data by providing a...

Learn More 4 0Dec 15 '21

AG Grid Tip: HeaderNames

Did you know that you don't always have to provide a headerName to your column definitions in AG...

Learn More 3 0Nov 16 '21

Using Typescript to Auto-Generate Documentation

The public interfaces of AG Grid are ever-changing. How do we ensure that our documentation stays up...

Learn More 6 0Oct 18 '21

Adding a layer of more explicit typings on top of 3rd party library interfaces

You may have noticed that the typing provided by 3rd party libraries often feels very loose. This sho...

Learn More 1 0May 18 '21

ngTemplateOutlet: The secret to customisation

ngTemplateOutlet is a powerful tool for creating customisable components. It is used by many Angular...

Learn More 9 2Dec 2 '20

Understanding ngrx/component-store debounceSync()

In the previous post we looked at the debounce option for @ngrx/component-store selectors and how it...

Learn More 9 1Oct 12 '20

Understanding @ngrx/component-store Selector Debouncing

@ngrx/component-store selectors have a debounce option that lets the state settle before emitting....

Learn More 6 3Oct 6 '20

Regex search and replace with VS Code

I wanted to upgrade ag-grid across a number of apps. Standard search and replace did not work due to...

Learn More 17 2Jun 23 '20

NgRx 9: Introducing strictActionWithinNgZone runtime check

NgRx 9 brings us a brand new runtime check: strictActionWithinNgZone. If enabled, this check will hig...

Learn More 26 0Mar 10 '20

NgRx Selector Performance

NgRx selectors promise performance gains via memoization. However, we must take care when defining...

Learn More 84 7Feb 19 '20

Change Detection: Getting in the (Angular) Zone!

Who knew an event binding in one component could cause a display bug in another? We will explain the...

Learn More 55 9Jan 24 '20

Introducing TestCases to Typescript

I want to test a Typescript function with lots of varied inputs to ensure good coverage. How do I go...

Learn More 17 2Dec 17 '19