design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
23 lines • 3.3 kB
JavaScript
function searchFn(items, item) {
//ricerca
const nodes = Array.from(items);
const parent = nodes.find(i => i.childs.includes(item));
const ancestors = parent?.childs?.length ? searchFn(items, parent) : [];
return [item, ...ancestors];
}
function flattenNavscrollItemsFn(items) {
const result = [];
function flatten(items) {
for (const item of items) {
result.push(item);
if (item.childs && item.childs.length > 0) {
flatten(item.childs);
}
}
}
flatten(items);
return result;
}
export const search = searchFn;
export const flattenNavscrollItems = flattenNavscrollItemsFn;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsU0FBUyxRQUFRLENBQUMsS0FBeUIsRUFBRSxJQUFtQjtJQUM5RCxTQUFTO0lBQ1QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFxQjtJQUNwRCxNQUFNLE1BQU0sR0FBbUIsRUFBRSxDQUFDO0lBRWxDLFNBQVMsT0FBTyxDQUFDLEtBQXFCO1FBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZzY3JvbGxJdGVtLCBOYXZzY3JvbGxJdGVtcyB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcblxuZnVuY3Rpb24gc2VhcmNoRm4oaXRlbXM6IFNldDxOYXZzY3JvbGxJdGVtPiwgaXRlbTogTmF2c2Nyb2xsSXRlbSk6IEFycmF5PE5hdnNjcm9sbEl0ZW0+IHtcbiAgLy9yaWNlcmNhXG4gIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShpdGVtcyk7XG4gIGNvbnN0IHBhcmVudCA9IG5vZGVzLmZpbmQoaSA9PiBpLmNoaWxkcy5pbmNsdWRlcyhpdGVtKSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IHBhcmVudD8uY2hpbGRzPy5sZW5ndGggPyBzZWFyY2hGbihpdGVtcywgcGFyZW50KSA6IFtdO1xuICByZXR1cm4gW2l0ZW0sIC4uLmFuY2VzdG9yc107XG59XG5cbmZ1bmN0aW9uIGZsYXR0ZW5OYXZzY3JvbGxJdGVtc0ZuKGl0ZW1zOiBOYXZzY3JvbGxJdGVtcyk6IE5hdnNjcm9sbEl0ZW1zIHtcbiAgY29uc3QgcmVzdWx0OiBOYXZzY3JvbGxJdGVtcyA9IFtdO1xuXG4gIGZ1bmN0aW9uIGZsYXR0ZW4oaXRlbXM6IE5hdnNjcm9sbEl0ZW1zKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgIGlmIChpdGVtLmNoaWxkcyAmJiBpdGVtLmNoaWxkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZsYXR0ZW4oaXRlbS5jaGlsZHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZsYXR0ZW4oaXRlbXMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY29uc3Qgc2VhcmNoID0gc2VhcmNoRm47XG5leHBvcnQgY29uc3QgZmxhdHRlbk5hdnNjcm9sbEl0ZW1zID0gZmxhdHRlbk5hdnNjcm9sbEl0ZW1zRm47XG4iXX0=