docs: Restructure table of contents to provide a more streamlined experience. (#38353)
PR Close #38353
This commit is contained in:
parent
f5a148b1b7
commit
71acf9dd49
|
@ -48,54 +48,13 @@
|
||||||
{
|
{
|
||||||
"url": "docs",
|
"url": "docs",
|
||||||
"title": "Introduction",
|
"title": "Introduction",
|
||||||
"tooltip": "Introduction to the Angular documentation",
|
"tooltip": "Welcome to the Angular documentation set.",
|
||||||
"hidden": false
|
"hidden": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Getting Started",
|
"title": "Getting Started",
|
||||||
"tooltip": "Set up your environment and learn basic concepts",
|
"tooltip": "Set up your environment and learn basic concepts",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
|
||||||
"url": "guide/setup-local",
|
|
||||||
"title": "Setup",
|
|
||||||
"tooltip": "Setting up for local development with the Angular CLI."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Angular Concepts",
|
|
||||||
"tooltip": "Introduction to basic concepts for Angular applications.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"url": "guide/architecture",
|
|
||||||
"title": "Intro to Basic Concepts",
|
|
||||||
"tooltip": "Basic building blocks of Angular applications."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/architecture-modules",
|
|
||||||
"title": "Intro to Modules",
|
|
||||||
"tooltip": "About NgModules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/architecture-components",
|
|
||||||
"title": "Intro to Components",
|
|
||||||
"tooltip": "About Components, Templates, and Views."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/architecture-services",
|
|
||||||
"title": "Intro to Services and DI",
|
|
||||||
"tooltip": "About services and dependency injection."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/architecture-next-steps",
|
|
||||||
"title": "Next Steps",
|
|
||||||
"tooltip": "Beyond the basics."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/glossary",
|
|
||||||
"title": "Angular Glossary",
|
|
||||||
"tooltip": "Brief definitions of the most important words in the Angular vocabulary."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"title": "Try it",
|
"title": "Try it",
|
||||||
"tooltip": "Examine and work with a ready-made sample app, with no setup.",
|
"tooltip": "Examine and work with a ready-made sample app, with no setup.",
|
||||||
|
@ -128,68 +87,64 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Tutorial: Tour of Heroes",
|
"url": "guide/setup-local",
|
||||||
"tooltip": "The Tour of Heroes app is used as a reference point in many Angular examples.",
|
"title": "Setup",
|
||||||
"children": [
|
"tooltip": "Setting up for local development with the Angular CLI."
|
||||||
{
|
|
||||||
"url": "tutorial",
|
|
||||||
"title": "Introduction",
|
|
||||||
"tooltip": "Introduction to the Tour of Heroes app and tutorial"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt0",
|
|
||||||
"title": "Create a Project",
|
|
||||||
"tooltip": "Creating the application shell"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt1",
|
|
||||||
"title": "1. The Hero Editor",
|
|
||||||
"tooltip": "Part 1: Build a simple editor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt2",
|
|
||||||
"title": "2. Display a List",
|
|
||||||
"tooltip": "Part 2: Build a master/detail page with a list of heroes."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt3",
|
|
||||||
"title": "3. Create a Feature Component",
|
|
||||||
"tooltip": "Part 3: Refactor the master/detail views into separate components."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt4",
|
|
||||||
"title": "4. Add Services",
|
|
||||||
"tooltip": "Part 4: Create a reusable service to manage hero data."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt5",
|
|
||||||
"title": "5. Add In-app Navigation",
|
|
||||||
"tooltip": "Part 5: Add the Angular router and navigate among the views."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "tutorial/toh-pt6",
|
|
||||||
"title": "6. Get Data from a Server",
|
|
||||||
"tooltip": "Part 6: Use HTTP to retrieve and save hero data."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Fundamentals",
|
"title": "Main Concepts",
|
||||||
"tooltip": "The fundamentals of Angular",
|
"tooltip": "Learn the concepts essential to becoming a proficient Angular developer.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"title": "Components & Templates",
|
"title": "Components",
|
||||||
"tooltip": "Building dynamic views with data binding",
|
"tooltip": "Building dynamic views with data binding",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"url": "guide/displaying-data",
|
"url": "guide/displaying-data",
|
||||||
"title": "Displaying Data",
|
"title": "Data binding",
|
||||||
"tooltip": "Property binding helps show app data in the UI."
|
"tooltip": "Property binding helps show app data in the UI."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Template Syntax",
|
"url": "guide/user-input",
|
||||||
|
"title": "User Input",
|
||||||
|
"tooltip": "User input triggers DOM events. Angular listens to those events with event bindings that funnel updated values back into your app's components and models."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/pipes",
|
||||||
|
"title": "Pipes",
|
||||||
|
"tooltip": "Pipes transform displayed values within a template."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/lifecycle-hooks",
|
||||||
|
"title": "Component Lifecycle",
|
||||||
|
"tooltip": "Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/component-interaction",
|
||||||
|
"title": "Component Interaction",
|
||||||
|
"tooltip": "Share information between different directives and components."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/component-styles",
|
||||||
|
"title": "Component Styles",
|
||||||
|
"tooltip": "Add CSS styles that are specific to a component."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/dynamic-component-loader",
|
||||||
|
"title": "Dynamic Components",
|
||||||
|
"tooltip": "Load components dynamically."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/elements",
|
||||||
|
"title": "Angular Elements",
|
||||||
|
"tooltip": "Convert components to Custom Elements."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Templates",
|
||||||
"tooltip": "Syntax to use in templates for binding, expressions, and directives.",
|
"tooltip": "Syntax to use in templates for binding, expressions, and directives.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
|
@ -232,11 +187,6 @@
|
||||||
"title": "Two-way binding",
|
"title": "Two-way binding",
|
||||||
"tooltip": "Introductory guide to sharing data between a class and a template."
|
"tooltip": "Introductory guide to sharing data between a class and a template."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"url": "guide/built-in-directives",
|
|
||||||
"title": "Built-in directives",
|
|
||||||
"tooltip": "Introductory guide to some of the most popular built-in directives."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"url": "guide/template-reference-variables",
|
"url": "guide/template-reference-variables",
|
||||||
"title": "Template reference variables",
|
"title": "Template reference variables",
|
||||||
|
@ -260,9 +210,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/user-input",
|
"title": "Directives",
|
||||||
"title": "User Input",
|
"tooltip": "Control the behavior of elements and the layout of your pages with directives.",
|
||||||
"tooltip": "User input triggers DOM events. Angular listens to those events with event bindings that funnel updated values back into your app's components and models."
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/built-in-directives",
|
||||||
|
"title": "Built-in directives",
|
||||||
|
"tooltip": "Introductory guide to some of the most popular built-in directives."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/attribute-directives",
|
"url": "guide/attribute-directives",
|
||||||
|
@ -273,164 +227,6 @@
|
||||||
"url": "guide/structural-directives",
|
"url": "guide/structural-directives",
|
||||||
"title": "Structural Directives",
|
"title": "Structural Directives",
|
||||||
"tooltip": "Structural directives manipulate the layout of the page."
|
"tooltip": "Structural directives manipulate the layout of the page."
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/pipes",
|
|
||||||
"title": "Pipes",
|
|
||||||
"tooltip": "Pipes transform displayed values within a template."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/lifecycle-hooks",
|
|
||||||
"title": "Hook into the Component Lifecycle",
|
|
||||||
"tooltip": "Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/component-interaction",
|
|
||||||
"title": "Component Interaction",
|
|
||||||
"tooltip": "Share information between different directives and components."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/component-styles",
|
|
||||||
"title": "Component Styles",
|
|
||||||
"tooltip": "Add CSS styles that are specific to a component."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/dynamic-component-loader",
|
|
||||||
"title": "Dynamic Components",
|
|
||||||
"tooltip": "Load components dynamically."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/elements",
|
|
||||||
"title": "Angular Elements",
|
|
||||||
"tooltip": "Convert components to Custom Elements."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Forms for User Input",
|
|
||||||
"tooltip": "Forms creates a cohesive, effective, and compelling data entry experience.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"url": "guide/forms-overview",
|
|
||||||
"title": "Introduction",
|
|
||||||
"tooltip": "An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/reactive-forms",
|
|
||||||
"title": "Reactive Forms",
|
|
||||||
"tooltip": "Create a reactive form using FormBuilder, groups, and arrays."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/form-validation",
|
|
||||||
"title": "Validate form input",
|
|
||||||
"tooltip": "Validate user's form entries."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/dynamic-form",
|
|
||||||
"title": "Building Dynamic Forms",
|
|
||||||
"tooltip": "Create dynamic form templates using FormGroup."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Observables & RxJS",
|
|
||||||
"tooltip": "Using observables for message passing in Angular.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"url": "guide/observables",
|
|
||||||
"title": "Observables Overview",
|
|
||||||
"tooltip": "Using observables to pass values synchronously or asynchronously."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/rx-library",
|
|
||||||
"title": "The RxJS Library",
|
|
||||||
"tooltip": "A library for reactive programming using observables to compose asynchronous or callback-based code."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/observables-in-angular",
|
|
||||||
"title": "Observables in Angular",
|
|
||||||
"tooltip": "How Angular subsystems use and expect observables."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/practical-observable-usage",
|
|
||||||
"title": "Practical Usage",
|
|
||||||
"tooltip": "Domains in which observables are particularly useful."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/comparing-observables",
|
|
||||||
"title": "Compare to Other Techniques",
|
|
||||||
"tooltip": "How observables compare to promises and other message passing techniques."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "NgModules",
|
|
||||||
"tooltip": "NgModules.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"url": "guide/ngmodules",
|
|
||||||
"title": "NgModules Introduction",
|
|
||||||
"tooltip": "Use NgModules to make your apps efficient."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/ngmodule-vs-jsmodule",
|
|
||||||
"title": "JS Modules vs NgModules",
|
|
||||||
"tooltip": "Differentiate between JavaScript modules and NgModules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/bootstrapping",
|
|
||||||
"title": "Launching Apps with a Root Module",
|
|
||||||
"tooltip": "Tell Angular how to construct and bootstrap the app in the root \"AppModule\"."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/frequent-ngmodules",
|
|
||||||
"title": "Frequently Used NgModules",
|
|
||||||
"tooltip": "Introduction to the most frequently used NgModules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/module-types",
|
|
||||||
"title": "Types of Feature Modules",
|
|
||||||
"tooltip": "Description of the different types of feature modules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/entry-components",
|
|
||||||
"title": "Entry Components",
|
|
||||||
"tooltip": "All about entry components in Angular."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/feature-modules",
|
|
||||||
"title": "Feature Modules",
|
|
||||||
"tooltip": "Create feature modules to organize your code."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/providers",
|
|
||||||
"title": "Providing Dependencies",
|
|
||||||
"tooltip": "Providing dependencies to NgModules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/singleton-services",
|
|
||||||
"title": "Singleton Services",
|
|
||||||
"tooltip": "Creating singleton services."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/lazy-loading-ngmodules",
|
|
||||||
"title": "Lazy Loading Feature Modules",
|
|
||||||
"tooltip": "Lazy load modules to speed up your apps."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/sharing-ngmodules",
|
|
||||||
"title": "Sharing NgModules",
|
|
||||||
"tooltip": "Share NgModules to streamline your apps."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/ngmodule-api",
|
|
||||||
"title": "NgModule API",
|
|
||||||
"tooltip": "Understand the details of NgModules."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/ngmodule-faq",
|
|
||||||
"title": "NgModule FAQs",
|
|
||||||
"tooltip": "Answers to frequently asked questions about NgModules."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -464,28 +260,54 @@
|
||||||
"tooltip": "Use the injection tree to find parent components."
|
"tooltip": "Use the injection tree to find parent components."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/http",
|
"title": "Built-in Features",
|
||||||
"title": "Access Servers over HTTP",
|
"tooltip": "Learn how to add Angular's built-in features to add functionality to your applications.",
|
||||||
"tooltip": "Use HTTP to talk to a remote server."
|
"children": [
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"url": "guide/router",
|
"url": "guide/router",
|
||||||
"title": "Routing & Navigation",
|
"title": "Routing & Navigation",
|
||||||
"tooltip": "Build in-app navigation among views using the Angular Router."
|
"tooltip": "Build in-app navigation among views using the Angular Router."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/security",
|
"title": "Forms",
|
||||||
"title": "Security",
|
"tooltip": "Forms creates a cohesive, effective, and compelling data entry experience.",
|
||||||
"tooltip": "Developing for content security in Angular applications."
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/forms-overview",
|
||||||
|
"title": "Introduction",
|
||||||
|
"tooltip": "An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/reactive-forms",
|
||||||
|
"title": "Reactive Forms",
|
||||||
|
"tooltip": "Create a reactive form using FormBuilder, groups, and arrays."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/form-validation",
|
||||||
|
"title": "Validate form input",
|
||||||
|
"tooltip": "Validate user's form entries."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/dynamic-form",
|
||||||
|
"title": "Building Dynamic Forms",
|
||||||
|
"tooltip": "Create dynamic form templates using FormGroup."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Techniques",
|
"url": "guide/http",
|
||||||
"tooltip": "Techniques for putting Angular to work in your environment",
|
"title": "HTTP Client",
|
||||||
"children": [
|
"tooltip": "Use HTTP to talk to a remote server."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/i18n",
|
||||||
|
"title": "Internationalization (i18n)",
|
||||||
|
"tooltip": "Translate the app's template text into multiple languages."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Animations",
|
"title": "Animations",
|
||||||
"tooltip": "Enhance the user experience with animation.",
|
"tooltip": "Enhance the user experience with animation.",
|
||||||
|
@ -518,14 +340,25 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/i18n",
|
"title": "Schematics",
|
||||||
"title": "Internationalization (i18n)",
|
"tooltip": "Understanding schematics.",
|
||||||
"tooltip": "Translate the app's template text into multiple languages."
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/schematics",
|
||||||
|
"title": "Schematics Overview",
|
||||||
|
"tooltip": "Extending CLI generation capabilities."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/accessibility",
|
"url": "guide/schematics-authoring",
|
||||||
"title": "Accessibility",
|
"title": "Authoring Schematics",
|
||||||
"tooltip": "Design apps to be accessible to all users."
|
"tooltip": "Understand the structure of a schematic."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/schematics-for-libraries",
|
||||||
|
"title": "Schematics for Libraries",
|
||||||
|
"tooltip": "Use schematics to integrate your library with the Angular CLI."
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Service Workers & PWA",
|
"title": "Service Workers & PWA",
|
||||||
|
@ -562,53 +395,27 @@
|
||||||
"tooltip": "Configuring service worker caching behavior."
|
"tooltip": "Configuring service worker caching behavior."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/web-worker",
|
|
||||||
"title": "Web Workers",
|
|
||||||
"tooltip": "Using web workers for background processing."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/universal",
|
|
||||||
"title": "Server-side Rendering",
|
|
||||||
"tooltip": "Render HTML server-side with Angular Universal."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Dev Workflow",
|
"title": "Best Practices",
|
||||||
"tooltip": "Build, testing, and deployment information.",
|
"tooltip": "Learn how to build robust, scalable applications.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"title": "AOT Compiler",
|
"url": "guide/security",
|
||||||
"tooltip": "Understanding ahead-of-time compilation.",
|
"title": "Security",
|
||||||
"children": [
|
"tooltip": "Developing for content security in Angular applications."
|
||||||
{
|
|
||||||
"url": "guide/aot-compiler",
|
|
||||||
"title": "Ahead-of-Time Compilation",
|
|
||||||
"tooltip": "Learn why and how to use the Ahead-of-Time (AOT) compiler."
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/angular-compiler-options",
|
"url": "guide/accessibility",
|
||||||
"title": "Angular Compiler Options",
|
"title": "Accessibility",
|
||||||
"tooltip": "Configuring AOT compilation."
|
"tooltip": "Design apps to be accessible to all users."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/aot-metadata-errors",
|
"url": "guide/updating",
|
||||||
"title": "AOT Metadata Errors",
|
"title": "Keeping Up-to-Date",
|
||||||
"tooltip": "Troubleshooting AOT compilation."
|
"tooltip": "Information about updating Angular applications and libraries to the latest version."
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/template-typecheck",
|
|
||||||
"title": "Template Type-checking",
|
|
||||||
"tooltip": "Template type-checking in Angular."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/build",
|
|
||||||
"title": "Building & Serving",
|
|
||||||
"tooltip": "Building and serving Angular apps."
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Testing",
|
"title": "Testing",
|
||||||
|
@ -661,89 +468,48 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Dev Workflow",
|
||||||
|
"tooltip": "Build, and deployment information.",
|
||||||
|
"children": [
|
||||||
{
|
{
|
||||||
"url": "guide/deployment",
|
"url": "guide/deployment",
|
||||||
"title": "Deployment",
|
"title": "Deploying applications",
|
||||||
"tooltip": "Learn how to deploy your Angular app."
|
"tooltip": "Learn how to deploy your Angular app."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Dev Tool Integration",
|
"title": "AOT Compiler",
|
||||||
"tooltip": "Integrate with your development environment and tools.",
|
"tooltip": "Understanding ahead-of-time compilation.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"url": "guide/language-service",
|
"url": "guide/aot-compiler",
|
||||||
"title": "Language Service",
|
"title": "Ahead-of-Time Compilation",
|
||||||
"tooltip": "Use Angular Language Service to speed up dev time."
|
"tooltip": "Learn why and how to use the Ahead-of-Time (AOT) compiler."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/visual-studio-2015",
|
"url": "guide/angular-compiler-options",
|
||||||
"title": "Visual Studio 2015",
|
"title": "Angular Compiler Options",
|
||||||
"tooltip": "Using Angular with Visual Studio 2015.",
|
"tooltip": "Configuring AOT compilation."
|
||||||
"hidden": true
|
},
|
||||||
}
|
{
|
||||||
]
|
"url": "guide/aot-metadata-errors",
|
||||||
|
"title": "AOT Metadata Errors",
|
||||||
|
"tooltip": "Troubleshooting AOT compilation."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/template-typecheck",
|
||||||
|
"title": "Template Type-checking",
|
||||||
|
"tooltip": "Template type-checking in Angular."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Configuration",
|
"url": "guide/build",
|
||||||
"tooltip": "Workspace and project file structure and configuration.",
|
"title": "Building & Serving",
|
||||||
"children": [
|
"tooltip": "Building and serving Angular apps."
|
||||||
{
|
|
||||||
"url": "guide/file-structure",
|
|
||||||
"title": "Project File Structure",
|
|
||||||
"tooltip": "How your Angular workspace looks on your filesystem."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/workspace-config",
|
|
||||||
"title": "Workspace Configuration",
|
|
||||||
"tooltip": "The \"angular.json\" file contains workspace and project configuration defaults for Angular CLI commands."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/npm-packages",
|
|
||||||
"title": "npm Dependencies",
|
|
||||||
"tooltip": "Description of npm packages required at development time and at runtime."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/typescript-configuration",
|
|
||||||
"title": "TypeScript Configuration",
|
|
||||||
"tooltip": "TypeScript configuration for Angular developers."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/browser-support",
|
|
||||||
"title": "Browser Support",
|
|
||||||
"tooltip": "Browser support and polyfills guide."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/strict-mode",
|
|
||||||
"title": "Strict mode",
|
|
||||||
"tooltip": "Reference documentation for Angular's strict mode."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"title": "Extending Angular",
|
|
||||||
"tooltip": "Working with libraries and extending the CLI.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"title": "Angular Libraries",
|
|
||||||
"tooltip": "Extending Angular with shared libraries.",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"url": "guide/libraries",
|
|
||||||
"title": "Libraries Overview",
|
|
||||||
"tooltip": "Understand how and when to use or create libraries."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/using-libraries",
|
|
||||||
"title": "Using Published Libraries",
|
|
||||||
"tooltip": "Integrate published libraries into an app."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/creating-libraries",
|
|
||||||
"title": "Creating Libraries",
|
|
||||||
"tooltip": "Extend Angular by creating, publishing, and using your own libraries."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"url": "guide/lightweight-injection-tokens",
|
"url": "guide/lightweight-injection-tokens",
|
||||||
"title": "Lightweight Injection Tokens for Libraries",
|
"title": "Lightweight Injection Tokens for Libraries",
|
||||||
|
@ -752,30 +518,23 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Schematics",
|
"title": "Angular Tools",
|
||||||
"tooltip": "Understanding schematics.",
|
"tooltip": "Tools to help you build your Angular applications.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
|
||||||
"url": "guide/schematics",
|
|
||||||
"title": "Schematics Overview",
|
|
||||||
"tooltip": "Extending CLI generation capabilities."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/schematics-authoring",
|
|
||||||
"title": "Authoring Schematics",
|
|
||||||
"tooltip": "Understand the structure of a schematic."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "guide/schematics-for-libraries",
|
|
||||||
"title": "Schematics for Libraries",
|
|
||||||
"tooltip": "Use schematics to integrate your library with the Angular CLI."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"url": "guide/cli-builder",
|
"url": "guide/cli-builder",
|
||||||
"title": "CLI Builders",
|
"title": "CLI Builders",
|
||||||
"tooltip": "Using builders to customize Angular CLI."
|
"tooltip": "Using builders to customize Angular CLI."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/universal",
|
||||||
|
"title": "Server-side Rendering",
|
||||||
|
"tooltip": "Render HTML server-side with Angular Universal."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/language-service",
|
||||||
|
"title": "Language Service",
|
||||||
|
"tooltip": "Use Angular Language Service to speed up dev time."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -803,6 +562,78 @@
|
||||||
"url": "guide/forms",
|
"url": "guide/forms",
|
||||||
"title": "Building a Template-driven Form",
|
"title": "Building a Template-driven Form",
|
||||||
"tooltip": "Create a template-driven form using directives and Angular template syntax."
|
"tooltip": "Create a template-driven form using directives and Angular template syntax."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Tutorial: Tour of Heroes",
|
||||||
|
"tooltip": "The Tour of Heroes app is used as a reference point in many Angular examples.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "tutorial",
|
||||||
|
"title": "Introduction",
|
||||||
|
"tooltip": "Introduction to the Tour of Heroes app and tutorial"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt0",
|
||||||
|
"title": "Create a Project",
|
||||||
|
"tooltip": "Creating the application shell"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt1",
|
||||||
|
"title": "1. The Hero Editor",
|
||||||
|
"tooltip": "Part 1: Build a simple editor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt2",
|
||||||
|
"title": "2. Display a List",
|
||||||
|
"tooltip": "Part 2: Build a master/detail page with a list of heroes."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt3",
|
||||||
|
"title": "3. Create a Feature Component",
|
||||||
|
"tooltip": "Part 3: Refactor the master/detail views into separate components."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt4",
|
||||||
|
"title": "4. Add Services",
|
||||||
|
"tooltip": "Part 4: Create a reusable service to manage hero data."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt5",
|
||||||
|
"title": "5. Add In-app Navigation",
|
||||||
|
"tooltip": "Part 5: Add the Angular router and navigate among the views."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "tutorial/toh-pt6",
|
||||||
|
"title": "6. Get Data from a Server",
|
||||||
|
"tooltip": "Part 6: Use HTTP to retrieve and save hero data."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/web-worker",
|
||||||
|
"title": "Web Workers",
|
||||||
|
"tooltip": "Using web workers for background processing."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Angular Libraries",
|
||||||
|
"tooltip": "Extending Angular with shared libraries.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/libraries",
|
||||||
|
"title": "Libraries Overview",
|
||||||
|
"tooltip": "Understand how and when to use or create libraries."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/using-libraries",
|
||||||
|
"title": "Using Published Libraries",
|
||||||
|
"tooltip": "Integrate published libraries into an app."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/creating-libraries",
|
||||||
|
"title": "Creating Libraries",
|
||||||
|
"tooltip": "Extend Angular by creating, publishing, and using your own libraries."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -810,11 +641,6 @@
|
||||||
"title": "Release Information",
|
"title": "Release Information",
|
||||||
"tooltip": "Angular release practices, updating, and upgrading.",
|
"tooltip": "Angular release practices, updating, and upgrading.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
|
||||||
"url": "guide/updating",
|
|
||||||
"title": "Keeping Up-to-Date",
|
|
||||||
"tooltip": "Information about updating Angular applications and libraries to the latest version."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"url": "guide/releases",
|
"url": "guide/releases",
|
||||||
"title": "Release Practices",
|
"title": "Release Practices",
|
||||||
|
@ -911,23 +737,181 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Angular Style and Usage",
|
"title": "Reference",
|
||||||
"tooltip": "Summaries of Angular syntax, coding, and doc styles.",
|
"tooltip": "Reference guides for Angular features and tools.",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"url": "guide/cheatsheet",
|
"title": "Conceptual Reference",
|
||||||
"title": "Quick Reference",
|
"tooltip": "Reference documentation that explains how Angular features work.",
|
||||||
"tooltip": "A quick guide to common Angular coding techniques."
|
"children": [
|
||||||
|
{
|
||||||
|
"title": "Angular Concepts",
|
||||||
|
"tooltip": "Introduction to basic concepts for Angular applications.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/architecture",
|
||||||
|
"title": "Intro to Basic Concepts",
|
||||||
|
"tooltip": "Basic building blocks of Angular applications."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/styleguide",
|
"url": "guide/architecture-modules",
|
||||||
"title": "Coding Style Guide",
|
"title": "Intro to Modules",
|
||||||
"tooltip": "Guidelines for writing Angular code."
|
"tooltip": "About NgModules."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "guide/docs-style-guide",
|
"url": "guide/architecture-components",
|
||||||
"title": "Documentation Style Guide",
|
"title": "Intro to Components",
|
||||||
"tooltip": "Style guide for documentation authors."
|
"tooltip": "About Components, Templates, and Views."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/architecture-services",
|
||||||
|
"title": "Intro to Services and DI",
|
||||||
|
"tooltip": "About services and dependency injection."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/architecture-next-steps",
|
||||||
|
"title": "Next Steps",
|
||||||
|
"tooltip": "Beyond the basics."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Workspace and project structure",
|
||||||
|
"tooltip": "Workspace and project file structure and configuration.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/file-structure",
|
||||||
|
"title": "Project File Structure",
|
||||||
|
"tooltip": "How your Angular workspace looks on your filesystem."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/workspace-config",
|
||||||
|
"title": "Workspace Configuration",
|
||||||
|
"tooltip": "The \"angular.json\" file contains workspace and project configuration defaults for Angular CLI commands."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/npm-packages",
|
||||||
|
"title": "npm Dependencies",
|
||||||
|
"tooltip": "Description of npm packages required at development time and at runtime."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/typescript-configuration",
|
||||||
|
"title": "TypeScript Configuration",
|
||||||
|
"tooltip": "TypeScript configuration for Angular developers."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/browser-support",
|
||||||
|
"title": "Browser Support",
|
||||||
|
"tooltip": "Browser support and polyfills guide."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/strict-mode",
|
||||||
|
"title": "Strict mode",
|
||||||
|
"tooltip": "Reference documentation for Angular's strict mode."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "NgModules",
|
||||||
|
"tooltip": "NgModules.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/ngmodules",
|
||||||
|
"title": "NgModules Introduction",
|
||||||
|
"tooltip": "Use NgModules to make your apps efficient."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/ngmodule-vs-jsmodule",
|
||||||
|
"title": "JS Modules vs NgModules",
|
||||||
|
"tooltip": "Differentiate between JavaScript modules and NgModules."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/bootstrapping",
|
||||||
|
"title": "Launching Apps with a Root Module",
|
||||||
|
"tooltip": "Tell Angular how to construct and bootstrap the app in the root \"AppModule\"."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/frequent-ngmodules",
|
||||||
|
"title": "Frequently Used NgModules",
|
||||||
|
"tooltip": "Introduction to the most frequently used NgModules."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/module-types",
|
||||||
|
"title": "Types of Feature Modules",
|
||||||
|
"tooltip": "Description of the different types of feature modules."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/entry-components",
|
||||||
|
"title": "Entry Components",
|
||||||
|
"tooltip": "All about entry components in Angular."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/feature-modules",
|
||||||
|
"title": "Feature Modules",
|
||||||
|
"tooltip": "Create feature modules to organize your code."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/providers",
|
||||||
|
"title": "Providing Dependencies",
|
||||||
|
"tooltip": "Providing dependencies to NgModules."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/singleton-services",
|
||||||
|
"title": "Singleton Services",
|
||||||
|
"tooltip": "Creating singleton services."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/lazy-loading-ngmodules",
|
||||||
|
"title": "Lazy Loading Feature Modules",
|
||||||
|
"tooltip": "Lazy load modules to speed up your apps."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/sharing-ngmodules",
|
||||||
|
"title": "Sharing NgModules",
|
||||||
|
"tooltip": "Share NgModules to streamline your apps."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/ngmodule-api",
|
||||||
|
"title": "NgModule API",
|
||||||
|
"tooltip": "Understand the details of NgModules."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/ngmodule-faq",
|
||||||
|
"title": "NgModule FAQs",
|
||||||
|
"tooltip": "Answers to frequently asked questions about NgModules."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Observables & RxJS",
|
||||||
|
"tooltip": "Using observables for message passing in Angular.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/observables",
|
||||||
|
"title": "Observables Overview",
|
||||||
|
"tooltip": "Using observables to pass values synchronously or asynchronously."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/rx-library",
|
||||||
|
"title": "The RxJS Library",
|
||||||
|
"tooltip": "A library for reactive programming using observables to compose asynchronous or callback-based code."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/observables-in-angular",
|
||||||
|
"title": "Observables in Angular",
|
||||||
|
"tooltip": "How Angular subsystems use and expect observables."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/practical-observable-usage",
|
||||||
|
"title": "Practical Usage",
|
||||||
|
"tooltip": "Domains in which observables are particularly useful."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/comparing-observables",
|
||||||
|
"title": "Compare to Other Techniques",
|
||||||
|
"tooltip": "How observables compare to promises and other message passing techniques."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -951,6 +935,29 @@
|
||||||
"title": "API Reference",
|
"title": "API Reference",
|
||||||
"tooltip": "Details of the Angular packages, classes, interfaces, and other types.",
|
"tooltip": "Details of the Angular packages, classes, interfaces, and other types.",
|
||||||
"url": "api"
|
"url": "api"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/glossary",
|
||||||
|
"title": "Angular Glossary",
|
||||||
|
"tooltip": "Brief definitions of the most important words in the Angular vocabulary."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Angular Style and Usage",
|
||||||
|
"tooltip": "Summaries of Angular syntax, coding, and doc styles.",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"url": "guide/cheatsheet",
|
||||||
|
"title": "Quick Reference",
|
||||||
|
"tooltip": "A quick guide to common Angular coding techniques."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "guide/styleguide",
|
||||||
|
"title": "Coding Style Guide",
|
||||||
|
"tooltip": "Guidelines for writing Angular code."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Footer": [
|
"Footer": [
|
||||||
|
|
|
@ -99,10 +99,11 @@ describe('site App', function() {
|
||||||
describe('scrolling to the top', () => {
|
describe('scrolling to the top', () => {
|
||||||
it('should scroll to the top when navigating to another page', () => {
|
it('should scroll to the top when navigating to another page', () => {
|
||||||
page.navigateTo('guide/security');
|
page.navigateTo('guide/security');
|
||||||
|
|
||||||
page.scrollTo('bottom');
|
page.scrollTo('bottom');
|
||||||
expect(page.getScrollTop()).toBeGreaterThan(0);
|
expect(page.getScrollTop()).toBeGreaterThan(0);
|
||||||
|
// Navigate to Reference section, then check
|
||||||
|
// Find the navigation item that has the text "api"
|
||||||
|
page.click(page.getNavItem(/reference/i));
|
||||||
page.click(page.getNavItem(/api/i));
|
page.click(page.getNavItem(/api/i));
|
||||||
expect(page.locationPath()).toBe('/api');
|
expect(page.locationPath()).toBe('/api');
|
||||||
expect(page.getScrollTop()).toBe(0);
|
expect(page.getScrollTop()).toBe(0);
|
||||||
|
|
Loading…
Reference in New Issue