profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/redaxmedia/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Henry Ruhs redaxmedia Redaxmedia Dresden | Germany https://redaxmedia.com CMS Founder + Frontend Architect + JavaScript Evangelist + WPO Expert + GitHub Fanboy

redaxscript/redaxscript 246

A modern, ultra lightweight and rocket fast Content Management System

redaxmedia/chroma-feedback 98

Turn your RGB powered hardware into an build indicator for continuous integration

redaxmedia/ncss-documentation 46

Named Cascading Style Sheets is a naming convention and guideline for semantic CSS

redaxmedia/handpick 34

Handpick conditional dependencies like a boss

redaxmedia/phpunit-provider-autoloader 10

Magic helper to autoload CSV, JSON, PHP, XML and YAML data provider in PHPUnit

redaxmedia/ngx-crud 7

CRUD services in Angular with effortless aborting, caching and observing

redaxmedia/facebook-proxy 6

A dead simple HTTP proxy to unleash the Facebook API

redaxmedia/sendgrid-proxy 5

A dead simple HTTP proxy to unleash the SendGrid API

redaxmedia/move.css 3

Like animate.css but without the bad parts

redaxmedia/ncss-linter 2

Linter for NCSS

issue closedredaxmedia/ngx-crud

Restore endpoint and options after call

Since the very beginning of this library, there is an flaw of service wide properties like endpoint, params, headers and other options. Once set for a specific method, it manipulates other (parallel and afterwards) requests.

1. Approach

Using finalize() inside a pipe() comes handy but does not solve falsy request being called parallel:

@Injectable()
export class JokeService extends CrudService<JokeInterface>
{
	protected apiUrl : string = environment.apiUrl;
	protected apiRoute : string = environment.apiRoutes.joke;

	public search(query : string) : Observable<Joke[]>
	{
		return this
			.setParam('query', query)
			.request<Joke[]>('GET')
			.pipe(
				finalize(() => this.clearParam('query'))
			);
	}
}

2. Approach

Implement a custom clone() method to create another instance of your service that does not touch sibling requests:

@Injectable()
export class JokeService extends CrudService<Joke>
{
	protected apiUrl : string = environment.apiUrl;
	protected apiRoute : string = environment.apiRoutes.joke;

	public search(query : string) : Observable<Joke[]>
	{
		return this
			.clone()
			.setParam('query', query)
			.request<Joke[]>('GET');
	}

	protected clone() : JokeService
	{
		return new JokeService(this.injector);
	}
}

closed time in 21 hours

redaxmedia

issue commentredaxmedia/ngx-crud

Restore endpoint and options after call

The 2. approach will make it to the documentation and is the recommended solution for this problem. I could not provide a generic clone() method via the CommonService as typing would force and ugly API like clone<JokeService>(JokeService) and custom arguments could be a show-stopper aswell for lot of projects.

1. Variante

protected clone(): JokeService {
	return new JokeService(this.injector);
}

2. Variante

protected clone(): JokeService {
	return new JokeService(this.environment, this.injector);
}
redaxmedia

comment created time in 21 hours

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 9dc145cb0729bf56fcd8d2d84af30f6eb9cd4065

Finally solve the issue of shared options

view details

push time in a day

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 3fea5b5d1e03f0b61fc0d026d7abfa4a00726edd

Remove useless toString()

view details

push time in a day

startedstacktracejs/error-stack-parser

started time in 2 days

push eventredaxmedia/ngx-crud-playground

redaxmedia

commit sha 332edfee2aa653ade36917039b172fd82e02d3d8

Use ngx-crud 9.0.0-next.1

view details

push time in 3 days

delete branch redaxmedia/ngx-crud

delete branch : next

delete time in 3 days

push eventredaxmedia/ngx-crud

Henry Ruhs

commit sha e0bae84e29401e361c047d0b35267b1f903f68b5

Remove deprecated code (#38)

view details

push time in 3 days

PR merged redaxmedia/ngx-crud

Remove deprecated code
+7 -138

0 comment

11 changed files

redaxmedia

pr closed time in 3 days

PR opened redaxmedia/ngx-crud

Remove deprecated code
+7 -138

0 comment

11 changed files

pr created time in 3 days

create barnchredaxmedia/ngx-crud

branch : next

created branch time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha cc54703a3e51b6f5f059273426d245524ef80605

Remove usage of getEndpoint()

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 7e34975e5a8516d14a30b7326e5466c4fda6f76f

Improve context method

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 7f0c439b745537333eab1557c609ca279f151de1

Fix README.md

view details

push time in 3 days

push eventredaxmedia/ngx-crud-playground

redaxmedia

commit sha d7cfa41ba1b78546f360929a4976189ec8d28cf8

Use latest ngx-crud with deprecated Endpoint

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha b3cf9030cc846bad55f6110a1fc6c5b42d039da6

Endpoint now is deprecated as ApiRoute is more accurate

view details

push time in 3 days

push eventredaxmedia/ngx-crud-playground

redaxmedia

commit sha 4156e60e9d92db25d8325b5f05315ad2977eb4c7

Remove Interface suffix all over the place

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 2f9fdaa5c0b3d98a95fcba112101d1f1ddc533ff

Remove optional methods for Observe*Effect

view details

push time in 3 days

issue openedredaxmedia/eslint-config-redaxmedia

Add deprecation plugin

See: https://github.com/gund/eslint-plugin-deprecation

created time in 3 days

startedgund/eslint-plugin-deprecation

started time in 3 days

push eventredaxmedia/ngx-crud-playground

redaxmedia

commit sha 9b67134cb94a3c1b18b7b03325ea63ac5bcdad61

Use ngx-crud with tons of deprecations

view details

push time in 3 days

push eventredaxmedia/ngx-crud

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha f56677d788ba5d876b86c85359827e9a0ced52b4

Remove deprecated code and union files

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 08b4009d0b988d3575f1a45160fbbf30b6c6d44e

Deprecated CrudInterface aswell

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha ed82ad10ba2dfeb06e2e442fed0c7f62b93b7a2e

Deprecated CrudInterface aswell

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 7e782ddf6c5b245453d2ea8f27a50395ea5792fe

Rename OptionWithBody to OptionsWithBody

view details

push time in 3 days

push eventredaxmedia/ngx-crud-playground

redaxmedia

commit sha 6bce9f7b3d80910b2b1cc2276f571fb09e32bf07

Use ngx-crud with tons of deprecations

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 6d9ad1d4410c69b42552c41ceae0d6889d8c02e7

Bump version

view details

push time in 3 days

push eventredaxmedia/ngx-crud

redaxmedia

commit sha 7723af17f4b871976671ff35a1db196e17e7fd47

Use the correct OBSERVE_EFFECT typing

view details

push time in 3 days

issue closedredaxmedia/ngx-crud

Improve interfaces and types

  • [x] Think about introducing this:
export class ObserveEffect implements BeforeEffect, AfterEffect {
  before() {}
  after() {}
}
  • [x] Mark the ObserveEffectInterface as deprecated
  • [x] Remove interface and type suffixes all over the place
  • [x] Mark OptionInterface and OptionWithBodyInterface as deprecated

closed time in 3 days

redaxmedia