Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML code for Angular material table of contents

I am in the process of creating a long HTML page. I was interested in adding a table of contents just like in angular material however I cannot find any documentation on it anywhere. This is type of table of contents I'm looking for:

Angular Table of Contents(https://i.sstatic.net/oflKg.jpg)

I have seen some npm alternatives but I'm not interested in those.

The code for the angular table of contents is as follows:

<table-of-contents container=".mat-drawer-content" _nghost-lwx-c20="" class="ng-star-inserted">
          <!---->
          <div _ngcontent-lwx-c20="" class="docs-toc-container ng-star-inserted">
            <div _ngcontent-lwx-c20="" class="docs-toc-heading">Contents</div>
            <nav _ngcontent-lwx-c20="">
              <!----><a _ngcontent-lwx-c20="" href="/components/datepicker/overview#connecting-a-datepicker-to-an-input"
                class="docs-level-h3 docs-link ng-star-inserted"> Connecting a datepicker to an input </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#setting-the-calendar-starting-view"
                class="docs-level-h3 docs-link ng-star-inserted"> Setting the calendar starting view </a><a
                _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#watching-the-views-for-changes-on-selected-years-and-months"
                class="docs-level-h4 docs-link ng-star-inserted"> Watching the views for changes on selected years and
                months </a><a _ngcontent-lwx-c20="" href="/components/datepicker/overview#setting-the-selected-date"
                class="docs-level-h3 docs-link ng-star-inserted"> Setting the selected date </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#changing-the-datepicker-colors"
                class="docs-level-h3 docs-link ng-star-inserted"> Changing the datepicker colors </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#date-validation"
                class="docs-level-h3 docs-link ng-star-inserted"> Date validation </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#input-and-change-events"
                class="docs-level-h3 docs-link ng-star-inserted"> Input and change events </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#disabling-parts-of-the-datepicker"
                class="docs-level-h3 docs-link ng-star-inserted"> Disabling parts of the datepicker </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#touch-ui-mode"
                class="docs-level-h3 docs-link ng-star-inserted"> Touch UI mode </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#manually-opening-and-closing-the-calendar"
                class="docs-level-h3 docs-link ng-star-inserted"> Manually opening and closing the calendar </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#internationalization"
                class="docs-level-h3 docs-link ng-star-inserted"> Internationalization </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#setting-the-locale-code"
                class="docs-level-h4 docs-link ng-star-inserted"> Setting the locale code </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#choosing-a-date-implementation-and-date-format-settings"
                class="docs-level-h4 docs-link ng-star-inserted"> Choosing a date implementation and date format
                settings </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#customizing-the-parse-and-display-formats"
                class="docs-level-h4 docs-link ng-star-inserted"> Customizing the parse and display formats </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#customizing-the-calendar-header"
                class="docs-level-h4 docs-link ng-star-inserted"> Customizing the calendar header </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#localizing-labels-and-messages"
                class="docs-level-h4 docs-link ng-star-inserted"> Localizing labels and messages </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#highlighting-specific-dates"
                class="docs-level-h4 docs-link ng-star-inserted"> Highlighting specific dates </a><a
                _ngcontent-lwx-c20="" href="/components/datepicker/overview#accessibility"
                class="docs-level-h3 docs-link ng-star-inserted"> Accessibility </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#keyboard-interaction"
                class="docs-level-h4 docs-link ng-star-inserted"> Keyboard interaction </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#troubleshooting" class="docs-level-h3 docs-link ng-star-inserted">
                Troubleshooting </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#error-matdatepicker-no-provider-found-for-dateadapter-mat_date_formats"
                class="docs-level-h4 docs-link ng-star-inserted"> Error: MatDatepicker: No provider found for
                DateAdapter/MAT_DATE_FORMATS </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#error-a-matdatepicker-can-only-be-associated-with-a-single-input"
                class="docs-level-h4 docs-link ng-star-inserted"> Error: A MatDatepicker can only be associated with a
                single input </a><a _ngcontent-lwx-c20=""
                href="/components/datepicker/overview#error-attempted-to-open-an-matdatepicker-with-no-associated-input-"
                class="docs-level-h4 docs-link ng-star-inserted"> Error: Attempted to open an MatDatepicker with no
                associated input. </a></nav>
          </div>
        </table-of-contents>

When I try to run this code, the console prints <table-of-contents> is not a known element

like image 951
Boolean Autocrat Avatar asked Nov 27 '25 18:11

Boolean Autocrat


1 Answers

So for those who are running into a similar situation, I'm posting the solution below which was to create the component yourself. I inspected angular material and rebuilt it.

Here is the HTML code you will need:

<div class="tableOfContentContainer">
  <div class="tableOfContent docs-toc-container">
    <div class="docs-toc-heading">Contents</div>
    <nav>
      <a href="/components/list/overview#simple-lists" class="docs-level-h3 docs-link ng-star-inserted">Simple lists</a>
      <br>
      <a href="/components/list/overview#navigation-lists" class="docs-level-h3 docs-link ng-star-inserted">Navigation lists</a>
    </nav>
  </div>
</div>

Here is the associated CSS:

.tableOfContentContainer{
    padding-top: 1em;
    padding-left: 2em;
    position: fixed;
}
.docs-toc-container {
    border-left: 4px solid #3f51b5;
    font-weight: 700;
}
a {
    text-decoration: none;
    color: #737373;
    font-weight: 400 !important;
}
a:hover{
    color: #3f51b5;
}
.tableOfContent{
    padding: 5px 0 10px 10px;
    font-size: 13px;
}

And that should be all that you need. There might be some styling missing as my project has a lot of other css styling. So good luck everyone and I hope this helps!

like image 117
Boolean Autocrat Avatar answered Nov 29 '25 11:11

Boolean Autocrat



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!