UNPKG

ngx-mat-lib

Version:

A bunch of utilities and components to use in your Angular 7+ apps!

31 lines (30 loc) 3.14 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { indexOf } from "lodash"; /** * A selection must match (or must not) * one of a given list * @param {?} sourceOptions * @param {?=} controlKey * @param {?=} reverse * @return {?} */ export function xmatValidListSelection(sourceOptions, controlKey, reverse) { if (controlKey === void 0) { controlKey = void 0; } if (reverse === void 0) { reverse = false; } return function (control) { /** @type {?} */ var value = controlKey ? control.value[controlKey] : control.value; if (!value) { return null; } /** @type {?} */ var matchIndex = indexOf(sourceOptions, value); /** @type {?} */ var isValid = reverse ? matchIndex < 0 : matchIndex > -1; return isValid ? null : { "invalidListSelection": { value: control.value } }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC12YWxpZC1saXN0LXNlbGVjdGlvbi52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdC1saWIvIiwic291cmNlcyI6WyJsaWIvdmFsaWRhdG9ycy94bWF0LXZhbGlkLWxpc3Qtc2VsZWN0aW9uLnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQU1qQyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsYUFBb0IsRUFBRSxVQUEyQixFQUFFLE9BQXdCO0lBQXJELDJCQUFBLEVBQUEsa0JBQTBCLENBQUM7SUFBRSx3QkFBQSxFQUFBLGVBQXdCO0lBRTlHLE9BQU8sVUFBQyxPQUF3Qjs7UUFDNUIsSUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNmOztRQUNELElBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7O1FBQ2pELElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTNELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7S0FDaEYsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgaW5kZXhPZiB9IGZyb20gXCJsb2Rhc2hcIjtcblxuLyoqXG4gKiBBIHNlbGVjdGlvbiBtdXN0IG1hdGNoIChvciBtdXN0IG5vdClcbiAqIG9uZSBvZiBhIGdpdmVuIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHhtYXRWYWxpZExpc3RTZWxlY3Rpb24oc291cmNlT3B0aW9uczogYW55W10sIGNvbnRyb2xLZXk6IHN0cmluZyA9IHZvaWQgMCwgcmV2ZXJzZTogYm9vbGVhbiA9IGZhbHNlKTogVmFsaWRhdG9yRm4ge1xuXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sS2V5ID8gY29udHJvbC52YWx1ZVtjb250cm9sS2V5XSA6IGNvbnRyb2wudmFsdWU7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoSW5kZXggPSBpbmRleE9mKHNvdXJjZU9wdGlvbnMsIHZhbHVlKTtcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IHJldmVyc2UgPyBtYXRjaEluZGV4IDwgMCA6IG1hdGNoSW5kZXggPiAtMTtcblxuICAgICAgICByZXR1cm4gaXNWYWxpZCA/IG51bGwgOiB7IFwiaW52YWxpZExpc3RTZWxlY3Rpb25cIjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH07XG4gICAgfTtcbn1cbiJdfQ==