MCPcopy Index your code
hub / github.com/angular/angular / deactivateRouteAndItsChildren

Function deactivateRouteAndItsChildren

packages/router/src/utils/preactivation.ts:208–233  ·  view source on GitHub ↗
(
  route: TreeNode<ActivatedRouteSnapshot>,
  context: OutletContext | null,
  checks: Checks,
)

Source from the content-addressed store, hash-verified

206}
207
208function deactivateRouteAndItsChildren(
209 route: TreeNode<ActivatedRouteSnapshot>,
210 context: OutletContext | null,
211 checks: Checks,
212): void {
213 const children = nodeChildrenAsMap(route);
214 const r = route.value;
215
216 Object.entries(children).forEach(([childName, node]) => {
217 if (!r.component) {
218 deactivateRouteAndItsChildren(node, context, checks);
219 } else if (context) {
220 deactivateRouteAndItsChildren(node, context.children.getContext(childName), checks);
221 } else {
222 deactivateRouteAndItsChildren(node, null, checks);
223 }
224 });
225
226 if (!r.component) {
227 checks.canDeactivateChecks.push(new CanDeactivate(null, r));
228 } else if (context && context.outlet && context.outlet.isActivated) {
229 checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, r));
230 } else {
231 checks.canDeactivateChecks.push(new CanDeactivate(null, r));
232 }
233}

Callers 2

getChildRouteGuardsFunction · 0.85
getRouteGuardsFunction · 0.85

Calls 5

nodeChildrenAsMapFunction · 0.90
getContextMethod · 0.65
forEachMethod · 0.45
entriesMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…