{
  "name": "Fountainhead",
  "shortname": "Fountainhead",
  "classitems": [
    {
      "file": "addon/services/fountainhead.js",
      "line": 24,
      "description": "<p>All Fountainhead API requests are prefixed with this namespace. If you\nexport your docs JSON files to a non-default location, or your application\nis served under a url namespace, you can overwrite this property to match your\nendpoint's root url namespace.</p>\n",
      "itemtype": "property",
      "name": "apiNamespace",
      "type": "{string}",
      "access": "public",
      "tagname": "",
      "default": "'/docs'",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 102,
      "description": "<p>Fires request for documentation meta data and returns the promise. This\nmethod is called in the <code>beforeModel</code> of either the <code>docs</code> or <code>guides</code>\nroute, whichever is entered first.</p>\n<p>{{#fountainhead-alert brand='info' dismiss=false}}\n{{fountainhead-svg svgId='info'}} If the request fails {{cross-link item='metaError'}} will be set to <code>true</code>.\n{{/fountainhead-alert}}</p>\n",
      "itemtype": "method",
      "name": "fetchMeta",
      "access": "public",
      "tagname": "",
      "return": {
        "description": "",
        "type": "Promise"
      },
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 35,
      "description": "<p>When using the History Location type, this will match the hash fragment that is\nused for linking to specific documentation headers/properties. Ember Router\ndoesn't seem to notice these changes? so we track them and pass them down to the\npage components where they trigger page scrolls when the back button is used.</p>\n",
      "itemtype": "property",
      "name": "fragmentId",
      "access": "protected",
      "tagname": "",
      "type": "{string}",
      "default": "''",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 46,
      "description": "<p>Documentation meta fetched from <code>/meta.json</code>. Contains high level map\nof modules, classes and guides available in documentation. Is generated in\n{{c-l module='Lib'}}.</p>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\" spellcheck=\"true\">// meta.json Object Shape:</span>\n<span class=\"token punctuation\">{</span>\n  classes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  description<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  guides<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  hashRouting<span class=\"token punctuation\">:</span> boolean\n  modules<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  parser<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  repository<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  version<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n{{#fountainhead-header tagName=\"h2\" elementId=\"`hashrouting`-and-page-load-scrolling-with-fragment-ids\"}}<code>hashRouting</code> and Page Load Scrolling With Fragment Ids{{/fountainhead-header}}\n<p>Fountainhead has automatic scrolling on page load for links with a target id in\nthem. For consuming applications using history location we use fragments ids for\nthe target:\n<code>https://yourdocs.com/guides/your-guide#scroll-target</code></p>\n<p>For consuming applications using hash location, the meta response will have\nproperty <code>hashRouting</code> set to true. This flags Fountainhead to use a query\nparameter for the scroll target:\n<code>https://yourdocs.com/#/guides/your-guide?id=scroll-target</code></p>\n<p>Although this requires generating different link text and handling scrolling\ntargets two different ways, it allows us to have clean urls with fragments for\napps that have updated to history location while still supporting apps\nwith hash location routing.</p>\n<p>This property is used throughout Fountainhead when checking which routing the\nconsuming app is using.</p>\n",
      "itemtype": "property",
      "name": "meta",
      "type": "{?Object}",
      "default": "null",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 89,
      "description": "<p>Set to true if the call for documentation meta data fails. Almost always this\nmeans the user has not generated documentation yet, so the {{c-l class='Route.API'}}\nroute uses this to show getting started instructions when there is an error.</p>\n",
      "itemtype": "property",
      "name": "metaError",
      "type": "{Boolean}",
      "access": "public",
      "tagname": "",
      "default": "false",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 124,
      "description": "<p>Reset the tracked fragment. Should be called when leaving routes b/c a hash\nchange event will not fire fire for the new clicked</p>\n",
      "itemtype": "method",
      "name": "setFragmentId",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 132,
      "description": "<p>Begins tracking the <code>location.hash</code> to pass down to page components. See\n{{c-l 'fragmentId'}} for details.</p>\n",
      "itemtype": "method",
      "name": "trackHash",
      "access": "public",
      "tagname": "",
      "action": "",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    }
  ],
  "plugins": [],
  "extensions": [],
  "plugin_for": [],
  "extension_for": [],
  "module": "Addon",
  "file": "addon/services/fountainhead.js",
  "line": 6,
  "description": "<p>This is the primary service backing Fountianhead and handles configurations,\naddon methods and storage of the generated documentation meta data. Important\nmembers include:</p>\n<ul>\n<li>{{c-l 'apiNamespace'}}: Configures fetch service namespace</li>\n<li>{{c-l 'meta'}}: Generated documentation metadata</li>\n<li>{{c-l 'fetchMeta'}}: Public method called in the <code>beforeModel</code> of either the\n<code>api</code> or <code>guides</code> route and fetches documentation meta data</li>\n<li>{{c-l 'checkScrollToSection'}}: Action called when checking for auto scroll\ntarget</li>\n</ul>\n",
  "is_constructor": 1,
  "extends": "Ember.Service",
  "method": [
    {
      "file": "addon/services/fountainhead.js",
      "line": 102,
      "description": "<p>Fires request for documentation meta data and returns the promise. This\nmethod is called in the <code>beforeModel</code> of either the <code>docs</code> or <code>guides</code>\nroute, whichever is entered first.</p>\n<p>{{#fountainhead-alert brand='info' dismiss=false}}\n{{fountainhead-svg svgId='info'}} If the request fails {{cross-link item='metaError'}} will be set to <code>true</code>.\n{{/fountainhead-alert}}</p>\n",
      "itemtype": "method",
      "name": "fetchMeta",
      "access": "public",
      "tagname": "",
      "return": {
        "description": "",
        "type": "Promise"
      },
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 124,
      "description": "<p>Reset the tracked fragment. Should be called when leaving routes b/c a hash\nchange event will not fire fire for the new clicked</p>\n",
      "itemtype": "method",
      "name": "setFragmentId",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 132,
      "description": "<p>Begins tracking the <code>location.hash</code> to pass down to page components. See\n{{c-l 'fragmentId'}} for details.</p>\n",
      "itemtype": "method",
      "name": "trackHash",
      "access": "public",
      "tagname": "",
      "action": "",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    }
  ],
  "property": [
    {
      "file": "addon/services/fountainhead.js",
      "line": 24,
      "description": "<p>All Fountainhead API requests are prefixed with this namespace. If you\nexport your docs JSON files to a non-default location, or your application\nis served under a url namespace, you can overwrite this property to match your\nendpoint's root url namespace.</p>\n",
      "itemtype": "property",
      "name": "apiNamespace",
      "type": "{string}",
      "access": "public",
      "tagname": "",
      "default": "'/docs'",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 35,
      "description": "<p>When using the History Location type, this will match the hash fragment that is\nused for linking to specific documentation headers/properties. Ember Router\ndoesn't seem to notice these changes? so we track them and pass them down to the\npage components where they trigger page scrolls when the back button is used.</p>\n",
      "itemtype": "property",
      "name": "fragmentId",
      "access": "protected",
      "tagname": "",
      "type": "{string}",
      "default": "''",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 46,
      "description": "<p>Documentation meta fetched from <code>/meta.json</code>. Contains high level map\nof modules, classes and guides available in documentation. Is generated in\n{{c-l module='Lib'}}.</p>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\" spellcheck=\"true\">// meta.json Object Shape:</span>\n<span class=\"token punctuation\">{</span>\n  classes<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  description<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  guides<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  hashRouting<span class=\"token punctuation\">:</span> boolean\n  modules<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  parser<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  repository<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  version<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n{{#fountainhead-header tagName=\"h2\" elementId=\"`hashrouting`-and-page-load-scrolling-with-fragment-ids\"}}<code>hashRouting</code> and Page Load Scrolling With Fragment Ids{{/fountainhead-header}}\n<p>Fountainhead has automatic scrolling on page load for links with a target id in\nthem. For consuming applications using history location we use fragments ids for\nthe target:\n<code>https://yourdocs.com/guides/your-guide#scroll-target</code></p>\n<p>For consuming applications using hash location, the meta response will have\nproperty <code>hashRouting</code> set to true. This flags Fountainhead to use a query\nparameter for the scroll target:\n<code>https://yourdocs.com/#/guides/your-guide?id=scroll-target</code></p>\n<p>Although this requires generating different link text and handling scrolling\ntargets two different ways, it allows us to have clean urls with fragments for\napps that have updated to history location while still supporting apps\nwith hash location routing.</p>\n<p>This property is used throughout Fountainhead when checking which routing the\nconsuming app is using.</p>\n",
      "itemtype": "property",
      "name": "meta",
      "type": "{?Object}",
      "default": "null",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    },
    {
      "file": "addon/services/fountainhead.js",
      "line": 89,
      "description": "<p>Set to true if the call for documentation meta data fails. Almost always this\nmeans the user has not generated documentation yet, so the {{c-l class='Route.API'}}\nroute uses this to show getting started instructions when there is an error.</p>\n",
      "itemtype": "property",
      "name": "metaError",
      "type": "{Boolean}",
      "access": "public",
      "tagname": "",
      "default": "false",
      "class": "Fountainhead",
      "srcFileId": "addon_services_fountainhead.js"
    }
  ],
  "event": [],
  "srcFileId": "addon_services_fountainhead.js"
}