UNPKG

@ng-flexy/form

Version:

Flexy components and tools to build Angular 8+ applications

48 lines 6.04 kB
import { cloneDeep } from 'lodash'; export function findRawValue(rawIdKey, controlValue, options) { if (rawIdKey) { if (controlValue && Array.isArray(controlValue)) { const ret = []; controlValue.forEach(valueItem => { const v = valueItem && valueItem[rawIdKey]; if (v) { const el = options && options.find(item => item && item._raw && item._raw[rawIdKey] === v); if (el && el.value) { ret.push(el.value); } } }); return ret; } else { if (controlValue && typeof controlValue === 'object' && controlValue[rawIdKey]) { const el = options.find(item => item && item._raw && item._raw[rawIdKey] === controlValue[rawIdKey]); return el ? el.value : null; } } } else { return controlValue; } return; } export function prepareControlValue(optionsRawId, data) { if (data) { const cloned = cloneDeep(data); if (optionsRawId) { if (Array.isArray(cloned)) { cloned.forEach(item => { item.value = item && item._raw; }); } else { cloned.value = cloned && cloned._raw; } } return Array.isArray(cloned) ? cloned.map(el => el && el.value) : cloned.value; } else { return null; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLXJhdy1vcHRpb25zLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS9zcmMvbGliL3NlcnZpY2VzL2Zvcm0tY29udHJvbC1yYXctb3B0aW9ucy51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR25DLE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBZ0IsRUFBRSxZQUF5QixFQUFFLE9BQXVCO0lBQy9GLElBQUksUUFBUSxFQUFFO1FBQ1osSUFBSSxZQUFZLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMvQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZixZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMvQixNQUFNLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsRUFBRTtvQkFDTCxNQUFNLEVBQUUsR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQzNGLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7d0JBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNwQjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNO1lBQ0wsSUFBSSxZQUFZLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDOUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDN0I7U0FDRjtLQUNGO1NBQU07UUFDTCxPQUFPLFlBQVksQ0FBQztLQUNyQjtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsSUFBMkM7SUFDbkcsSUFBSSxJQUFJLEVBQUU7UUFDUixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNKLE1BQTJCLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSyxNQUEyQixDQUFDLElBQUksQ0FBQzthQUNsRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNoRjtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uLCBTZWxlY3RPcHRpb25EYXRhIH0gZnJvbSAnLi4vbW9kZWxzL3NlbGVjdC1vcHRpb24uZGF0YSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmF3VmFsdWUocmF3SWRLZXk6IHN0cmluZywgY29udHJvbFZhbHVlOiBhbnkgfCBhbnlbXSwgb3B0aW9uczogU2VsZWN0T3B0aW9uW10pOiBhbnkgfCBhbnlbXSB7XG4gIGlmIChyYXdJZEtleSkge1xuICAgIGlmIChjb250cm9sVmFsdWUgJiYgQXJyYXkuaXNBcnJheShjb250cm9sVmFsdWUpKSB7XG4gICAgICBjb25zdCByZXQgPSBbXTtcbiAgICAgIGNvbnRyb2xWYWx1ZS5mb3JFYWNoKHZhbHVlSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IHYgPSB2YWx1ZUl0ZW0gJiYgdmFsdWVJdGVtW3Jhd0lkS2V5XTtcbiAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICBjb25zdCBlbCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5maW5kKGl0ZW0gPT4gaXRlbSAmJiBpdGVtLl9yYXcgJiYgaXRlbS5fcmF3W3Jhd0lkS2V5XSA9PT0gdik7XG4gICAgICAgICAgaWYgKGVsICYmIGVsLnZhbHVlKSB7XG4gICAgICAgICAgICByZXQucHVzaChlbC52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjb250cm9sVmFsdWUgJiYgdHlwZW9mIGNvbnRyb2xWYWx1ZSA9PT0gJ29iamVjdCcgJiYgY29udHJvbFZhbHVlW3Jhd0lkS2V5XSkge1xuICAgICAgICBjb25zdCBlbCA9IG9wdGlvbnMuZmluZChpdGVtID0+IGl0ZW0gJiYgaXRlbS5fcmF3ICYmIGl0ZW0uX3Jhd1tyYXdJZEtleV0gPT09IGNvbnRyb2xWYWx1ZVtyYXdJZEtleV0pO1xuICAgICAgICByZXR1cm4gZWwgPyBlbC52YWx1ZSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250cm9sVmFsdWU7XG4gIH1cbiAgcmV0dXJuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUNvbnRyb2xWYWx1ZShvcHRpb25zUmF3SWQ6IHN0cmluZywgZGF0YTogU2VsZWN0T3B0aW9uRGF0YSB8IFNlbGVjdE9wdGlvbkRhdGFbXSkge1xuICBpZiAoZGF0YSkge1xuICAgIGNvbnN0IGNsb25lZCA9IGNsb25lRGVlcChkYXRhKTtcbiAgICBpZiAob3B0aW9uc1Jhd0lkKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjbG9uZWQpKSB7XG4gICAgICAgIGNsb25lZC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtICYmIGl0ZW0uX3JhdztcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAoY2xvbmVkIGFzIFNlbGVjdE9wdGlvbkRhdGEpLnZhbHVlID0gY2xvbmVkICYmIChjbG9uZWQgYXMgU2VsZWN0T3B0aW9uRGF0YSkuX3JhdztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2xvbmVkKSA/IGNsb25lZC5tYXAoZWwgPT4gZWwgJiYgZWwudmFsdWUpIDogY2xvbmVkLnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=