ngx-control-operators
Version:
RxJS operators for Angular reactive form controls
22 lines • 3.42 kB
JavaScript
import { tap } from "rxjs/operators";
/**
* Enables control for every truthy value, disables it otherwise.
* @see {@link disableControl} for inverse
* @param control - target to enable or disable
* @param opts - enable/disable options
* @returns operator function
*/
export function enableControl(control, opts) {
return input => input.pipe(tap(active => active ? control.enable(opts) : control.disable(opts)));
}
/**
* Disables control for every truthy value, enables it otherwise.
* @see {@link enableControl} for inverse
* @param control - target to enable or disable
* @param opts - enable/disable options
* @returns operator function
*/
export function disableControl(control, opts) {
return input => input.pipe(tap(active => active ? control.disable(opts) : control.enable(opts)));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udHJvbC1vcGVyYXRvcnMvc3JjL2xpYi9lbmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUksT0FBd0IsRUFBRSxJQUcxRDtJQUNHLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkUsQ0FBQTtBQUNMLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFJLE9BQXdCLEVBQUUsSUFHM0Q7SUFDRyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDdEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZFLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cblxuLyoqXG4gKiBFbmFibGVzIGNvbnRyb2wgZm9yIGV2ZXJ5IHRydXRoeSB2YWx1ZSwgZGlzYWJsZXMgaXQgb3RoZXJ3aXNlLlxuICogQHNlZSB7QGxpbmsgZGlzYWJsZUNvbnRyb2x9IGZvciBpbnZlcnNlXG4gKiBAcGFyYW0gY29udHJvbCAtIHRhcmdldCB0byBlbmFibGUgb3IgZGlzYWJsZVxuICogQHBhcmFtIG9wdHMgLSBlbmFibGUvZGlzYWJsZSBvcHRpb25zXG4gKiBAcmV0dXJucyBvcGVyYXRvciBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5hYmxlQ29udHJvbDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIG9wdHM/OiB7XG4gICAgb25seVNlbGY/OiBib29sZWFuO1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG59KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICByZXR1cm4gaW5wdXQgPT4gaW5wdXQucGlwZShcbiAgICAgICAgdGFwKGFjdGl2ZSA9PiBhY3RpdmUgPyBjb250cm9sLmVuYWJsZShvcHRzKSA6IGNvbnRyb2wuZGlzYWJsZShvcHRzKSksXG4gICAgKVxufVxuXG4vKipcbiAqIERpc2FibGVzIGNvbnRyb2wgZm9yIGV2ZXJ5IHRydXRoeSB2YWx1ZSwgZW5hYmxlcyBpdCBvdGhlcndpc2UuXG4gKiBAc2VlIHtAbGluayBlbmFibGVDb250cm9sfSBmb3IgaW52ZXJzZVxuICogQHBhcmFtIGNvbnRyb2wgLSB0YXJnZXQgdG8gZW5hYmxlIG9yIGRpc2FibGVcbiAqIEBwYXJhbSBvcHRzIC0gZW5hYmxlL2Rpc2FibGUgb3B0aW9uc1xuICogQHJldHVybnMgb3BlcmF0b3IgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgb3B0cz86IHtcbiAgICBvbmx5U2VsZj86IGJvb2xlYW47XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbn0pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgIHJldHVybiBpbnB1dCA9PiBpbnB1dC5waXBlKFxuICAgICAgICB0YXAoYWN0aXZlID0+IGFjdGl2ZSA/IGNvbnRyb2wuZGlzYWJsZShvcHRzKSA6IGNvbnRyb2wuZW5hYmxlKG9wdHMpKSxcbiAgICApXG59XG4iXX0=