UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

48 lines 6.75 kB
/** * @param fields a collection of data fields * @param fieldId the id of the desired field * @returns a reference to the datafield with the specified id or `undefined` if such datafield could not be found */ export function getField(fields, fieldId) { const index = getFieldIndex(fields, fieldId); return index === -1 ? undefined : fields[index]; } /** * @param fields a collection of data fields * @param fieldId the id of the desired field * @returns the index of the datafield with the specified id or `-1` if such datafield could not be found */ export function getFieldIndex(fields, fieldId) { return fields.findIndex(field => field.stringId === fieldId); } /** * @param groups a list of searched data groups * @param fieldId the id of the desired field * @returns a reference to the first occurrence of the datafield with the specified id or `undefined` if such datafield could not be found */ export function getFieldFromDataGroups(groups, fieldId) { const indices = getFieldIndexFromDataGroups(groups, fieldId); if (indices !== undefined) { return groups[indices.dataGroupIndex].fields[indices.fieldIndex]; } return undefined; } /** * @param groups a list of searched data groups * @param fieldId the id of the desired field * @returns an object containing the index of the data group and the field within it corresponding to the first occurrence of a * datafield with the specified id or `undefined` if such datafield could not be found */ export function getFieldIndexFromDataGroups(groups, fieldId) { for (let i = 0; i < groups.length; i++) { const fieldIndex = getFieldIndex(groups[i].fields, fieldId); if (fieldIndex !== -1) { return { dataGroupIndex: i, fieldIndex }; } } return undefined; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi91dGlsaXR5L2dldC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUE2QixFQUFFLE9BQWU7SUFDbkUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQTZCLEVBQUUsT0FBZTtJQUN4RSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQXdCLEVBQUUsT0FBZTtJQUM1RSxNQUFNLE9BQU8sR0FBRywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3BFO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE1BQXdCLEVBQUUsT0FBZTtJQUNqRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNwQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RCxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNuQixPQUFPO2dCQUNILGNBQWMsRUFBRSxDQUFDO2dCQUNqQixVQUFVO2FBQ2IsQ0FBQztTQUNMO0tBQ0o7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhRmllbGR9IGZyb20gJy4uL2RhdGEtZmllbGRzL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcblxuLyoqXG4gKiBAcGFyYW0gZmllbGRzIGEgY29sbGVjdGlvbiBvZiBkYXRhIGZpZWxkc1xuICogQHBhcmFtIGZpZWxkSWQgdGhlIGlkIG9mIHRoZSBkZXNpcmVkIGZpZWxkXG4gKiBAcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgZGF0YWZpZWxkIHdpdGggdGhlIHNwZWNpZmllZCBpZCBvciBgdW5kZWZpbmVkYCBpZiBzdWNoIGRhdGFmaWVsZCBjb3VsZCBub3QgYmUgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkKGZpZWxkczogQXJyYXk8RGF0YUZpZWxkPGFueT4+LCBmaWVsZElkOiBzdHJpbmcpOiBEYXRhRmllbGQ8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5kZXggPSBnZXRGaWVsZEluZGV4KGZpZWxkcywgZmllbGRJZCk7XG4gICAgcmV0dXJuIGluZGV4ID09PSAtMSA/IHVuZGVmaW5lZCA6IGZpZWxkc1tpbmRleF07XG59XG5cbi8qKlxuICogQHBhcmFtIGZpZWxkcyBhIGNvbGxlY3Rpb24gb2YgZGF0YSBmaWVsZHNcbiAqIEBwYXJhbSBmaWVsZElkIHRoZSBpZCBvZiB0aGUgZGVzaXJlZCBmaWVsZFxuICogQHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBkYXRhZmllbGQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkIG9yIGAtMWAgaWYgc3VjaCBkYXRhZmllbGQgY291bGQgbm90IGJlIGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZEluZGV4KGZpZWxkczogQXJyYXk8RGF0YUZpZWxkPGFueT4+LCBmaWVsZElkOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBmaWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnN0cmluZ0lkID09PSBmaWVsZElkKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gZ3JvdXBzIGEgbGlzdCBvZiBzZWFyY2hlZCBkYXRhIGdyb3Vwc1xuICogQHBhcmFtIGZpZWxkSWQgdGhlIGlkIG9mIHRoZSBkZXNpcmVkIGZpZWxkXG4gKiBAcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgZGF0YWZpZWxkIHdpdGggdGhlIHNwZWNpZmllZCBpZCBvciBgdW5kZWZpbmVkYCBpZiBzdWNoIGRhdGFmaWVsZCBjb3VsZCBub3QgYmUgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkRnJvbURhdGFHcm91cHMoZ3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+LCBmaWVsZElkOiBzdHJpbmcpOiBEYXRhRmllbGQ8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5kaWNlcyA9IGdldEZpZWxkSW5kZXhGcm9tRGF0YUdyb3Vwcyhncm91cHMsIGZpZWxkSWQpO1xuICAgIGlmIChpbmRpY2VzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGdyb3Vwc1tpbmRpY2VzLmRhdGFHcm91cEluZGV4XS5maWVsZHNbaW5kaWNlcy5maWVsZEluZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gZ3JvdXBzIGEgbGlzdCBvZiBzZWFyY2hlZCBkYXRhIGdyb3Vwc1xuICogQHBhcmFtIGZpZWxkSWQgdGhlIGlkIG9mIHRoZSBkZXNpcmVkIGZpZWxkXG4gKiBAcmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgaW5kZXggb2YgdGhlIGRhdGEgZ3JvdXAgYW5kIHRoZSBmaWVsZCB3aXRoaW4gaXQgY29ycmVzcG9uZGluZyB0byB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhXG4gKiBkYXRhZmllbGQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZGF0YWZpZWxkIGNvdWxkIG5vdCBiZSBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRJbmRleEZyb21EYXRhR3JvdXBzKGdyb3VwczogQXJyYXk8RGF0YUdyb3VwPiwgZmllbGRJZDogc3RyaW5nKTogRGF0YUdyb3VwRmllbGRJbmRleCB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGdldEZpZWxkSW5kZXgoZ3JvdXBzW2ldLmZpZWxkcywgZmllbGRJZCk7XG4gICAgICAgIGlmIChmaWVsZEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkYXRhR3JvdXBJbmRleDogaSxcbiAgICAgICAgICAgICAgICBmaWVsZEluZGV4XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ29udGFpbnMgdGhlIGluZGV4IG9mIHRoZSBkYXRhIGdyb3VwIGFuZCB0aGUgaW5kZXggb2YgdGhlIGZpZWxkIHdpdGhpbiBpdCB0aGF0IGNvbnRhaW5zIHNvbWUgZGF0YSBmaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFHcm91cEZpZWxkSW5kZXgge1xuICAgIGRhdGFHcm91cEluZGV4OiBudW1iZXI7XG4gICAgZmllbGRJbmRleDogbnVtYmVyO1xufVxuIl19