@zodiac-ui/ng-observable
Version:
Create powerful reactive components with Angular. AoT compatible and Ivy ready.
43 lines • 3.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { STATE_CHANGE_STRATEGY } from "./constants";
/**
* Configures the change detection strategy for the current injector when used with {\@link StateFactory}
*
* When using `DETACH` mode the change detector is detached after the first
* change detection run and each component must manually call `State#next`
* or `ChangeDetectorRef#detectChanges` afterwards to
* re-render the template. This behaviour ignores any setting of
* `ChangeDetectionStrategy` at the compiler or component level. `REATTACH`
* will reattach the `ChangeDetectorRef` when the `State` is instantiated.
*
* @see {\@link StateChangeStrategy.DETACH} / {\@link StateChangeStrategy.REATTACH}
*
* \@usageNotes
*
* ```typescript
* \@Component({
* providers: [
* useStateChangeStrategy(
* StateChangeStrategy.DETACH, // or REATTACH
* ),
* ],
* })
* export class AppComponent {}
* ```
*
* \@publicApi
*
* @param {?} strategy A flag to determine the change detection strategy that should be used.
*
* @return {?}
*/
export function useStateChangeStrategy(strategy) {
return {
provide: STATE_CHANGE_STRATEGY,
useValue: strategy,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHpvZGlhYy11aS9uZy1vYnNlcnZhYmxlLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLGFBQWEsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ3hFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUE2QjtJQUNoRSxPQUFPO1FBQ0gsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsUUFBUTtLQUNyQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNUQVRFX0NIQU5HRV9TVFJBVEVHWSwgU3RhdGVDaGFuZ2VTdHJhdGVneSB9IGZyb20gXCIuL2NvbnN0YW50c1wiXHJcblxyXG4vKipcclxuICogQ29uZmlndXJlcyB0aGUgY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneSBmb3IgdGhlIGN1cnJlbnQgaW5qZWN0b3Igd2hlbiB1c2VkIHdpdGgge0BsaW5rIFN0YXRlRmFjdG9yeX1cclxuICpcclxuICogV2hlbiB1c2luZyBgREVUQUNIYCBtb2RlIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgaXMgZGV0YWNoZWQgYWZ0ZXIgdGhlIGZpcnN0XHJcbiAqIGNoYW5nZSBkZXRlY3Rpb24gcnVuIGFuZCBlYWNoIGNvbXBvbmVudCBtdXN0IG1hbnVhbGx5IGNhbGwgYFN0YXRlI25leHRgXHJcbiAqIG9yIGBDaGFuZ2VEZXRlY3RvclJlZiNkZXRlY3RDaGFuZ2VzYCBhZnRlcndhcmRzIHRvXHJcbiAqIHJlLXJlbmRlciB0aGUgdGVtcGxhdGUuIFRoaXMgYmVoYXZpb3VyIGlnbm9yZXMgYW55IHNldHRpbmcgb2ZcclxuICogYENoYW5nZURldGVjdGlvblN0cmF0ZWd5YCBhdCB0aGUgY29tcGlsZXIgb3IgY29tcG9uZW50IGxldmVsLiBgUkVBVFRBQ0hgXHJcbiAqIHdpbGwgcmVhdHRhY2ggdGhlIGBDaGFuZ2VEZXRlY3RvclJlZmAgd2hlbiB0aGUgYFN0YXRlYCBpcyBpbnN0YW50aWF0ZWQuXHJcbiAqXHJcbiAqIEBzZWUge0BsaW5rIFN0YXRlQ2hhbmdlU3RyYXRlZ3kuREVUQUNIfVxyXG4gKiBAc2VlIHtAbGluayBTdGF0ZUNoYW5nZVN0cmF0ZWd5LlJFQVRUQUNIfVxyXG4gKlxyXG4gKiBAdXNhZ2VOb3Rlc1xyXG4gKlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIEBDb21wb25lbnQoe1xyXG4gKiAgICAgcHJvdmlkZXJzOiBbXHJcbiAqICAgICAgICAgdXNlU3RhdGVDaGFuZ2VTdHJhdGVneShcclxuICogICAgICAgICAgICAgU3RhdGVDaGFuZ2VTdHJhdGVneS5ERVRBQ0gsIC8vIG9yIFJFQVRUQUNIXHJcbiAqICAgICAgICAgKSxcclxuICogICAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBBcHBDb21wb25lbnQge31cclxuICogYGBgXHJcbiAqXHJcbiAqIEBwdWJsaWNBcGlcclxuICpcclxuICogQHBhcmFtIHN0cmF0ZWd5IEEgZmxhZyB0byBkZXRlcm1pbmUgdGhlIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgdGhhdCBzaG91bGQgYmUgdXNlZC5cclxuICpcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VTdGF0ZUNoYW5nZVN0cmF0ZWd5KHN0cmF0ZWd5OiBTdGF0ZUNoYW5nZVN0cmF0ZWd5KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IFNUQVRFX0NIQU5HRV9TVFJBVEVHWSxcclxuICAgICAgICB1c2VWYWx1ZTogc3RyYXRlZ3ksXHJcbiAgICB9XHJcbn1cclxuIl19