diff --git a/docs/api/Discord.Attribute.EventControllerAttribute-1.html b/docs/api/Discord.Attribute.EventControllerAttribute-1.html new file mode 100644 index 0000000..6d9c387 --- /dev/null +++ b/docs/api/Discord.Attribute.EventControllerAttribute-1.html @@ -0,0 +1,329 @@ + + + + + + + + Class EventControllerAttribute<T> + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Attribute.html b/docs/api/Discord.Attribute.html new file mode 100644 index 0000000..221e226 --- /dev/null +++ b/docs/api/Discord.Attribute.html @@ -0,0 +1,120 @@ + + + + + + + + Namespace Discord.Attribute + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Class1.html b/docs/api/Discord.Class1.html index 777984a..23b7a87 100644 --- a/docs/api/Discord.Class1.html +++ b/docs/api/Discord.Class1.html @@ -1,150 +1,150 @@ - - - - - - - - Class Class1 - - - - - - - - - - - - - - - -
-
- - - - -
- - - -
- - - - - - + + + + + + + + Class Class1 + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Controller.EventController.html b/docs/api/Discord.Controller.EventController.html new file mode 100644 index 0000000..6ccfa9d --- /dev/null +++ b/docs/api/Discord.Controller.EventController.html @@ -0,0 +1,266 @@ + + + + + + + + Class EventController + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Controller.html b/docs/api/Discord.Controller.html new file mode 100644 index 0000000..2ddf154 --- /dev/null +++ b/docs/api/Discord.Controller.html @@ -0,0 +1,119 @@ + + + + + + + + Namespace Discord.Controller + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Converter.InteractionFormatter.html b/docs/api/Discord.Converter.InteractionFormatter.html new file mode 100644 index 0000000..1b1d231 --- /dev/null +++ b/docs/api/Discord.Converter.InteractionFormatter.html @@ -0,0 +1,432 @@ + + + + + + + + Class InteractionFormatter + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Converter.html b/docs/api/Discord.Converter.html new file mode 100644 index 0000000..4857247 --- /dev/null +++ b/docs/api/Discord.Converter.html @@ -0,0 +1,119 @@ + + + + + + + + Namespace Discord.Converter + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Exception.MismatchedEnumLengthsException.html b/docs/api/Discord.Exception.MismatchedEnumLengthsException.html new file mode 100644 index 0000000..b6ccb51 --- /dev/null +++ b/docs/api/Discord.Exception.MismatchedEnumLengthsException.html @@ -0,0 +1,204 @@ + + + + + + + + Class MismatchedEnumLengthsException + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.Exception.html b/docs/api/Discord.Exception.html new file mode 100644 index 0000000..a2dec2b --- /dev/null +++ b/docs/api/Discord.Exception.html @@ -0,0 +1,119 @@ + + + + + + + + Namespace Discord.Exception + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/Discord.html b/docs/api/Discord.html index df2c088..e5a8512 100644 --- a/docs/api/Discord.html +++ b/docs/api/Discord.html @@ -1,119 +1,119 @@ - - - - - - - - Namespace Discord - - - - - - - - - - - - - - - -
-
- - - - -
- - - -
- - - - - - + + + + + + + + Namespace Discord + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/index.html b/docs/api/index.html index e5b342b..cd11a20 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -1,108 +1,109 @@ - - - + + + + + + + + PLACEHOLDER + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/api/toc.html b/docs/api/toc.html index 329d274..4e82e41 100644 --- a/docs/api/toc.html +++ b/docs/api/toc.html @@ -1,29 +1,59 @@ - -
-
-
-
- - - -
-
-
-
- - -
-
-
+ +
+
+
+
+ + + +
+
+ +
\ No newline at end of file diff --git a/docs/articles/intro.html b/docs/articles/intro.html index bedd78c..54636a2 100644 --- a/docs/articles/intro.html +++ b/docs/articles/intro.html @@ -1,107 +1,107 @@ - - - + + + + + + + + Add your introductions here! + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/articles/test.html b/docs/articles/test.html new file mode 100644 index 0000000..92bedde --- /dev/null +++ b/docs/articles/test.html @@ -0,0 +1,107 @@ + + + + + + + + Add your test here! + + + + + + + + + + + + + + +
+
+ + + + +
+ + + +
+ + + + + + diff --git a/docs/articles/toc.html b/docs/articles/toc.html index fd3e61a..8102e3d 100644 --- a/docs/articles/toc.html +++ b/docs/articles/toc.html @@ -1,22 +1,22 @@ - -
-
-
-
- - - -
-
-
-
- - -
-
-
+ +
+
+
+
+ + + +
+
+
+
+ + +
+
+
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 6cfddca..69f61b4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,105 +1,105 @@ - - - - - - - - This is the HOMEPAGE. - - - - - - - - - - - - - - -
-
- - - - -
- + + +
+ + + + + + diff --git a/docs/logo.svg b/docs/logo.svg index ccb2d7b..df7cb68 100644 --- a/docs/logo.svg +++ b/docs/logo.svg @@ -1,25 +1,25 @@ - - - - -Created by Docfx - - - - - - - + + + + +Created by Docfx + + + + + + + diff --git a/docs/manifest.json b/docs/manifest.json index bc4c4a3..4462194 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1,101 +1,167 @@ -{ - "homepages": [], - "source_base_path": "C:/Users/SvenK/source/repos/DultusLib", - "xrefmap": "xrefmap.yml", - "files": [ - { - "type": "ManagedReference", - "source_relative_path": "api/Discord.Class1.yml", - "output": { - ".html": { - "relative_path": "api/Discord.Class1.html", - "hash": "xnjSvp9vk1PvwnVLd15OrsZKlyMBKpyWVWvloZ6K4dM=" - } - }, - "version": "" - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Discord.yml", - "output": { - ".html": { - "relative_path": "api/Discord.html", - "hash": "xXhtGPWCPzlYvvyLQp9S/7PbnKc4l6MLSdN7TTVsGwo=" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "api/index.md", - "output": { - ".html": { - "relative_path": "api/index.html", - "hash": "qvfa4krzWP2OlezeacC5ZbytY0jM2rN1RRr7uqYeRH8=" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "api/toc.yml", - "output": { - ".html": { - "relative_path": "api/toc.html", - "hash": "f1R7C0aGGta403/sQ6/qV5rA4V3devJY1nmNtoylGwM=" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "articles/intro.md", - "output": { - ".html": { - "relative_path": "articles/intro.html", - "hash": "rWN3YPVqTgEc9aj8D8EWDy+QQlyMqHXoSjbtDrEJHvU=" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "articles/toc.yml", - "output": { - ".html": { - "relative_path": "articles/toc.html", - "hash": "+FPCLcvmNhVb9VLasYr6Tnep0PZtIA6V/UOJ0u+1RmE=" - } - }, - "version": "" - }, - { - "type": "Conceptual", - "source_relative_path": "index.md", - "output": { - ".html": { - "relative_path": "index.html", - "hash": "38iIcC7rFWetOvw6u/GlElspb0N7J5m+xSODoW6vE90=" - } - }, - "version": "" - }, - { - "type": "Toc", - "source_relative_path": "toc.yml", - "output": { - ".html": { - "relative_path": "toc.html", - "hash": "aVe9U1RxWP3P5E5X/x2rL8jCuFlqix3bHKxtkjZ3zxg=" - } - }, - "version": "" - } - ], - "version_info": {}, - "groups": [ - { - "xrefmap": "xrefmap.yml" - } - ] +{ + "homepages": [], + "source_base_path": "C:/Users/SvenK/source/repos/DultusLib", + "xrefmap": "xrefmap.yml", + "files": [ + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Attribute.EventControllerAttribute-1.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Attribute.EventControllerAttribute-1.html", + "hash": "5Y2ffrqlN2esH90iIw8V8uXJwEZa1/JDJN4bhpiD/kg=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Attribute.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Attribute.html", + "hash": "okFZjtWzJBRpKkLsJhKtA8CFqKkeA5Vj5PmVJSlBSd8=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Controller.EventController.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Controller.EventController.html", + "hash": "voYfGV1OwhsBH5yHW8vcB2gGj+Qw5eTV/eyPMeDmEzk=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Controller.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Controller.html", + "hash": "Tv6WlDmadLf8FDCSSqlP0CDv52zLB0d7V2lFIHQERPA=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Converter.InteractionFormatter.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Converter.InteractionFormatter.html", + "hash": "Vkc7bSsPK1yc0MbXGeGXzSdGKCwpO/BdNSAYXP205RQ=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Converter.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Converter.html", + "hash": "Iq/xt8MN1qUUmzQCHcRWGxhK2JvWHFo42/axYaCNxxM=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Exception.MismatchedEnumLengthsException.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Exception.MismatchedEnumLengthsException.html", + "hash": "cUvnjDPiv0Ywljuw1oML5oM/kYdLoI6Kd5UXN/g8HCM=" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Discord.Exception.yml", + "output": { + ".html": { + "relative_path": "api/Discord.Exception.html", + "hash": "M/G39ZsdBCk2vkEVX1fSjBwQGbAq5jmG/jxYumi0P1k=" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "api/index.md", + "output": { + ".html": { + "relative_path": "api/index.html", + "hash": "mZ226FZ3EgoIIBp51oxswXpG0vQw2rqe/FNso0bqHOs=" + } + }, + "version": "" + }, + { + "type": "Toc", + "source_relative_path": "api/toc.yml", + "output": { + ".html": { + "relative_path": "api/toc.html", + "hash": "P8Kb2jUG1H5ZN/TeJ+izNN1A3uHRVajIuhz3EvcdY8w=" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "articles/intro.md", + "output": { + ".html": { + "relative_path": "articles/intro.html", + "hash": "rWN3YPVqTgEc9aj8D8EWDy+QQlyMqHXoSjbtDrEJHvU=" + } + }, + "version": "" + }, + { + "type": "Toc", + "source_relative_path": "articles/toc.yml", + "output": { + ".html": { + "relative_path": "articles/toc.html", + "hash": "+FPCLcvmNhVb9VLasYr6Tnep0PZtIA6V/UOJ0u+1RmE=" + } + }, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "index.md", + "output": { + ".html": { + "relative_path": "index.html", + "hash": "38iIcC7rFWetOvw6u/GlElspb0N7J5m+xSODoW6vE90=" + } + }, + "version": "" + }, + { + "type": "Toc", + "source_relative_path": "toc.yml", + "output": { + ".html": { + "relative_path": "toc.html", + "hash": "aVe9U1RxWP3P5E5X/x2rL8jCuFlqix3bHKxtkjZ3zxg=" + } + }, + "version": "" + } + ], + "version_info": {}, + "groups": [ + { + "xrefmap": "xrefmap.yml" + } + ] } \ No newline at end of file diff --git a/docs/search-stopwords.json b/docs/search-stopwords.json index 0bdcc2c..ba9cef2 100644 --- a/docs/search-stopwords.json +++ b/docs/search-stopwords.json @@ -1,121 +1,121 @@ -[ - "a", - "able", - "about", - "across", - "after", - "all", - "almost", - "also", - "am", - "among", - "an", - "and", - "any", - "are", - "as", - "at", - "be", - "because", - "been", - "but", - "by", - "can", - "cannot", - "could", - "dear", - "did", - "do", - "does", - "either", - "else", - "ever", - "every", - "for", - "from", - "get", - "got", - "had", - "has", - "have", - "he", - "her", - "hers", - "him", - "his", - "how", - "however", - "i", - "if", - "in", - "into", - "is", - "it", - "its", - "just", - "least", - "let", - "like", - "likely", - "may", - "me", - "might", - "most", - "must", - "my", - "neither", - "no", - "nor", - "not", - "of", - "off", - "often", - "on", - "only", - "or", - "other", - "our", - "own", - "rather", - "said", - "say", - "says", - "she", - "should", - "since", - "so", - "some", - "than", - "that", - "the", - "their", - "them", - "then", - "there", - "these", - "they", - "this", - "tis", - "to", - "too", - "twas", - "us", - "wants", - "was", - "we", - "were", - "what", - "when", - "where", - "which", - "while", - "who", - "whom", - "why", - "will", - "with", - "would", - "yet", - "you", - "your" -] +[ + "a", + "able", + "about", + "across", + "after", + "all", + "almost", + "also", + "am", + "among", + "an", + "and", + "any", + "are", + "as", + "at", + "be", + "because", + "been", + "but", + "by", + "can", + "cannot", + "could", + "dear", + "did", + "do", + "does", + "either", + "else", + "ever", + "every", + "for", + "from", + "get", + "got", + "had", + "has", + "have", + "he", + "her", + "hers", + "him", + "his", + "how", + "however", + "i", + "if", + "in", + "into", + "is", + "it", + "its", + "just", + "least", + "let", + "like", + "likely", + "may", + "me", + "might", + "most", + "must", + "my", + "neither", + "no", + "nor", + "not", + "of", + "off", + "often", + "on", + "only", + "or", + "other", + "our", + "own", + "rather", + "said", + "say", + "says", + "she", + "should", + "since", + "so", + "some", + "than", + "that", + "the", + "their", + "them", + "then", + "there", + "these", + "they", + "this", + "tis", + "to", + "too", + "twas", + "us", + "wants", + "was", + "we", + "were", + "what", + "when", + "where", + "which", + "while", + "who", + "whom", + "why", + "will", + "with", + "would", + "yet", + "you", + "your" +] diff --git a/docs/styles/docfx.css b/docs/styles/docfx.css index 34ee31b..160eb15 100644 --- a/docs/styles/docfx.css +++ b/docs/styles/docfx.css @@ -1,1036 +1,1036 @@ -/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */ -html, -body { - font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif; - height: 100%; -} -button, -a { - color: #337ab7; - cursor: pointer; -} -button:hover, -button:focus, -a:hover, -a:focus { - color: #23527c; - text-decoration: none; -} -a.disable, -a.disable:hover { - text-decoration: none; - cursor: default; - color: #000000; -} - -h1, h2, h3, h4, h5, h6, .text-break { - word-wrap: break-word; - word-break: break-word; -} - -h1 mark, -h2 mark, -h3 mark, -h4 mark, -h5 mark, -h6 mark { - padding: 0; -} - -.inheritance .level0:before, -.inheritance .level1:before, -.inheritance .level2:before, -.inheritance .level3:before, -.inheritance .level4:before, -.inheritance .level5:before, -.inheritance .level6:before, -.inheritance .level7:before, -.inheritance .level8:before, -.inheritance .level9:before { - content: '↳'; - margin-right: 5px; -} - -.inheritance .level0 { - margin-left: 0em; -} - -.inheritance .level1 { - margin-left: 1em; -} - -.inheritance .level2 { - margin-left: 2em; -} - -.inheritance .level3 { - margin-left: 3em; -} - -.inheritance .level4 { - margin-left: 4em; -} - -.inheritance .level5 { - margin-left: 5em; -} - -.inheritance .level6 { - margin-left: 6em; -} - -.inheritance .level7 { - margin-left: 7em; -} - -.inheritance .level8 { - margin-left: 8em; -} - -.inheritance .level9 { - margin-left: 9em; -} - -.level0.summary { - margin: 2em 0 2em 0; -} - -.level1.summary { - margin: 1em 0 1em 0; -} - -span.parametername, -span.paramref, -span.typeparamref { - font-style: italic; -} -span.languagekeyword{ - font-weight: bold; -} - -svg:hover path { - fill: #ffffff; -} - -.hljs { - display: inline; - background-color: inherit; - padding: 0; -} -/* additional spacing fixes */ -.btn + .btn { - margin-left: 10px; -} -.btn.pull-right { - margin-left: 10px; - margin-top: 5px; -} -.table { - margin-bottom: 10px; -} -table p { - margin-bottom: 0; -} -table a { - display: inline-block; -} - -/* Make hidden attribute compatible with old browser.*/ -[hidden] { - display: none !important; -} - -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 15px; - margin-bottom: 10px; - font-weight: 400; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 5px; -} -.navbar { - margin-bottom: 0; -} -#wrapper { - min-height: 100%; - position: relative; -} -/* blends header footer and content together with gradient effect */ -.grad-top { - /* For Safari 5.1 to 6.0 */ - /* For Opera 11.1 to 12.0 */ - /* For Firefox 3.6 to 15 */ - background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0)); - /* Standard syntax */ - height: 5px; -} -.grad-bottom { - /* For Safari 5.1 to 6.0 */ - /* For Opera 11.1 to 12.0 */ - /* For Firefox 3.6 to 15 */ - background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05)); - /* Standard syntax */ - height: 5px; -} -.divider { - margin: 0 5px; - color: #cccccc; -} -hr { - border-color: #cccccc; -} -header { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 1000; -} -header .navbar { - border-width: 0 0 1px; - border-radius: 0; -} -.navbar-brand { - font-size: inherit; - padding: 0; -} -.navbar-collapse { - margin: 0 -15px; -} -.subnav { - min-height: 40px; -} - -.inheritance h5, .inheritedMembers h5{ - padding-bottom: 5px; - border-bottom: 1px solid #ccc; -} - -article h1, article h2, article h3, article h4{ - margin-top: 25px; -} - -article h4{ - border: 0; - font-weight: bold; - margin-top: 2em; -} - -article span.small.pull-right{ - margin-top: 20px; -} - -article section { - margin-left: 1em; -} - -/*.expand-all { - padding: 10px 0; -}*/ -.breadcrumb { - margin: 0; - padding: 10px 0; - background-color: inherit; - white-space: nowrap; -} -.breadcrumb > li + li:before { - content: "\00a0/"; -} -#autocollapse.collapsed .navbar-header { - float: none; -} -#autocollapse.collapsed .navbar-toggle { - display: block; -} -#autocollapse.collapsed .navbar-collapse { - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -} -#autocollapse.collapsed .navbar-collapse.collapse { - display: none !important; -} -#autocollapse.collapsed .navbar-nav { - float: none !important; - margin: 7.5px -15px; -} -#autocollapse.collapsed .navbar-nav > li { - float: none; -} -#autocollapse.collapsed .navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; -} -#autocollapse.collapsed .collapse.in, -#autocollapse.collapsed .collapsing { - display: block !important; -} -#autocollapse.collapsed .collapse.in .navbar-right, -#autocollapse.collapsed .collapsing .navbar-right { - float: none !important; -} -#autocollapse .form-group { - width: 100%; -} -#autocollapse .form-control { - width: 100%; -} -#autocollapse .navbar-header { - margin-left: 0; - margin-right: 0; -} -#autocollapse .navbar-brand { - margin-left: 0; -} -.collapse.in, -.collapsing { - text-align: center; -} -.collapsing .navbar-form { - margin: 0 auto; - max-width: 400px; - padding: 10px 15px; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -} -.collapsed .collapse.in .navbar-form { - margin: 0 auto; - max-width: 400px; - padding: 10px 15px; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -} -.navbar .navbar-nav { - display: inline-block; -} -.docs-search { - background: white; - vertical-align: middle; -} -.docs-search > .search-query { - font-size: 14px; - border: 0; - width: 120%; - color: #555; -} -.docs-search > .search-query:focus { - outline: 0; -} -.search-results-frame { - clear: both; - display: table; - width: 100%; -} -.search-results.ng-hide { - display: none; -} -.search-results-container { - padding-bottom: 1em; - border-top: 1px solid #111; - background: rgba(25, 25, 25, 0.5); -} -.search-results-container .search-results-group { - padding-top: 50px !important; - padding: 10px; -} -.search-results-group-heading { - font-family: "Open Sans"; - padding-left: 10px; - color: white; -} -.search-close { - position: absolute; - left: 50%; - margin-left: -100px; - color: white; - text-align: center; - padding: 5px; - background: #333; - border-top-right-radius: 5px; - border-top-left-radius: 5px; - width: 200px; - box-shadow: 0 0 10px #111; -} -#search { - display: none; -} - -/* Search results display*/ -#search-results { - max-width: 960px !important; - margin-top: 120px; - margin-bottom: 115px; - margin-left: auto; - margin-right: auto; - line-height: 1.8; - display: none; -} - -#search-results>.search-list { - text-align: center; - font-size: 2.5rem; - margin-bottom: 50px; -} - -#search-results p { - text-align: center; -} - -#search-results p .index-loading { - animation: index-loading 1.5s infinite linear; - -webkit-animation: index-loading 1.5s infinite linear; - -o-animation: index-loading 1.5s infinite linear; - font-size: 2.5rem; -} - -@keyframes index-loading { - from { transform: scale(1) rotate(0deg);} - to { transform: scale(1) rotate(360deg);} -} - -@-webkit-keyframes index-loading { - from { -webkit-transform: rotate(0deg);} - to { -webkit-transform: rotate(360deg);} -} - -@-o-keyframes index-loading { - from { -o-transform: rotate(0deg);} - to { -o-transform: rotate(360deg);} -} - -#search-results .sr-items { - font-size: 24px; -} - -.sr-item { - margin-bottom: 25px; -} - -.sr-item>.item-href { - font-size: 14px; - color: #093; -} - -.sr-item>.item-brief { - font-size: 13px; -} - -.pagination>li>a { - color: #47A7A0 -} - -.pagination>.active>a { - background-color: #47A7A0; - border-color: #47A7A0; -} - -.fixed_header { - position: fixed; - width: 100%; - padding-bottom: 10px; - padding-top: 10px; - margin: 0px; - top: 0; - z-index: 9999; - left: 0; -} - -.fixed_header+.toc{ - margin-top: 50px; - margin-left: 0; -} - -.sidenav, .fixed_header, .toc { - background-color: #f1f1f1; -} - -.sidetoc { - position: fixed; - width: 260px; - top: 150px; - bottom: 0; - overflow-x: hidden; - overflow-y: auto; - background-color: #f1f1f1; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - z-index: 1; -} - -.sidetoc.shiftup { - bottom: 70px; -} - -body .toc{ - background-color: #f1f1f1; - overflow-x: hidden; -} - -.sidetoggle.ng-hide { - display: block !important; -} -.sidetoc-expand > .caret { - margin-left: 0px; - margin-top: -2px; -} -.sidetoc-expand > .caret-side { - border-left: 4px solid; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - margin-left: 4px; - margin-top: -4px; -} -.sidetoc-heading { - font-weight: 500; -} - -.toc { - margin: 0px 0 0 10px; - padding: 0 10px; -} -.expand-stub { - position: absolute; - left: -10px; - font-weight: bold; -} -.expand-stub + a { - font-weight: bold; -} -.toc .nav > li > a.sidetoc-expand { - position: absolute; - top: 0; - left: 0; -} -.toc .nav > li > a { - color: #666666; - margin-left: 5px; - display: block; - padding: 0; -} -.toc .nav > li > a:hover, -.toc .nav > li > a:focus { - color: #000000; - background: none; - text-decoration: inherit; -} -.toc .nav > li.active > a { - color: #337ab7; -} -.toc .nav > li.active > a:hover, -.toc .nav > li.active > a:focus { - color: #23527c; -} - -.toc .nav > li> .expand-stub { - cursor: pointer; -} - -.toc .nav > li.active > .expand-stub::before, -.toc .nav > li.in > .expand-stub::before, -.toc .nav > li.in.active > .expand-stub::before, -.toc .nav > li.filtered > .expand-stub::before { - content: "-"; -} - -.toc .nav > li > .expand-stub::before, -.toc .nav > li.active > .expand-stub::before { - content: "+"; -} - -.toc .nav > li.filtered > ul, -.toc .nav > li.in > ul { - display: block; -} - -.toc .nav > li > ul { - display: none; -} - -.toc ul{ - font-size: 12px; - margin: 0 0 0 3px; -} - -.toc .level1 > li { - font-weight: bold; - margin-top: 10px; - position: relative; - font-size: 16px; -} -.toc .level2 { - font-weight: normal; - margin: 5px 0 0 15px; - font-size: 14px; -} -.toc-toggle { - display: none; - margin: 0 15px 0px 15px; -} -.sidefilter { - position: fixed; - top: 90px; - width: 260px; - background-color: #f1f1f1; - padding: 15px; - border-left: 1px solid #e7e7e7; - border-right: 1px solid #e7e7e7; - z-index: 1; -} -.toc-filter { - border-radius: 5px; - background: #fff; - color: #666666; - padding: 5px; - position: relative; - margin: 0 5px 0 5px; -} -.toc-filter > input { - border: 0; - color: #666666; - padding-left: 20px; - padding-right: 20px; - width: 100%; -} -.toc-filter > input:focus { - outline: 0; -} -.toc-filter > .filter-icon { - position: absolute; - top: 10px; - left: 5px; -} -.toc-filter > .clear-icon { - position: absolute; - top: 10px; - right: 5px; -} -.article { - margin-top: 120px; - margin-bottom: 115px; -} - -#_content>a{ - margin-top: 105px; -} - -.article.grid-right { - margin-left: 280px; -} - -.inheritance hr { - margin-top: 5px; - margin-bottom: 5px; -} -.article img { - max-width: 100%; -} -.sideaffix { - margin-top: 50px; - font-size: 12px; - max-height: 100%; - overflow: hidden; - top: 100px; - bottom: 10px; - position: fixed; -} -.sideaffix.shiftup { - bottom: 70px; -} -.affix { - position: relative; - height: 100%; -} -.sideaffix > div.contribution { - margin-bottom: 20px; -} -.sideaffix > div.contribution > ul > li > a.contribution-link { - padding: 6px 10px; - font-weight: bold; - font-size: 14px; -} -.sideaffix > div.contribution > ul > li > a.contribution-link:hover { - background-color: #ffffff; -} -.sideaffix ul.nav > li > a:focus { - background: none; -} -.affix h5 { - font-weight: bold; - text-transform: uppercase; - padding-left: 10px; - font-size: 12px; -} -.affix > ul.level1 { - overflow: hidden; - padding-bottom: 10px; - height: calc(100% - 100px); -} -.affix ul > li > a:before { - color: #cccccc; - position: absolute; -} -.affix ul > li > a:hover { - background: none; - color: #666666; -} -.affix ul > li.active > a, -.affix ul > li.active > a:before { - color: #337ab7; -} -.affix ul > li > a { - padding: 5px 12px; - color: #666666; -} -.affix > ul > li.active:last-child { - margin-bottom: 50px; -} -.affix > ul > li > a:before { - content: "|"; - font-size: 16px; - top: 1px; - left: 0; -} -.affix > ul > li.active > a, -.affix > ul > li.active > a:before { - color: #337ab7; - font-weight: bold; -} -.affix ul ul > li > a { - padding: 2px 15px; -} -.affix ul ul > li > a:before { - content: ">"; - font-size: 14px; - top: -1px; - left: 5px; -} -.affix ul > li > a:before, -.affix ul ul { - display: none; -} -.affix ul > li.active > ul, -.affix ul > li.active > a:before, -.affix ul > li > a:hover:before { - display: block; - white-space: nowrap; -} -.codewrapper { - position: relative; -} -.trydiv { - height: 0px; -} -.tryspan { - position: absolute; - top: 0px; - right: 0px; - border-style: solid; - border-radius: 0px 4px; - box-sizing: border-box; - border-width: 1px; - border-color: #cccccc; - text-align: center; - padding: 2px 8px; - background-color: white; - font-size: 12px; - cursor: pointer; - z-index: 100; - display: none; - color: #767676; -} -.tryspan:hover { - background-color: #3b8bd0; - color: white; - border-color: #3b8bd0; -} -.codewrapper:hover .tryspan { - display: block; -} -.sample-response .response-content{ - max-height: 200px; -} -footer { - position: absolute; - left: 0; - right: 0; - bottom: 0; - z-index: 1000; -} -.footer { - border-top: 1px solid #e7e7e7; - background-color: #f8f8f8; - padding: 15px 0; -} -@media (min-width: 768px) { - #sidetoggle.collapse { - display: block; - } - .topnav .navbar-nav { - float: none; - white-space: nowrap; - } - .topnav .navbar-nav > li { - float: none; - display: inline-block; - } -} -@media only screen and (max-width: 768px) { - #mobile-indicator { - display: block; - } - /* TOC display for responsive */ - .article { - margin-top: 30px !important; - } - header { - position: static; - } - .topnav { - text-align: center; - } - .sidenav { - padding: 15px 0; - margin-left: -15px; - margin-right: -15px; - } - .sidefilter { - position: static; - width: auto; - float: none; - border: none; - } - .sidetoc { - position: static; - width: auto; - float: none; - padding-bottom: 0px; - border: none; - } - .toc .nav > li, .toc .nav > li >a { - display: inline-block; - } - .toc li:after { - margin-left: -3px; - margin-right: 5px; - content: ", "; - color: #666666; - } - .toc .level1 > li { - display: block; - } - - .toc .level1 > li:after { - display: none; - } - .article.grid-right { - margin-left: 0; - } - .grad-top, - .grad-bottom { - display: none; - } - .toc-toggle { - display: block; - } - .sidetoggle.ng-hide { - display: none !important; - } - /*.expand-all { - display: none; - }*/ - .sideaffix { - display: none; - } - .mobile-hide { - display: none; - } - .breadcrumb { - white-space: inherit; - } - - /* workaround for #hashtag url is no longer needed*/ - h1:before, - h2:before, - h3:before, - h4:before { - content: ''; - display: none; - } -} - -/* For toc iframe */ -@media (max-width: 260px) { - .toc .level2 > li { - display: block; - } - - .toc .level2 > li:after { - display: none; - } -} - -/* Code snippet */ -code { - color: #717374; - background-color: #f1f2f3; -} - -a code { - color: #337ab7; - background-color: #f1f2f3; -} - -a code:hover { - text-decoration: underline; -} - -.hljs-keyword { - color: rgb(86,156,214); -} - -.hljs-string { - color: rgb(214, 157, 133); -} - -pre { - border: 0; -} - -/* For code snippet line highlight */ -pre > code .line-highlight { - background-color: #ffffcc; -} - -/* Alerts */ -.alert h5 { - text-transform: uppercase; - font-weight: bold; - margin-top: 0; -} - -.alert h5:before { - position:relative; - top:1px; - display:inline-block; - font-family:'Glyphicons Halflings'; - line-height:1; - -webkit-font-smoothing:antialiased; - -moz-osx-font-smoothing:grayscale; - margin-right: 5px; - font-weight: normal; -} - -.alert-info h5:before { - content:"\e086" -} - -.alert-warning h5:before { - content:"\e127" -} - -.alert-danger h5:before { - content:"\e107" -} - -/* For Embedded Video */ -div.embeddedvideo { - padding-top: 56.25%; - position: relative; - width: 100%; -} - -div.embeddedvideo iframe { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; -} - -/* For printer */ -@media print{ - .article.grid-right { - margin-top: 0px; - margin-left: 0px; - } - .sideaffix { - display: none; - } - .mobile-hide { - display: none; - } - .footer { - display: none; - } -} - -/* For tabbed content */ - -.tabGroup { - margin-top: 1rem; } - .tabGroup ul[role="tablist"] { - margin: 0; - padding: 0; - list-style: none; } - .tabGroup ul[role="tablist"] > li { - list-style: none; - display: inline-block; } - .tabGroup a[role="tab"] { - color: #6e6e6e; - box-sizing: border-box; - display: inline-block; - padding: 5px 7.5px; - text-decoration: none; - border-bottom: 2px solid #fff; } - .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus, .tabGroup a[role="tab"][aria-selected="true"] { - border-bottom: 2px solid #0050C5; } - .tabGroup a[role="tab"][aria-selected="true"] { - color: #222; } - .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus { - color: #0050C5; } - .tabGroup a[role="tab"]:focus { - outline: 1px solid #0050C5; - outline-offset: -1px; } - @media (min-width: 768px) { - .tabGroup a[role="tab"] { - padding: 5px 15px; } } - .tabGroup section[role="tabpanel"] { - border: 1px solid #e0e0e0; - padding: 15px; - margin: 0; - overflow: hidden; } - .tabGroup section[role="tabpanel"] > .codeHeader, - .tabGroup section[role="tabpanel"] > pre { - margin-left: -16px; - margin-right: -16px; } - .tabGroup section[role="tabpanel"] > :first-child { - margin-top: 0; } - .tabGroup section[role="tabpanel"] > pre:last-child { - display: block; - margin-bottom: -16px; } - -.mainContainer[dir='rtl'] main ul[role="tablist"] { - margin: 0; } - -/* Color theme */ - -/* These are not important, tune down **/ -.declaration, .fieldValue, .parameters, .returns { - color: #a2a2a2; -} - -/* Major sections, increase visibility **/ -#fields, #properties, #methods, #events { - font-weight: bold; - margin-top: 2em; -} +/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */ +html, +body { + font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif; + height: 100%; +} +button, +a { + color: #337ab7; + cursor: pointer; +} +button:hover, +button:focus, +a:hover, +a:focus { + color: #23527c; + text-decoration: none; +} +a.disable, +a.disable:hover { + text-decoration: none; + cursor: default; + color: #000000; +} + +h1, h2, h3, h4, h5, h6, .text-break { + word-wrap: break-word; + word-break: break-word; +} + +h1 mark, +h2 mark, +h3 mark, +h4 mark, +h5 mark, +h6 mark { + padding: 0; +} + +.inheritance .level0:before, +.inheritance .level1:before, +.inheritance .level2:before, +.inheritance .level3:before, +.inheritance .level4:before, +.inheritance .level5:before, +.inheritance .level6:before, +.inheritance .level7:before, +.inheritance .level8:before, +.inheritance .level9:before { + content: '↳'; + margin-right: 5px; +} + +.inheritance .level0 { + margin-left: 0em; +} + +.inheritance .level1 { + margin-left: 1em; +} + +.inheritance .level2 { + margin-left: 2em; +} + +.inheritance .level3 { + margin-left: 3em; +} + +.inheritance .level4 { + margin-left: 4em; +} + +.inheritance .level5 { + margin-left: 5em; +} + +.inheritance .level6 { + margin-left: 6em; +} + +.inheritance .level7 { + margin-left: 7em; +} + +.inheritance .level8 { + margin-left: 8em; +} + +.inheritance .level9 { + margin-left: 9em; +} + +.level0.summary { + margin: 2em 0 2em 0; +} + +.level1.summary { + margin: 1em 0 1em 0; +} + +span.parametername, +span.paramref, +span.typeparamref { + font-style: italic; +} +span.languagekeyword{ + font-weight: bold; +} + +svg:hover path { + fill: #ffffff; +} + +.hljs { + display: inline; + background-color: inherit; + padding: 0; +} +/* additional spacing fixes */ +.btn + .btn { + margin-left: 10px; +} +.btn.pull-right { + margin-left: 10px; + margin-top: 5px; +} +.table { + margin-bottom: 10px; +} +table p { + margin-bottom: 0; +} +table a { + display: inline-block; +} + +/* Make hidden attribute compatible with old browser.*/ +[hidden] { + display: none !important; +} + +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 15px; + margin-bottom: 10px; + font-weight: 400; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 5px; +} +.navbar { + margin-bottom: 0; +} +#wrapper { + min-height: 100%; + position: relative; +} +/* blends header footer and content together with gradient effect */ +.grad-top { + /* For Safari 5.1 to 6.0 */ + /* For Opera 11.1 to 12.0 */ + /* For Firefox 3.6 to 15 */ + background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0)); + /* Standard syntax */ + height: 5px; +} +.grad-bottom { + /* For Safari 5.1 to 6.0 */ + /* For Opera 11.1 to 12.0 */ + /* For Firefox 3.6 to 15 */ + background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05)); + /* Standard syntax */ + height: 5px; +} +.divider { + margin: 0 5px; + color: #cccccc; +} +hr { + border-color: #cccccc; +} +header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; +} +header .navbar { + border-width: 0 0 1px; + border-radius: 0; +} +.navbar-brand { + font-size: inherit; + padding: 0; +} +.navbar-collapse { + margin: 0 -15px; +} +.subnav { + min-height: 40px; +} + +.inheritance h5, .inheritedMembers h5{ + padding-bottom: 5px; + border-bottom: 1px solid #ccc; +} + +article h1, article h2, article h3, article h4{ + margin-top: 25px; +} + +article h4{ + border: 0; + font-weight: bold; + margin-top: 2em; +} + +article span.small.pull-right{ + margin-top: 20px; +} + +article section { + margin-left: 1em; +} + +/*.expand-all { + padding: 10px 0; +}*/ +.breadcrumb { + margin: 0; + padding: 10px 0; + background-color: inherit; + white-space: nowrap; +} +.breadcrumb > li + li:before { + content: "\00a0/"; +} +#autocollapse.collapsed .navbar-header { + float: none; +} +#autocollapse.collapsed .navbar-toggle { + display: block; +} +#autocollapse.collapsed .navbar-collapse { + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); +} +#autocollapse.collapsed .navbar-collapse.collapse { + display: none !important; +} +#autocollapse.collapsed .navbar-nav { + float: none !important; + margin: 7.5px -15px; +} +#autocollapse.collapsed .navbar-nav > li { + float: none; +} +#autocollapse.collapsed .navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; +} +#autocollapse.collapsed .collapse.in, +#autocollapse.collapsed .collapsing { + display: block !important; +} +#autocollapse.collapsed .collapse.in .navbar-right, +#autocollapse.collapsed .collapsing .navbar-right { + float: none !important; +} +#autocollapse .form-group { + width: 100%; +} +#autocollapse .form-control { + width: 100%; +} +#autocollapse .navbar-header { + margin-left: 0; + margin-right: 0; +} +#autocollapse .navbar-brand { + margin-left: 0; +} +.collapse.in, +.collapsing { + text-align: center; +} +.collapsing .navbar-form { + margin: 0 auto; + max-width: 400px; + padding: 10px 15px; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} +.collapsed .collapse.in .navbar-form { + margin: 0 auto; + max-width: 400px; + padding: 10px 15px; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} +.navbar .navbar-nav { + display: inline-block; +} +.docs-search { + background: white; + vertical-align: middle; +} +.docs-search > .search-query { + font-size: 14px; + border: 0; + width: 120%; + color: #555; +} +.docs-search > .search-query:focus { + outline: 0; +} +.search-results-frame { + clear: both; + display: table; + width: 100%; +} +.search-results.ng-hide { + display: none; +} +.search-results-container { + padding-bottom: 1em; + border-top: 1px solid #111; + background: rgba(25, 25, 25, 0.5); +} +.search-results-container .search-results-group { + padding-top: 50px !important; + padding: 10px; +} +.search-results-group-heading { + font-family: "Open Sans"; + padding-left: 10px; + color: white; +} +.search-close { + position: absolute; + left: 50%; + margin-left: -100px; + color: white; + text-align: center; + padding: 5px; + background: #333; + border-top-right-radius: 5px; + border-top-left-radius: 5px; + width: 200px; + box-shadow: 0 0 10px #111; +} +#search { + display: none; +} + +/* Search results display*/ +#search-results { + max-width: 960px !important; + margin-top: 120px; + margin-bottom: 115px; + margin-left: auto; + margin-right: auto; + line-height: 1.8; + display: none; +} + +#search-results>.search-list { + text-align: center; + font-size: 2.5rem; + margin-bottom: 50px; +} + +#search-results p { + text-align: center; +} + +#search-results p .index-loading { + animation: index-loading 1.5s infinite linear; + -webkit-animation: index-loading 1.5s infinite linear; + -o-animation: index-loading 1.5s infinite linear; + font-size: 2.5rem; +} + +@keyframes index-loading { + from { transform: scale(1) rotate(0deg);} + to { transform: scale(1) rotate(360deg);} +} + +@-webkit-keyframes index-loading { + from { -webkit-transform: rotate(0deg);} + to { -webkit-transform: rotate(360deg);} +} + +@-o-keyframes index-loading { + from { -o-transform: rotate(0deg);} + to { -o-transform: rotate(360deg);} +} + +#search-results .sr-items { + font-size: 24px; +} + +.sr-item { + margin-bottom: 25px; +} + +.sr-item>.item-href { + font-size: 14px; + color: #093; +} + +.sr-item>.item-brief { + font-size: 13px; +} + +.pagination>li>a { + color: #47A7A0 +} + +.pagination>.active>a { + background-color: #47A7A0; + border-color: #47A7A0; +} + +.fixed_header { + position: fixed; + width: 100%; + padding-bottom: 10px; + padding-top: 10px; + margin: 0px; + top: 0; + z-index: 9999; + left: 0; +} + +.fixed_header+.toc{ + margin-top: 50px; + margin-left: 0; +} + +.sidenav, .fixed_header, .toc { + background-color: #f1f1f1; +} + +.sidetoc { + position: fixed; + width: 260px; + top: 150px; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + background-color: #f1f1f1; + border-left: 1px solid #e7e7e7; + border-right: 1px solid #e7e7e7; + z-index: 1; +} + +.sidetoc.shiftup { + bottom: 70px; +} + +body .toc{ + background-color: #f1f1f1; + overflow-x: hidden; +} + +.sidetoggle.ng-hide { + display: block !important; +} +.sidetoc-expand > .caret { + margin-left: 0px; + margin-top: -2px; +} +.sidetoc-expand > .caret-side { + border-left: 4px solid; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + margin-left: 4px; + margin-top: -4px; +} +.sidetoc-heading { + font-weight: 500; +} + +.toc { + margin: 0px 0 0 10px; + padding: 0 10px; +} +.expand-stub { + position: absolute; + left: -10px; + font-weight: bold; +} +.expand-stub + a { + font-weight: bold; +} +.toc .nav > li > a.sidetoc-expand { + position: absolute; + top: 0; + left: 0; +} +.toc .nav > li > a { + color: #666666; + margin-left: 5px; + display: block; + padding: 0; +} +.toc .nav > li > a:hover, +.toc .nav > li > a:focus { + color: #000000; + background: none; + text-decoration: inherit; +} +.toc .nav > li.active > a { + color: #337ab7; +} +.toc .nav > li.active > a:hover, +.toc .nav > li.active > a:focus { + color: #23527c; +} + +.toc .nav > li> .expand-stub { + cursor: pointer; +} + +.toc .nav > li.active > .expand-stub::before, +.toc .nav > li.in > .expand-stub::before, +.toc .nav > li.in.active > .expand-stub::before, +.toc .nav > li.filtered > .expand-stub::before { + content: "-"; +} + +.toc .nav > li > .expand-stub::before, +.toc .nav > li.active > .expand-stub::before { + content: "+"; +} + +.toc .nav > li.filtered > ul, +.toc .nav > li.in > ul { + display: block; +} + +.toc .nav > li > ul { + display: none; +} + +.toc ul{ + font-size: 12px; + margin: 0 0 0 3px; +} + +.toc .level1 > li { + font-weight: bold; + margin-top: 10px; + position: relative; + font-size: 16px; +} +.toc .level2 { + font-weight: normal; + margin: 5px 0 0 15px; + font-size: 14px; +} +.toc-toggle { + display: none; + margin: 0 15px 0px 15px; +} +.sidefilter { + position: fixed; + top: 90px; + width: 260px; + background-color: #f1f1f1; + padding: 15px; + border-left: 1px solid #e7e7e7; + border-right: 1px solid #e7e7e7; + z-index: 1; +} +.toc-filter { + border-radius: 5px; + background: #fff; + color: #666666; + padding: 5px; + position: relative; + margin: 0 5px 0 5px; +} +.toc-filter > input { + border: 0; + color: #666666; + padding-left: 20px; + padding-right: 20px; + width: 100%; +} +.toc-filter > input:focus { + outline: 0; +} +.toc-filter > .filter-icon { + position: absolute; + top: 10px; + left: 5px; +} +.toc-filter > .clear-icon { + position: absolute; + top: 10px; + right: 5px; +} +.article { + margin-top: 120px; + margin-bottom: 115px; +} + +#_content>a{ + margin-top: 105px; +} + +.article.grid-right { + margin-left: 280px; +} + +.inheritance hr { + margin-top: 5px; + margin-bottom: 5px; +} +.article img { + max-width: 100%; +} +.sideaffix { + margin-top: 50px; + font-size: 12px; + max-height: 100%; + overflow: hidden; + top: 100px; + bottom: 10px; + position: fixed; +} +.sideaffix.shiftup { + bottom: 70px; +} +.affix { + position: relative; + height: 100%; +} +.sideaffix > div.contribution { + margin-bottom: 20px; +} +.sideaffix > div.contribution > ul > li > a.contribution-link { + padding: 6px 10px; + font-weight: bold; + font-size: 14px; +} +.sideaffix > div.contribution > ul > li > a.contribution-link:hover { + background-color: #ffffff; +} +.sideaffix ul.nav > li > a:focus { + background: none; +} +.affix h5 { + font-weight: bold; + text-transform: uppercase; + padding-left: 10px; + font-size: 12px; +} +.affix > ul.level1 { + overflow: hidden; + padding-bottom: 10px; + height: calc(100% - 100px); +} +.affix ul > li > a:before { + color: #cccccc; + position: absolute; +} +.affix ul > li > a:hover { + background: none; + color: #666666; +} +.affix ul > li.active > a, +.affix ul > li.active > a:before { + color: #337ab7; +} +.affix ul > li > a { + padding: 5px 12px; + color: #666666; +} +.affix > ul > li.active:last-child { + margin-bottom: 50px; +} +.affix > ul > li > a:before { + content: "|"; + font-size: 16px; + top: 1px; + left: 0; +} +.affix > ul > li.active > a, +.affix > ul > li.active > a:before { + color: #337ab7; + font-weight: bold; +} +.affix ul ul > li > a { + padding: 2px 15px; +} +.affix ul ul > li > a:before { + content: ">"; + font-size: 14px; + top: -1px; + left: 5px; +} +.affix ul > li > a:before, +.affix ul ul { + display: none; +} +.affix ul > li.active > ul, +.affix ul > li.active > a:before, +.affix ul > li > a:hover:before { + display: block; + white-space: nowrap; +} +.codewrapper { + position: relative; +} +.trydiv { + height: 0px; +} +.tryspan { + position: absolute; + top: 0px; + right: 0px; + border-style: solid; + border-radius: 0px 4px; + box-sizing: border-box; + border-width: 1px; + border-color: #cccccc; + text-align: center; + padding: 2px 8px; + background-color: white; + font-size: 12px; + cursor: pointer; + z-index: 100; + display: none; + color: #767676; +} +.tryspan:hover { + background-color: #3b8bd0; + color: white; + border-color: #3b8bd0; +} +.codewrapper:hover .tryspan { + display: block; +} +.sample-response .response-content{ + max-height: 200px; +} +footer { + position: absolute; + left: 0; + right: 0; + bottom: 0; + z-index: 1000; +} +.footer { + border-top: 1px solid #e7e7e7; + background-color: #f8f8f8; + padding: 15px 0; +} +@media (min-width: 768px) { + #sidetoggle.collapse { + display: block; + } + .topnav .navbar-nav { + float: none; + white-space: nowrap; + } + .topnav .navbar-nav > li { + float: none; + display: inline-block; + } +} +@media only screen and (max-width: 768px) { + #mobile-indicator { + display: block; + } + /* TOC display for responsive */ + .article { + margin-top: 30px !important; + } + header { + position: static; + } + .topnav { + text-align: center; + } + .sidenav { + padding: 15px 0; + margin-left: -15px; + margin-right: -15px; + } + .sidefilter { + position: static; + width: auto; + float: none; + border: none; + } + .sidetoc { + position: static; + width: auto; + float: none; + padding-bottom: 0px; + border: none; + } + .toc .nav > li, .toc .nav > li >a { + display: inline-block; + } + .toc li:after { + margin-left: -3px; + margin-right: 5px; + content: ", "; + color: #666666; + } + .toc .level1 > li { + display: block; + } + + .toc .level1 > li:after { + display: none; + } + .article.grid-right { + margin-left: 0; + } + .grad-top, + .grad-bottom { + display: none; + } + .toc-toggle { + display: block; + } + .sidetoggle.ng-hide { + display: none !important; + } + /*.expand-all { + display: none; + }*/ + .sideaffix { + display: none; + } + .mobile-hide { + display: none; + } + .breadcrumb { + white-space: inherit; + } + + /* workaround for #hashtag url is no longer needed*/ + h1:before, + h2:before, + h3:before, + h4:before { + content: ''; + display: none; + } +} + +/* For toc iframe */ +@media (max-width: 260px) { + .toc .level2 > li { + display: block; + } + + .toc .level2 > li:after { + display: none; + } +} + +/* Code snippet */ +code { + color: #717374; + background-color: #f1f2f3; +} + +a code { + color: #337ab7; + background-color: #f1f2f3; +} + +a code:hover { + text-decoration: underline; +} + +.hljs-keyword { + color: rgb(86,156,214); +} + +.hljs-string { + color: rgb(214, 157, 133); +} + +pre { + border: 0; +} + +/* For code snippet line highlight */ +pre > code .line-highlight { + background-color: #ffffcc; +} + +/* Alerts */ +.alert h5 { + text-transform: uppercase; + font-weight: bold; + margin-top: 0; +} + +.alert h5:before { + position:relative; + top:1px; + display:inline-block; + font-family:'Glyphicons Halflings'; + line-height:1; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + margin-right: 5px; + font-weight: normal; +} + +.alert-info h5:before { + content:"\e086" +} + +.alert-warning h5:before { + content:"\e127" +} + +.alert-danger h5:before { + content:"\e107" +} + +/* For Embedded Video */ +div.embeddedvideo { + padding-top: 56.25%; + position: relative; + width: 100%; +} + +div.embeddedvideo iframe { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; + height: 100%; +} + +/* For printer */ +@media print{ + .article.grid-right { + margin-top: 0px; + margin-left: 0px; + } + .sideaffix { + display: none; + } + .mobile-hide { + display: none; + } + .footer { + display: none; + } +} + +/* For tabbed content */ + +.tabGroup { + margin-top: 1rem; } + .tabGroup ul[role="tablist"] { + margin: 0; + padding: 0; + list-style: none; } + .tabGroup ul[role="tablist"] > li { + list-style: none; + display: inline-block; } + .tabGroup a[role="tab"] { + color: #6e6e6e; + box-sizing: border-box; + display: inline-block; + padding: 5px 7.5px; + text-decoration: none; + border-bottom: 2px solid #fff; } + .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus, .tabGroup a[role="tab"][aria-selected="true"] { + border-bottom: 2px solid #0050C5; } + .tabGroup a[role="tab"][aria-selected="true"] { + color: #222; } + .tabGroup a[role="tab"]:hover, .tabGroup a[role="tab"]:focus { + color: #0050C5; } + .tabGroup a[role="tab"]:focus { + outline: 1px solid #0050C5; + outline-offset: -1px; } + @media (min-width: 768px) { + .tabGroup a[role="tab"] { + padding: 5px 15px; } } + .tabGroup section[role="tabpanel"] { + border: 1px solid #e0e0e0; + padding: 15px; + margin: 0; + overflow: hidden; } + .tabGroup section[role="tabpanel"] > .codeHeader, + .tabGroup section[role="tabpanel"] > pre { + margin-left: -16px; + margin-right: -16px; } + .tabGroup section[role="tabpanel"] > :first-child { + margin-top: 0; } + .tabGroup section[role="tabpanel"] > pre:last-child { + display: block; + margin-bottom: -16px; } + +.mainContainer[dir='rtl'] main ul[role="tablist"] { + margin: 0; } + +/* Color theme */ + +/* These are not important, tune down **/ +.declaration, .fieldValue, .parameters, .returns { + color: #a2a2a2; +} + +/* Major sections, increase visibility **/ +#fields, #properties, #methods, #events { + font-weight: bold; + margin-top: 2em; +} diff --git a/docs/styles/docfx.js b/docs/styles/docfx.js index 16bafe8..952775b 100644 --- a/docs/styles/docfx.js +++ b/docs/styles/docfx.js @@ -1,1223 +1,1223 @@ -// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. -$(function () { - var active = 'active'; - var expanded = 'in'; - var collapsed = 'collapsed'; - var filtered = 'filtered'; - var show = 'show'; - var hide = 'hide'; - var util = new utility(); - - workAroundFixedHeaderForAnchors(); - highlight(); - enableSearch(); - - renderTables(); - renderAlerts(); - renderLinks(); - renderNavbar(); - renderSidebar(); - renderAffix(); - renderFooter(); - renderLogo(); - - breakText(); - renderTabs(); - - window.refresh = function (article) { - // Update markup result - if (typeof article == 'undefined' || typeof article.content == 'undefined') - console.error("Null Argument"); - $("article.content").html(article.content); - - highlight(); - renderTables(); - renderAlerts(); - renderAffix(); - renderTabs(); - } - - // Add this event listener when needed - // window.addEventListener('content-update', contentUpdate); - - function breakText() { - $(".xref").addClass("text-break"); - var texts = $(".text-break"); - texts.each(function () { - $(this).breakWord(); - }); - } - - // Styling for tables in conceptual documents using Bootstrap. - // See http://getbootstrap.com/css/#tables - function renderTables() { - $('table').addClass('table table-bordered table-condensed').wrap('
'); - } - - // Styling for alerts. - function renderAlerts() { - $('.NOTE, .TIP').addClass('alert alert-info'); - $('.WARNING').addClass('alert alert-warning'); - $('.IMPORTANT, .CAUTION').addClass('alert alert-danger'); - } - - // Enable anchors for headings. - (function () { - anchors.options = { - placement: 'left', - visible: 'hover' - }; - anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)'); - })(); - - // Open links to different host in a new window. - function renderLinks() { - if ($("meta[property='docfx:newtab']").attr("content") === "true") { - $(document.links).filter(function () { - return this.hostname !== window.location.hostname; - }).attr('target', '_blank'); - } - } - - // Enable highlight.js - function highlight() { - $('pre code').each(function (i, block) { - hljs.highlightElement(block); - }); - $('pre code[highlight-lines]').each(function (i, block) { - if (block.innerHTML === "") return; - var lines = block.innerHTML.split('\n'); - - queryString = block.getAttribute('highlight-lines'); - if (!queryString) return; - - var ranges = queryString.split(','); - for (var j = 0, range; range = ranges[j++];) { - var found = range.match(/^(\d+)\-(\d+)?$/); - if (found) { - // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional - var start = +found[1]; - var end = +found[2]; - if (isNaN(end) || end > lines.length) { - end = lines.length; - } - } else { - // consider region as a sigine line number - if (isNaN(range)) continue; - var start = +range; - var end = start; - } - if (start <= 0 || end <= 0 || start > end || start > lines.length) { - // skip current region if invalid - continue; - } - lines[start - 1] = '' + lines[start - 1]; - lines[end - 1] = lines[end - 1] + ''; - } - - block.innerHTML = lines.join('\n'); - }); - } - - // Support full-text-search - function enableSearch() { - var query; - var relHref = $("meta[property='docfx\\:rel']").attr("content"); - if (typeof relHref === 'undefined') { - return; - } - try { - var worker = new Worker(relHref + 'styles/search-worker.min.js'); - if (!worker && !window.worker) { - localSearch(); - } else { - webWorkerSearch(); - } - - renderSearchBox(); - highlightKeywords(); - addSearchEvent(); - } catch (e) { - console.error(e); - } - - //Adjust the position of search box in navbar - function renderSearchBox() { - autoCollapse(); - $(window).on('resize', autoCollapse); - $(document).on('click', '.navbar-collapse.in', function (e) { - if ($(e.target).is('a')) { - $(this).collapse('hide'); - } - }); - - function autoCollapse() { - var navbar = $('#autocollapse'); - if (navbar.height() === null) { - setTimeout(autoCollapse, 300); - } - navbar.removeClass(collapsed); - if (navbar.height() > 60) { - navbar.addClass(collapsed); - } - } - } - - // Search factory - function localSearch() { - console.log("using local search"); - var lunrIndex = lunr(function () { - this.ref('href'); - this.field('title', { boost: 50 }); - this.field('keywords', { boost: 20 }); - }); - lunr.tokenizer.seperator = /[\s\-\.]+/; - var searchData = {}; - var searchDataRequest = new XMLHttpRequest(); - - var indexPath = relHref + "index.json"; - if (indexPath) { - searchDataRequest.open('GET', indexPath); - searchDataRequest.onload = function () { - if (this.status != 200) { - return; - } - searchData = JSON.parse(this.responseText); - for (var prop in searchData) { - if (searchData.hasOwnProperty(prop)) { - lunrIndex.add(searchData[prop]); - } - } - } - searchDataRequest.send(); - } - - $("body").bind("queryReady", function () { - var hits = lunrIndex.search(query); - var results = []; - hits.forEach(function (hit) { - var item = searchData[hit.ref]; - results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords }); - }); - handleSearchResults(results); - }); - } - - function webWorkerSearch() { - console.log("using Web Worker"); - var indexReady = $.Deferred(); - - worker.onmessage = function (oEvent) { - switch (oEvent.data.e) { - case 'index-ready': - indexReady.resolve(); - break; - case 'query-ready': - var hits = oEvent.data.d; - handleSearchResults(hits); - break; - } - } - - indexReady.promise().done(function () { - $("body").bind("queryReady", function () { - worker.postMessage({ q: query }); - }); - if (query && (query.length >= 3)) { - worker.postMessage({ q: query }); - } - }); - } - - // Highlight the searching keywords - function highlightKeywords() { - var q = url('?q'); - if (q) { - var keywords = q.split("%20"); - keywords.forEach(function (keyword) { - if (keyword !== "") { - $('.data-searchable *').mark(keyword); - $('article *').mark(keyword); - } - }); - } - } - - function addSearchEvent() { - $('body').bind("searchEvent", function () { - $('#search-query').keypress(function (e) { - return e.which !== 13; - }); - - $('#search-query').keyup(function () { - query = $(this).val(); - if (query.length < 3) { - flipContents("show"); - } else { - flipContents("hide"); - $("body").trigger("queryReady"); - $('#search-results>.search-list>span').text('"' + query + '"'); - } - }).off("keydown"); - }); - } - - function flipContents(action) { - if (action === "show") { - $('.hide-when-search').show(); - $('#search-results').hide(); - } else { - $('.hide-when-search').hide(); - $('#search-results').show(); - } - } - - function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) { - var currentItems = currentUrl.split(/\/+/); - var relativeItems = relativeUrl.split(/\/+/); - var depth = currentItems.length - 1; - var items = []; - for (var i = 0; i < relativeItems.length; i++) { - if (relativeItems[i] === '..') { - depth--; - } else if (relativeItems[i] !== '.') { - items.push(relativeItems[i]); - } - } - return currentItems.slice(0, depth).concat(items).join('/'); - } - - function extractContentBrief(content) { - var briefOffset = 512; - var words = query.split(/\s+/g); - var queryIndex = content.indexOf(words[0]); - var briefContent; - if (queryIndex > briefOffset) { - return "..." + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + "..."; - } else if (queryIndex <= briefOffset) { - return content.slice(0, queryIndex + briefOffset) + "..."; - } - } - - function handleSearchResults(hits) { - var numPerPage = 10; - var pagination = $('#pagination'); - pagination.empty(); - pagination.removeData("twbs-pagination"); - if (hits.length === 0) { - $('#search-results>.sr-items').html('

No results found

'); - } else { - pagination.twbsPagination({ - first: pagination.data('first'), - prev: pagination.data('prev'), - next: pagination.data('next'), - last: pagination.data('last'), - totalPages: Math.ceil(hits.length / numPerPage), - visiblePages: 5, - onPageClick: function (event, page) { - var start = (page - 1) * numPerPage; - var curHits = hits.slice(start, start + numPerPage); - $('#search-results>.sr-items').empty().append( - curHits.map(function (hit) { - var currentUrl = window.location.href; - var itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href); - var itemHref = relHref + hit.href + "?q=" + query; - var itemTitle = hit.title; - var itemBrief = extractContentBrief(hit.keywords); - - var itemNode = $('
').attr('class', 'sr-item'); - var itemTitleNode = $('
').attr('class', 'item-title').append($('').attr('href', itemHref).attr("target", "_blank").attr("rel", "noopener noreferrer").text(itemTitle)); - var itemHrefNode = $('
').attr('class', 'item-href').text(itemRawHref); - var itemBriefNode = $('
').attr('class', 'item-brief').text(itemBrief); - itemNode.append(itemTitleNode).append(itemHrefNode).append(itemBriefNode); - return itemNode; - }) - ); - query.split(/\s+/).forEach(function (word) { - if (word !== '') { - $('#search-results>.sr-items *').mark(word); - } - }); - } - }); - } - } - }; - - // Update href in navbar - function renderNavbar() { - var navbar = $('#navbar ul')[0]; - if (typeof (navbar) === 'undefined') { - loadNavbar(); - } else { - $('#navbar ul a.active').parents('li').addClass(active); - renderBreadcrumb(); - showSearch(); - } - - function showSearch() { - if ($('#search-results').length !== 0) { - $('#search').show(); - $('body').trigger("searchEvent"); - } - } - - function loadNavbar() { - var navbarPath = $("meta[property='docfx\\:navrel']").attr("content"); - if (!navbarPath) { - return; - } - navbarPath = navbarPath.replace(/\\/g, '/'); - var tocPath = $("meta[property='docfx\\:tocrel']").attr("content") || ''; - if (tocPath) tocPath = tocPath.replace(/\\/g, '/'); - $.get(navbarPath, function (data) { - $(data).find("#toc>ul").appendTo("#navbar"); - showSearch(); - var index = navbarPath.lastIndexOf('/'); - var navrel = ''; - if (index > -1) { - navrel = navbarPath.substr(0, index + 1); - } - $('#navbar>ul').addClass('navbar-nav'); - var currentAbsPath = util.getCurrentWindowAbsolutePath(); - // set active item - $('#navbar').find('a[href]').each(function (i, e) { - var href = $(e).attr("href"); - if (util.isRelativePath(href)) { - href = navrel + href; - $(e).attr("href", href); - - var isActive = false; - var originalHref = e.name; - if (originalHref) { - originalHref = navrel + originalHref; - if (util.getDirectory(util.getAbsolutePath(originalHref)) === util.getDirectory(util.getAbsolutePath(tocPath))) { - isActive = true; - } - } else { - if (util.getAbsolutePath(href) === currentAbsPath) { - var dropdown = $(e).attr('data-toggle') == "dropdown" - if (!dropdown) { - isActive = true; - } - } - } - if (isActive) { - $(e).addClass(active); - } - } - }); - renderNavbar(); - }); - } - } - - function renderSidebar() { - var sidetoc = $('#sidetoggle .sidetoc')[0]; - if (typeof (sidetoc) === 'undefined') { - loadToc(); - } else { - registerTocEvents(); - if ($('footer').is(':visible')) { - $('.sidetoc').addClass('shiftup'); - } - - // Scroll to active item - var top = 0; - $('#toc a.active').parents('li').each(function (i, e) { - $(e).addClass(active).addClass(expanded); - $(e).children('a').addClass(active); - }) - $('#toc a.active').parents('li').each(function (i, e) { - top += $(e).position().top; - }) - $('.sidetoc').scrollTop(top - 50); - - if ($('footer').is(':visible')) { - $('.sidetoc').addClass('shiftup'); - } - - renderBreadcrumb(); - } - - function registerTocEvents() { - var tocFilterInput = $('#toc_filter_input'); - var tocFilterClearButton = $('#toc_filter_clear'); - - $('.toc .nav > li > .expand-stub').click(function (e) { - $(e.target).parent().toggleClass(expanded); - }); - $('.toc .nav > li > .expand-stub + a:not([href])').click(function (e) { - $(e.target).parent().toggleClass(expanded); - }); - tocFilterInput.on('input', function (e) { - var val = this.value; - //Save filter string to local session storage - if (typeof(Storage) !== "undefined") { - try { - sessionStorage.filterString = val; - } - catch(e) - {} - } - if (val === '') { - // Clear 'filtered' class - $('#toc li').removeClass(filtered).removeClass(hide); - tocFilterClearButton.fadeOut(); - return; - } - tocFilterClearButton.fadeIn(); - - // set all parent nodes status - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length > 0 - }).each(function (i, anchor) { - var parent = $(anchor).parent(); - parent.addClass(hide); - parent.removeClass(show); - parent.removeClass(filtered); - }) - - // Get leaf nodes - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length === 0 - }).each(function (i, anchor) { - var text = $(anchor).attr('title'); - var parent = $(anchor).parent(); - var parentNodes = parent.parents('ul>li'); - for (var i = 0; i < parentNodes.length; i++) { - var parentText = $(parentNodes[i]).children('a').attr('title'); - if (parentText) text = parentText + '.' + text; - }; - if (filterNavItem(text, val)) { - parent.addClass(show); - parent.removeClass(hide); - } else { - parent.addClass(hide); - parent.removeClass(show); - } - }); - $('#toc li>a').filter(function (i, e) { - return $(e).siblings().length > 0 - }).each(function (i, anchor) { - var parent = $(anchor).parent(); - if (parent.find('li.show').length > 0) { - parent.addClass(show); - parent.addClass(filtered); - parent.removeClass(hide); - } else { - parent.addClass(hide); - parent.removeClass(show); - parent.removeClass(filtered); - } - }) - - function filterNavItem(name, text) { - if (!text) return true; - if (name && name.toLowerCase().indexOf(text.toLowerCase()) > -1) return true; - return false; - } - }); - - // toc filter clear button - tocFilterClearButton.hide(); - tocFilterClearButton.on("click", function(e){ - tocFilterInput.val(""); - tocFilterInput.trigger('input'); - if (typeof(Storage) !== "undefined") { - try { - sessionStorage.filterString = ""; - } - catch(e) - {} - } - }); - - //Set toc filter from local session storage on page load - if (typeof(Storage) !== "undefined") { - try { - tocFilterInput.val(sessionStorage.filterString); - tocFilterInput.trigger('input'); - } - catch(e) - {} - } - } - - function loadToc() { - var tocPath = $("meta[property='docfx\\:tocrel']").attr("content"); - if (!tocPath) { - return; - } - tocPath = tocPath.replace(/\\/g, '/'); - $('#sidetoc').load(tocPath + " #sidetoggle > div", function () { - var index = tocPath.lastIndexOf('/'); - var tocrel = ''; - if (index > -1) { - tocrel = tocPath.substr(0, index + 1); - } - var currentHref = util.getCurrentWindowAbsolutePath(); - if(!currentHref.endsWith('.html')) { - currentHref += '.html'; - } - $('#sidetoc').find('a[href]').each(function (i, e) { - var href = $(e).attr("href"); - if (util.isRelativePath(href)) { - href = tocrel + href; - $(e).attr("href", href); - } - - if (util.getAbsolutePath(e.href) === currentHref) { - $(e).addClass(active); - } - - $(e).breakWord(); - }); - - renderSidebar(); - }); - } - } - - function renderBreadcrumb() { - var breadcrumb = []; - $('#navbar a.active').each(function (i, e) { - breadcrumb.push({ - href: e.href, - name: e.innerHTML - }); - }) - $('#toc a.active').each(function (i, e) { - breadcrumb.push({ - href: e.href, - name: e.innerHTML - }); - }) - - var html = util.formList(breadcrumb, 'breadcrumb'); - $('#breadcrumb').html(html); - } - - //Setup Affix - function renderAffix() { - var hierarchy = getHierarchy(); - if (!hierarchy || hierarchy.length <= 0) { - $("#affix").hide(); - } - else { - var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']); - $("#affix>div").empty().append(html); - if ($('footer').is(':visible')) { - $(".sideaffix").css("bottom", "70px"); - } - $('#affix a').click(function(e) { - var scrollspy = $('[data-spy="scroll"]').data()['bs.scrollspy']; - var target = e.target.hash; - if (scrollspy && target) { - scrollspy.activate(target); - } - }); - } - - function getHierarchy() { - // supported headers are h1, h2, h3, and h4 - var $headers = $($.map(['h1', 'h2', 'h3', 'h4'], function (h) { return ".article article " + h; }).join(", ")); - - // a stack of hierarchy items that are currently being built - var stack = []; - $headers.each(function (i, e) { - if (!e.id) { - return; - } - - var item = { - name: htmlEncode($(e).text()), - href: "#" + e.id, - items: [] - }; - - if (!stack.length) { - stack.push({ type: e.tagName, siblings: [item] }); - return; - } - - var frame = stack[stack.length - 1]; - if (e.tagName === frame.type) { - frame.siblings.push(item); - } else if (e.tagName[1] > frame.type[1]) { - // we are looking at a child of the last element of frame.siblings. - // push a frame onto the stack. After we've finished building this item's children, - // we'll attach it as a child of the last element - stack.push({ type: e.tagName, siblings: [item] }); - } else { // e.tagName[1] < frame.type[1] - // we are looking at a sibling of an ancestor of the current item. - // pop frames from the stack, building items as we go, until we reach the correct level at which to attach this item. - while (e.tagName[1] < stack[stack.length - 1].type[1]) { - buildParent(); - } - if (e.tagName === stack[stack.length - 1].type) { - stack[stack.length - 1].siblings.push(item); - } else { - stack.push({ type: e.tagName, siblings: [item] }); - } - } - }); - while (stack.length > 1) { - buildParent(); - } - - function buildParent() { - var childrenToAttach = stack.pop(); - var parentFrame = stack[stack.length - 1]; - var parent = parentFrame.siblings[parentFrame.siblings.length - 1]; - $.each(childrenToAttach.siblings, function (i, child) { - parent.items.push(child); - }); - } - if (stack.length > 0) { - - var topLevel = stack.pop().siblings; - if (topLevel.length === 1) { // if there's only one topmost header, dump it - return topLevel[0].items; - } - return topLevel; - } - return undefined; - } - - function htmlEncode(str) { - if (!str) return str; - return str - .replace(/&/g, '&') - .replace(/"/g, '"') - .replace(/'/g, ''') - .replace(//g, '>'); - } - - function htmlDecode(value) { - if (!str) return str; - return value - .replace(/"/g, '"') - .replace(/'/g, "'") - .replace(/</g, '<') - .replace(/>/g, '>') - .replace(/&/g, '&'); - } - - function cssEscape(str) { - // see: http://stackoverflow.com/questions/2786538/need-to-escape-a-special-character-in-a-jquery-selector-string#answer-2837646 - if (!str) return str; - return str - .replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\$&"); - } - } - - // Show footer - function renderFooter() { - initFooter(); - $(window).on("scroll", showFooterCore); - - function initFooter() { - if (needFooter()) { - shiftUpBottomCss(); - $("footer").show(); - } else { - resetBottomCss(); - $("footer").hide(); - } - } - - function showFooterCore() { - if (needFooter()) { - shiftUpBottomCss(); - $("footer").fadeIn(); - } else { - resetBottomCss(); - $("footer").fadeOut(); - } - } - - function needFooter() { - var scrollHeight = $(document).height(); - var scrollPosition = $(window).height() + $(window).scrollTop(); - return (scrollHeight - scrollPosition) < 1; - } - - function resetBottomCss() { - $(".sidetoc").removeClass("shiftup"); - $(".sideaffix").removeClass("shiftup"); - } - - function shiftUpBottomCss() { - $(".sidetoc").addClass("shiftup"); - $(".sideaffix").addClass("shiftup"); - } - } - - function renderLogo() { - // For LOGO SVG - // Replace SVG with inline SVG - // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement - jQuery('img.svg').each(function () { - var $img = jQuery(this); - var imgID = $img.attr('id'); - var imgClass = $img.attr('class'); - var imgURL = $img.attr('src'); - - jQuery.get(imgURL, function (data) { - // Get the SVG tag, ignore the rest - var $svg = jQuery(data).find('svg'); - - // Add replaced image's ID to the new SVG - if (typeof imgID !== 'undefined') { - $svg = $svg.attr('id', imgID); - } - // Add replaced image's classes to the new SVG - if (typeof imgClass !== 'undefined') { - $svg = $svg.attr('class', imgClass + ' replaced-svg'); - } - - // Remove any invalid XML tags as per http://validator.w3.org - $svg = $svg.removeAttr('xmlns:a'); - - // Replace image with new SVG - $img.replaceWith($svg); - - }, 'xml'); - }); - } - - function renderTabs() { - var contentAttrs = { - id: 'data-bi-id', - name: 'data-bi-name', - type: 'data-bi-type' - }; - - var Tab = (function () { - function Tab(li, a, section) { - this.li = li; - this.a = a; - this.section = section; - } - Object.defineProperty(Tab.prototype, "tabIds", { - get: function () { return this.a.getAttribute('data-tab').split(' '); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "condition", { - get: function () { return this.a.getAttribute('data-condition'); }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "visible", { - get: function () { return !this.li.hasAttribute('hidden'); }, - set: function (value) { - if (value) { - this.li.removeAttribute('hidden'); - this.li.removeAttribute('aria-hidden'); - } - else { - this.li.setAttribute('hidden', 'hidden'); - this.li.setAttribute('aria-hidden', 'true'); - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Tab.prototype, "selected", { - get: function () { return !this.section.hasAttribute('hidden'); }, - set: function (value) { - if (value) { - this.a.setAttribute('aria-selected', 'true'); - this.a.tabIndex = 0; - this.section.removeAttribute('hidden'); - this.section.removeAttribute('aria-hidden'); - } - else { - this.a.setAttribute('aria-selected', 'false'); - this.a.tabIndex = -1; - this.section.setAttribute('hidden', 'hidden'); - this.section.setAttribute('aria-hidden', 'true'); - } - }, - enumerable: true, - configurable: true - }); - Tab.prototype.focus = function () { - this.a.focus(); - }; - return Tab; - }()); - - initTabs(document.body); - - function initTabs(container) { - var queryStringTabs = readTabsQueryStringParam(); - var elements = container.querySelectorAll('.tabGroup'); - var state = { groups: [], selectedTabs: [] }; - for (var i = 0; i < elements.length; i++) { - var group = initTabGroup(elements.item(i)); - if (!group.independent) { - updateVisibilityAndSelection(group, state); - state.groups.push(group); - } - } - container.addEventListener('click', function (event) { return handleClick(event, state); }); - if (state.groups.length === 0) { - return state; - } - selectTabs(queryStringTabs, container); - updateTabsQueryStringParam(state); - notifyContentUpdated(); - return state; - } - - function initTabGroup(element) { - var group = { - independent: element.hasAttribute('data-tab-group-independent'), - tabs: [] - }; - var li = element.firstElementChild.firstElementChild; - while (li) { - var a = li.firstElementChild; - a.setAttribute(contentAttrs.name, 'tab'); - var dataTab = a.getAttribute('data-tab').replace(/\+/g, ' '); - a.setAttribute('data-tab', dataTab); - var section = element.querySelector("[id=\"" + a.getAttribute('aria-controls') + "\"]"); - var tab = new Tab(li, a, section); - group.tabs.push(tab); - li = li.nextElementSibling; - } - element.setAttribute(contentAttrs.name, 'tab-group'); - element.tabGroup = group; - return group; - } - - function updateVisibilityAndSelection(group, state) { - var anySelected = false; - var firstVisibleTab; - for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { - var tab = _a[_i]; - tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1; - if (tab.visible) { - if (!firstVisibleTab) { - firstVisibleTab = tab; - } - } - tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds); - anySelected = anySelected || tab.selected; - } - if (!anySelected) { - for (var _b = 0, _c = group.tabs; _b < _c.length; _b++) { - var tabIds = _c[_b].tabIds; - for (var _d = 0, tabIds_1 = tabIds; _d < tabIds_1.length; _d++) { - var tabId = tabIds_1[_d]; - var index = state.selectedTabs.indexOf(tabId); - if (index === -1) { - continue; - } - state.selectedTabs.splice(index, 1); - } - } - var tab = firstVisibleTab; - tab.selected = true; - state.selectedTabs.push(tab.tabIds[0]); - } - } - - function getTabInfoFromEvent(event) { - if (!(event.target instanceof HTMLElement)) { - return null; - } - var anchor = event.target.closest('a[data-tab]'); - if (anchor === null) { - return null; - } - var tabIds = anchor.getAttribute('data-tab').split(' '); - var group = anchor.parentElement.parentElement.parentElement.tabGroup; - if (group === undefined) { - return null; - } - return { tabIds: tabIds, group: group, anchor: anchor }; - } - - function handleClick(event, state) { - var info = getTabInfoFromEvent(event); - if (info === null) { - return; - } - event.preventDefault(); - info.anchor.href = 'javascript:'; - setTimeout(function () { return info.anchor.href = '#' + info.anchor.getAttribute('aria-controls'); }); - var tabIds = info.tabIds, group = info.group; - var originalTop = info.anchor.getBoundingClientRect().top; - if (group.independent) { - for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { - var tab = _a[_i]; - tab.selected = arraysIntersect(tab.tabIds, tabIds); - } - } - else { - if (arraysIntersect(state.selectedTabs, tabIds)) { - return; - } - var previousTabId = group.tabs.filter(function (t) { return t.selected; })[0].tabIds[0]; - state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]); - for (var _b = 0, _c = state.groups; _b < _c.length; _b++) { - var group_1 = _c[_b]; - updateVisibilityAndSelection(group_1, state); - } - updateTabsQueryStringParam(state); - } - notifyContentUpdated(); - var top = info.anchor.getBoundingClientRect().top; - if (top !== originalTop && event instanceof MouseEvent) { - window.scrollTo(0, window.pageYOffset + top - originalTop); - } - } - - function selectTabs(tabIds) { - for (var _i = 0, tabIds_1 = tabIds; _i < tabIds_1.length; _i++) { - var tabId = tabIds_1[_i]; - var a = document.querySelector(".tabGroup > ul > li > a[data-tab=\"" + tabId + "\"]:not([hidden])"); - if (a === null) { - return; - } - a.dispatchEvent(new CustomEvent('click', { bubbles: true })); - } - } - - function readTabsQueryStringParam() { - var qs = parseQueryString(window.location.search); - var t = qs.tabs; - if (t === undefined || t === '') { - return []; - } - return t.split(','); - } - - function updateTabsQueryStringParam(state) { - var qs = parseQueryString(window.location.search); - qs.tabs = state.selectedTabs.join(); - var url = location.protocol + "//" + location.host + location.pathname + "?" + toQueryString(qs) + location.hash; - if (location.href === url) { - return; - } - history.replaceState({}, document.title, url); - } - - function toQueryString(args) { - var parts = []; - for (var name_1 in args) { - if (args.hasOwnProperty(name_1) && args[name_1] !== '' && args[name_1] !== null && args[name_1] !== undefined) { - parts.push(encodeURIComponent(name_1) + '=' + encodeURIComponent(args[name_1])); - } - } - return parts.join('&'); - } - - function parseQueryString(queryString) { - var match; - var pl = /\+/g; - var search = /([^&=]+)=?([^&]*)/g; - var decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')); }; - if (queryString === undefined) { - queryString = ''; - } - queryString = queryString.substring(1); - var urlParams = {}; - while (match = search.exec(queryString)) { - urlParams[decode(match[1])] = decode(match[2]); - } - return urlParams; - } - - function arraysIntersect(a, b) { - for (var _i = 0, a_1 = a; _i < a_1.length; _i++) { - var itemA = a_1[_i]; - for (var _a = 0, b_1 = b; _a < b_1.length; _a++) { - var itemB = b_1[_a]; - if (itemA === itemB) { - return true; - } - } - } - return false; - } - - function notifyContentUpdated() { - // Dispatch this event when needed - // window.dispatchEvent(new CustomEvent('content-update')); - } - } - - function utility() { - this.getAbsolutePath = getAbsolutePath; - this.isRelativePath = isRelativePath; - this.isAbsolutePath = isAbsolutePath; - this.getCurrentWindowAbsolutePath = getCurrentWindowAbsolutePath; - this.getDirectory = getDirectory; - this.formList = formList; - - function getAbsolutePath(href) { - if (isAbsolutePath(href)) return href; - var currentAbsPath = getCurrentWindowAbsolutePath(); - var stack = currentAbsPath.split("/"); - stack.pop(); - var parts = href.split("/"); - for (var i=0; i< parts.length; i++) { - if (parts[i] == ".") continue; - if (parts[i] == ".." && stack.length > 0) - stack.pop(); - else - stack.push(parts[i]); - } - var p = stack.join("/"); - return p; - } - - function isRelativePath(href) { - if (href === undefined || href === '' || href[0] === '/') { - return false; - } - return !isAbsolutePath(href); - } - - function isAbsolutePath(href) { - return (/^(?:[a-z]+:)?\/\//i).test(href); - } - - function getCurrentWindowAbsolutePath() { - return window.location.origin + window.location.pathname; - } - function getDirectory(href) { - if (!href) return ''; - var index = href.lastIndexOf('/'); - if (index == -1) return ''; - if (index > -1) { - return href.substr(0, index); - } - } - - function formList(item, classes) { - var level = 1; - var model = { - items: item - }; - var cls = [].concat(classes).join(" "); - return getList(model, cls); - - function getList(model, cls) { - if (!model || !model.items) return null; - var l = model.items.length; - if (l === 0) return null; - var html = ''; - return html; - } - } - - /** - * Add into long word. - * @param {String} text - The word to break. It should be in plain text without HTML tags. - */ - function breakPlainText(text) { - if (!text) return text; - return text.replace(/([a-z])([A-Z])|(\.)(\w)/g, '$1$3$2$4') - } - - /** - * Add into long word. The jQuery element should contain no html tags. - * If the jQuery element contains tags, this function will not change the element. - */ - $.fn.breakWord = function () { - if (!this.html().match(/(<\w*)((\s\/>)|(.*<\/\w*>))/g)) { - this.html(function (index, text) { - return breakPlainText(text); - }) - } - return this; - } - } - - // adjusted from https://stackoverflow.com/a/13067009/1523776 - function workAroundFixedHeaderForAnchors() { - var HISTORY_SUPPORT = !!(history && history.pushState); - var ANCHOR_REGEX = /^#[^ ]+$/; - - function getFixedOffset() { - return $('header').first().height(); - } - - /** - * If the provided href is an anchor which resolves to an element on the - * page, scroll to it. - * @param {String} href - * @return {Boolean} - Was the href an anchor. - */ - function scrollIfAnchor(href, pushToHistory) { - var match, rect, anchorOffset; - - if (!ANCHOR_REGEX.test(href)) { - return false; - } - - match = document.getElementById(href.slice(1)); - - if (match) { - rect = match.getBoundingClientRect(); - anchorOffset = window.pageYOffset + rect.top - getFixedOffset(); - window.scrollTo(window.pageXOffset, anchorOffset); - - // Add the state to history as-per normal anchor links - if (HISTORY_SUPPORT && pushToHistory) { - history.pushState({}, document.title, location.pathname + href); - } - } - - return !!match; - } - - /** - * Attempt to scroll to the current location's hash. - */ - function scrollToCurrent() { - scrollIfAnchor(window.location.hash); - } - - /** - * If the click event's target was an anchor, fix the scroll position. - */ - function delegateAnchors(e) { - var elem = e.target; - - if (scrollIfAnchor(elem.getAttribute('href'), true)) { - e.preventDefault(); - } - } - - $(window).on('hashchange', scrollToCurrent); - - $(window).on('load', function () { - // scroll to the anchor if present, offset by the header - scrollToCurrent(); - }); - - $(document).ready(function () { - // Exclude tabbed content case - $('a:not([data-tab])').click(function (e) { delegateAnchors(e); }); - }); - } -}); +// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. +$(function () { + var active = 'active'; + var expanded = 'in'; + var collapsed = 'collapsed'; + var filtered = 'filtered'; + var show = 'show'; + var hide = 'hide'; + var util = new utility(); + + workAroundFixedHeaderForAnchors(); + highlight(); + enableSearch(); + + renderTables(); + renderAlerts(); + renderLinks(); + renderNavbar(); + renderSidebar(); + renderAffix(); + renderFooter(); + renderLogo(); + + breakText(); + renderTabs(); + + window.refresh = function (article) { + // Update markup result + if (typeof article == 'undefined' || typeof article.content == 'undefined') + console.error("Null Argument"); + $("article.content").html(article.content); + + highlight(); + renderTables(); + renderAlerts(); + renderAffix(); + renderTabs(); + } + + // Add this event listener when needed + // window.addEventListener('content-update', contentUpdate); + + function breakText() { + $(".xref").addClass("text-break"); + var texts = $(".text-break"); + texts.each(function () { + $(this).breakWord(); + }); + } + + // Styling for tables in conceptual documents using Bootstrap. + // See http://getbootstrap.com/css/#tables + function renderTables() { + $('table').addClass('table table-bordered table-condensed').wrap('
'); + } + + // Styling for alerts. + function renderAlerts() { + $('.NOTE, .TIP').addClass('alert alert-info'); + $('.WARNING').addClass('alert alert-warning'); + $('.IMPORTANT, .CAUTION').addClass('alert alert-danger'); + } + + // Enable anchors for headings. + (function () { + anchors.options = { + placement: 'left', + visible: 'hover' + }; + anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)'); + })(); + + // Open links to different host in a new window. + function renderLinks() { + if ($("meta[property='docfx:newtab']").attr("content") === "true") { + $(document.links).filter(function () { + return this.hostname !== window.location.hostname; + }).attr('target', '_blank'); + } + } + + // Enable highlight.js + function highlight() { + $('pre code').each(function (i, block) { + hljs.highlightElement(block); + }); + $('pre code[highlight-lines]').each(function (i, block) { + if (block.innerHTML === "") return; + var lines = block.innerHTML.split('\n'); + + queryString = block.getAttribute('highlight-lines'); + if (!queryString) return; + + var ranges = queryString.split(','); + for (var j = 0, range; range = ranges[j++];) { + var found = range.match(/^(\d+)\-(\d+)?$/); + if (found) { + // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional + var start = +found[1]; + var end = +found[2]; + if (isNaN(end) || end > lines.length) { + end = lines.length; + } + } else { + // consider region as a sigine line number + if (isNaN(range)) continue; + var start = +range; + var end = start; + } + if (start <= 0 || end <= 0 || start > end || start > lines.length) { + // skip current region if invalid + continue; + } + lines[start - 1] = '' + lines[start - 1]; + lines[end - 1] = lines[end - 1] + ''; + } + + block.innerHTML = lines.join('\n'); + }); + } + + // Support full-text-search + function enableSearch() { + var query; + var relHref = $("meta[property='docfx\\:rel']").attr("content"); + if (typeof relHref === 'undefined') { + return; + } + try { + var worker = new Worker(relHref + 'styles/search-worker.min.js'); + if (!worker && !window.worker) { + localSearch(); + } else { + webWorkerSearch(); + } + + renderSearchBox(); + highlightKeywords(); + addSearchEvent(); + } catch (e) { + console.error(e); + } + + //Adjust the position of search box in navbar + function renderSearchBox() { + autoCollapse(); + $(window).on('resize', autoCollapse); + $(document).on('click', '.navbar-collapse.in', function (e) { + if ($(e.target).is('a')) { + $(this).collapse('hide'); + } + }); + + function autoCollapse() { + var navbar = $('#autocollapse'); + if (navbar.height() === null) { + setTimeout(autoCollapse, 300); + } + navbar.removeClass(collapsed); + if (navbar.height() > 60) { + navbar.addClass(collapsed); + } + } + } + + // Search factory + function localSearch() { + console.log("using local search"); + var lunrIndex = lunr(function () { + this.ref('href'); + this.field('title', { boost: 50 }); + this.field('keywords', { boost: 20 }); + }); + lunr.tokenizer.seperator = /[\s\-\.]+/; + var searchData = {}; + var searchDataRequest = new XMLHttpRequest(); + + var indexPath = relHref + "index.json"; + if (indexPath) { + searchDataRequest.open('GET', indexPath); + searchDataRequest.onload = function () { + if (this.status != 200) { + return; + } + searchData = JSON.parse(this.responseText); + for (var prop in searchData) { + if (searchData.hasOwnProperty(prop)) { + lunrIndex.add(searchData[prop]); + } + } + } + searchDataRequest.send(); + } + + $("body").bind("queryReady", function () { + var hits = lunrIndex.search(query); + var results = []; + hits.forEach(function (hit) { + var item = searchData[hit.ref]; + results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords }); + }); + handleSearchResults(results); + }); + } + + function webWorkerSearch() { + console.log("using Web Worker"); + var indexReady = $.Deferred(); + + worker.onmessage = function (oEvent) { + switch (oEvent.data.e) { + case 'index-ready': + indexReady.resolve(); + break; + case 'query-ready': + var hits = oEvent.data.d; + handleSearchResults(hits); + break; + } + } + + indexReady.promise().done(function () { + $("body").bind("queryReady", function () { + worker.postMessage({ q: query }); + }); + if (query && (query.length >= 3)) { + worker.postMessage({ q: query }); + } + }); + } + + // Highlight the searching keywords + function highlightKeywords() { + var q = url('?q'); + if (q) { + var keywords = q.split("%20"); + keywords.forEach(function (keyword) { + if (keyword !== "") { + $('.data-searchable *').mark(keyword); + $('article *').mark(keyword); + } + }); + } + } + + function addSearchEvent() { + $('body').bind("searchEvent", function () { + $('#search-query').keypress(function (e) { + return e.which !== 13; + }); + + $('#search-query').keyup(function () { + query = $(this).val(); + if (query.length < 3) { + flipContents("show"); + } else { + flipContents("hide"); + $("body").trigger("queryReady"); + $('#search-results>.search-list>span').text('"' + query + '"'); + } + }).off("keydown"); + }); + } + + function flipContents(action) { + if (action === "show") { + $('.hide-when-search').show(); + $('#search-results').hide(); + } else { + $('.hide-when-search').hide(); + $('#search-results').show(); + } + } + + function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) { + var currentItems = currentUrl.split(/\/+/); + var relativeItems = relativeUrl.split(/\/+/); + var depth = currentItems.length - 1; + var items = []; + for (var i = 0; i < relativeItems.length; i++) { + if (relativeItems[i] === '..') { + depth--; + } else if (relativeItems[i] !== '.') { + items.push(relativeItems[i]); + } + } + return currentItems.slice(0, depth).concat(items).join('/'); + } + + function extractContentBrief(content) { + var briefOffset = 512; + var words = query.split(/\s+/g); + var queryIndex = content.indexOf(words[0]); + var briefContent; + if (queryIndex > briefOffset) { + return "..." + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + "..."; + } else if (queryIndex <= briefOffset) { + return content.slice(0, queryIndex + briefOffset) + "..."; + } + } + + function handleSearchResults(hits) { + var numPerPage = 10; + var pagination = $('#pagination'); + pagination.empty(); + pagination.removeData("twbs-pagination"); + if (hits.length === 0) { + $('#search-results>.sr-items').html('

No results found

'); + } else { + pagination.twbsPagination({ + first: pagination.data('first'), + prev: pagination.data('prev'), + next: pagination.data('next'), + last: pagination.data('last'), + totalPages: Math.ceil(hits.length / numPerPage), + visiblePages: 5, + onPageClick: function (event, page) { + var start = (page - 1) * numPerPage; + var curHits = hits.slice(start, start + numPerPage); + $('#search-results>.sr-items').empty().append( + curHits.map(function (hit) { + var currentUrl = window.location.href; + var itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href); + var itemHref = relHref + hit.href + "?q=" + query; + var itemTitle = hit.title; + var itemBrief = extractContentBrief(hit.keywords); + + var itemNode = $('
').attr('class', 'sr-item'); + var itemTitleNode = $('
').attr('class', 'item-title').append($('').attr('href', itemHref).attr("target", "_blank").attr("rel", "noopener noreferrer").text(itemTitle)); + var itemHrefNode = $('
').attr('class', 'item-href').text(itemRawHref); + var itemBriefNode = $('
').attr('class', 'item-brief').text(itemBrief); + itemNode.append(itemTitleNode).append(itemHrefNode).append(itemBriefNode); + return itemNode; + }) + ); + query.split(/\s+/).forEach(function (word) { + if (word !== '') { + $('#search-results>.sr-items *').mark(word); + } + }); + } + }); + } + } + }; + + // Update href in navbar + function renderNavbar() { + var navbar = $('#navbar ul')[0]; + if (typeof (navbar) === 'undefined') { + loadNavbar(); + } else { + $('#navbar ul a.active').parents('li').addClass(active); + renderBreadcrumb(); + showSearch(); + } + + function showSearch() { + if ($('#search-results').length !== 0) { + $('#search').show(); + $('body').trigger("searchEvent"); + } + } + + function loadNavbar() { + var navbarPath = $("meta[property='docfx\\:navrel']").attr("content"); + if (!navbarPath) { + return; + } + navbarPath = navbarPath.replace(/\\/g, '/'); + var tocPath = $("meta[property='docfx\\:tocrel']").attr("content") || ''; + if (tocPath) tocPath = tocPath.replace(/\\/g, '/'); + $.get(navbarPath, function (data) { + $(data).find("#toc>ul").appendTo("#navbar"); + showSearch(); + var index = navbarPath.lastIndexOf('/'); + var navrel = ''; + if (index > -1) { + navrel = navbarPath.substr(0, index + 1); + } + $('#navbar>ul').addClass('navbar-nav'); + var currentAbsPath = util.getCurrentWindowAbsolutePath(); + // set active item + $('#navbar').find('a[href]').each(function (i, e) { + var href = $(e).attr("href"); + if (util.isRelativePath(href)) { + href = navrel + href; + $(e).attr("href", href); + + var isActive = false; + var originalHref = e.name; + if (originalHref) { + originalHref = navrel + originalHref; + if (util.getDirectory(util.getAbsolutePath(originalHref)) === util.getDirectory(util.getAbsolutePath(tocPath))) { + isActive = true; + } + } else { + if (util.getAbsolutePath(href) === currentAbsPath) { + var dropdown = $(e).attr('data-toggle') == "dropdown" + if (!dropdown) { + isActive = true; + } + } + } + if (isActive) { + $(e).addClass(active); + } + } + }); + renderNavbar(); + }); + } + } + + function renderSidebar() { + var sidetoc = $('#sidetoggle .sidetoc')[0]; + if (typeof (sidetoc) === 'undefined') { + loadToc(); + } else { + registerTocEvents(); + if ($('footer').is(':visible')) { + $('.sidetoc').addClass('shiftup'); + } + + // Scroll to active item + var top = 0; + $('#toc a.active').parents('li').each(function (i, e) { + $(e).addClass(active).addClass(expanded); + $(e).children('a').addClass(active); + }) + $('#toc a.active').parents('li').each(function (i, e) { + top += $(e).position().top; + }) + $('.sidetoc').scrollTop(top - 50); + + if ($('footer').is(':visible')) { + $('.sidetoc').addClass('shiftup'); + } + + renderBreadcrumb(); + } + + function registerTocEvents() { + var tocFilterInput = $('#toc_filter_input'); + var tocFilterClearButton = $('#toc_filter_clear'); + + $('.toc .nav > li > .expand-stub').click(function (e) { + $(e.target).parent().toggleClass(expanded); + }); + $('.toc .nav > li > .expand-stub + a:not([href])').click(function (e) { + $(e.target).parent().toggleClass(expanded); + }); + tocFilterInput.on('input', function (e) { + var val = this.value; + //Save filter string to local session storage + if (typeof(Storage) !== "undefined") { + try { + sessionStorage.filterString = val; + } + catch(e) + {} + } + if (val === '') { + // Clear 'filtered' class + $('#toc li').removeClass(filtered).removeClass(hide); + tocFilterClearButton.fadeOut(); + return; + } + tocFilterClearButton.fadeIn(); + + // set all parent nodes status + $('#toc li>a').filter(function (i, e) { + return $(e).siblings().length > 0 + }).each(function (i, anchor) { + var parent = $(anchor).parent(); + parent.addClass(hide); + parent.removeClass(show); + parent.removeClass(filtered); + }) + + // Get leaf nodes + $('#toc li>a').filter(function (i, e) { + return $(e).siblings().length === 0 + }).each(function (i, anchor) { + var text = $(anchor).attr('title'); + var parent = $(anchor).parent(); + var parentNodes = parent.parents('ul>li'); + for (var i = 0; i < parentNodes.length; i++) { + var parentText = $(parentNodes[i]).children('a').attr('title'); + if (parentText) text = parentText + '.' + text; + }; + if (filterNavItem(text, val)) { + parent.addClass(show); + parent.removeClass(hide); + } else { + parent.addClass(hide); + parent.removeClass(show); + } + }); + $('#toc li>a').filter(function (i, e) { + return $(e).siblings().length > 0 + }).each(function (i, anchor) { + var parent = $(anchor).parent(); + if (parent.find('li.show').length > 0) { + parent.addClass(show); + parent.addClass(filtered); + parent.removeClass(hide); + } else { + parent.addClass(hide); + parent.removeClass(show); + parent.removeClass(filtered); + } + }) + + function filterNavItem(name, text) { + if (!text) return true; + if (name && name.toLowerCase().indexOf(text.toLowerCase()) > -1) return true; + return false; + } + }); + + // toc filter clear button + tocFilterClearButton.hide(); + tocFilterClearButton.on("click", function(e){ + tocFilterInput.val(""); + tocFilterInput.trigger('input'); + if (typeof(Storage) !== "undefined") { + try { + sessionStorage.filterString = ""; + } + catch(e) + {} + } + }); + + //Set toc filter from local session storage on page load + if (typeof(Storage) !== "undefined") { + try { + tocFilterInput.val(sessionStorage.filterString); + tocFilterInput.trigger('input'); + } + catch(e) + {} + } + } + + function loadToc() { + var tocPath = $("meta[property='docfx\\:tocrel']").attr("content"); + if (!tocPath) { + return; + } + tocPath = tocPath.replace(/\\/g, '/'); + $('#sidetoc').load(tocPath + " #sidetoggle > div", function () { + var index = tocPath.lastIndexOf('/'); + var tocrel = ''; + if (index > -1) { + tocrel = tocPath.substr(0, index + 1); + } + var currentHref = util.getCurrentWindowAbsolutePath(); + if(!currentHref.endsWith('.html')) { + currentHref += '.html'; + } + $('#sidetoc').find('a[href]').each(function (i, e) { + var href = $(e).attr("href"); + if (util.isRelativePath(href)) { + href = tocrel + href; + $(e).attr("href", href); + } + + if (util.getAbsolutePath(e.href) === currentHref) { + $(e).addClass(active); + } + + $(e).breakWord(); + }); + + renderSidebar(); + }); + } + } + + function renderBreadcrumb() { + var breadcrumb = []; + $('#navbar a.active').each(function (i, e) { + breadcrumb.push({ + href: e.href, + name: e.innerHTML + }); + }) + $('#toc a.active').each(function (i, e) { + breadcrumb.push({ + href: e.href, + name: e.innerHTML + }); + }) + + var html = util.formList(breadcrumb, 'breadcrumb'); + $('#breadcrumb').html(html); + } + + //Setup Affix + function renderAffix() { + var hierarchy = getHierarchy(); + if (!hierarchy || hierarchy.length <= 0) { + $("#affix").hide(); + } + else { + var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']); + $("#affix>div").empty().append(html); + if ($('footer').is(':visible')) { + $(".sideaffix").css("bottom", "70px"); + } + $('#affix a').click(function(e) { + var scrollspy = $('[data-spy="scroll"]').data()['bs.scrollspy']; + var target = e.target.hash; + if (scrollspy && target) { + scrollspy.activate(target); + } + }); + } + + function getHierarchy() { + // supported headers are h1, h2, h3, and h4 + var $headers = $($.map(['h1', 'h2', 'h3', 'h4'], function (h) { return ".article article " + h; }).join(", ")); + + // a stack of hierarchy items that are currently being built + var stack = []; + $headers.each(function (i, e) { + if (!e.id) { + return; + } + + var item = { + name: htmlEncode($(e).text()), + href: "#" + e.id, + items: [] + }; + + if (!stack.length) { + stack.push({ type: e.tagName, siblings: [item] }); + return; + } + + var frame = stack[stack.length - 1]; + if (e.tagName === frame.type) { + frame.siblings.push(item); + } else if (e.tagName[1] > frame.type[1]) { + // we are looking at a child of the last element of frame.siblings. + // push a frame onto the stack. After we've finished building this item's children, + // we'll attach it as a child of the last element + stack.push({ type: e.tagName, siblings: [item] }); + } else { // e.tagName[1] < frame.type[1] + // we are looking at a sibling of an ancestor of the current item. + // pop frames from the stack, building items as we go, until we reach the correct level at which to attach this item. + while (e.tagName[1] < stack[stack.length - 1].type[1]) { + buildParent(); + } + if (e.tagName === stack[stack.length - 1].type) { + stack[stack.length - 1].siblings.push(item); + } else { + stack.push({ type: e.tagName, siblings: [item] }); + } + } + }); + while (stack.length > 1) { + buildParent(); + } + + function buildParent() { + var childrenToAttach = stack.pop(); + var parentFrame = stack[stack.length - 1]; + var parent = parentFrame.siblings[parentFrame.siblings.length - 1]; + $.each(childrenToAttach.siblings, function (i, child) { + parent.items.push(child); + }); + } + if (stack.length > 0) { + + var topLevel = stack.pop().siblings; + if (topLevel.length === 1) { // if there's only one topmost header, dump it + return topLevel[0].items; + } + return topLevel; + } + return undefined; + } + + function htmlEncode(str) { + if (!str) return str; + return str + .replace(/&/g, '&') + .replace(/"/g, '"') + .replace(/'/g, ''') + .replace(//g, '>'); + } + + function htmlDecode(value) { + if (!str) return str; + return value + .replace(/"/g, '"') + .replace(/'/g, "'") + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/&/g, '&'); + } + + function cssEscape(str) { + // see: http://stackoverflow.com/questions/2786538/need-to-escape-a-special-character-in-a-jquery-selector-string#answer-2837646 + if (!str) return str; + return str + .replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\$&"); + } + } + + // Show footer + function renderFooter() { + initFooter(); + $(window).on("scroll", showFooterCore); + + function initFooter() { + if (needFooter()) { + shiftUpBottomCss(); + $("footer").show(); + } else { + resetBottomCss(); + $("footer").hide(); + } + } + + function showFooterCore() { + if (needFooter()) { + shiftUpBottomCss(); + $("footer").fadeIn(); + } else { + resetBottomCss(); + $("footer").fadeOut(); + } + } + + function needFooter() { + var scrollHeight = $(document).height(); + var scrollPosition = $(window).height() + $(window).scrollTop(); + return (scrollHeight - scrollPosition) < 1; + } + + function resetBottomCss() { + $(".sidetoc").removeClass("shiftup"); + $(".sideaffix").removeClass("shiftup"); + } + + function shiftUpBottomCss() { + $(".sidetoc").addClass("shiftup"); + $(".sideaffix").addClass("shiftup"); + } + } + + function renderLogo() { + // For LOGO SVG + // Replace SVG with inline SVG + // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement + jQuery('img.svg').each(function () { + var $img = jQuery(this); + var imgID = $img.attr('id'); + var imgClass = $img.attr('class'); + var imgURL = $img.attr('src'); + + jQuery.get(imgURL, function (data) { + // Get the SVG tag, ignore the rest + var $svg = jQuery(data).find('svg'); + + // Add replaced image's ID to the new SVG + if (typeof imgID !== 'undefined') { + $svg = $svg.attr('id', imgID); + } + // Add replaced image's classes to the new SVG + if (typeof imgClass !== 'undefined') { + $svg = $svg.attr('class', imgClass + ' replaced-svg'); + } + + // Remove any invalid XML tags as per http://validator.w3.org + $svg = $svg.removeAttr('xmlns:a'); + + // Replace image with new SVG + $img.replaceWith($svg); + + }, 'xml'); + }); + } + + function renderTabs() { + var contentAttrs = { + id: 'data-bi-id', + name: 'data-bi-name', + type: 'data-bi-type' + }; + + var Tab = (function () { + function Tab(li, a, section) { + this.li = li; + this.a = a; + this.section = section; + } + Object.defineProperty(Tab.prototype, "tabIds", { + get: function () { return this.a.getAttribute('data-tab').split(' '); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tab.prototype, "condition", { + get: function () { return this.a.getAttribute('data-condition'); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tab.prototype, "visible", { + get: function () { return !this.li.hasAttribute('hidden'); }, + set: function (value) { + if (value) { + this.li.removeAttribute('hidden'); + this.li.removeAttribute('aria-hidden'); + } + else { + this.li.setAttribute('hidden', 'hidden'); + this.li.setAttribute('aria-hidden', 'true'); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tab.prototype, "selected", { + get: function () { return !this.section.hasAttribute('hidden'); }, + set: function (value) { + if (value) { + this.a.setAttribute('aria-selected', 'true'); + this.a.tabIndex = 0; + this.section.removeAttribute('hidden'); + this.section.removeAttribute('aria-hidden'); + } + else { + this.a.setAttribute('aria-selected', 'false'); + this.a.tabIndex = -1; + this.section.setAttribute('hidden', 'hidden'); + this.section.setAttribute('aria-hidden', 'true'); + } + }, + enumerable: true, + configurable: true + }); + Tab.prototype.focus = function () { + this.a.focus(); + }; + return Tab; + }()); + + initTabs(document.body); + + function initTabs(container) { + var queryStringTabs = readTabsQueryStringParam(); + var elements = container.querySelectorAll('.tabGroup'); + var state = { groups: [], selectedTabs: [] }; + for (var i = 0; i < elements.length; i++) { + var group = initTabGroup(elements.item(i)); + if (!group.independent) { + updateVisibilityAndSelection(group, state); + state.groups.push(group); + } + } + container.addEventListener('click', function (event) { return handleClick(event, state); }); + if (state.groups.length === 0) { + return state; + } + selectTabs(queryStringTabs, container); + updateTabsQueryStringParam(state); + notifyContentUpdated(); + return state; + } + + function initTabGroup(element) { + var group = { + independent: element.hasAttribute('data-tab-group-independent'), + tabs: [] + }; + var li = element.firstElementChild.firstElementChild; + while (li) { + var a = li.firstElementChild; + a.setAttribute(contentAttrs.name, 'tab'); + var dataTab = a.getAttribute('data-tab').replace(/\+/g, ' '); + a.setAttribute('data-tab', dataTab); + var section = element.querySelector("[id=\"" + a.getAttribute('aria-controls') + "\"]"); + var tab = new Tab(li, a, section); + group.tabs.push(tab); + li = li.nextElementSibling; + } + element.setAttribute(contentAttrs.name, 'tab-group'); + element.tabGroup = group; + return group; + } + + function updateVisibilityAndSelection(group, state) { + var anySelected = false; + var firstVisibleTab; + for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { + var tab = _a[_i]; + tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1; + if (tab.visible) { + if (!firstVisibleTab) { + firstVisibleTab = tab; + } + } + tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds); + anySelected = anySelected || tab.selected; + } + if (!anySelected) { + for (var _b = 0, _c = group.tabs; _b < _c.length; _b++) { + var tabIds = _c[_b].tabIds; + for (var _d = 0, tabIds_1 = tabIds; _d < tabIds_1.length; _d++) { + var tabId = tabIds_1[_d]; + var index = state.selectedTabs.indexOf(tabId); + if (index === -1) { + continue; + } + state.selectedTabs.splice(index, 1); + } + } + var tab = firstVisibleTab; + tab.selected = true; + state.selectedTabs.push(tab.tabIds[0]); + } + } + + function getTabInfoFromEvent(event) { + if (!(event.target instanceof HTMLElement)) { + return null; + } + var anchor = event.target.closest('a[data-tab]'); + if (anchor === null) { + return null; + } + var tabIds = anchor.getAttribute('data-tab').split(' '); + var group = anchor.parentElement.parentElement.parentElement.tabGroup; + if (group === undefined) { + return null; + } + return { tabIds: tabIds, group: group, anchor: anchor }; + } + + function handleClick(event, state) { + var info = getTabInfoFromEvent(event); + if (info === null) { + return; + } + event.preventDefault(); + info.anchor.href = 'javascript:'; + setTimeout(function () { return info.anchor.href = '#' + info.anchor.getAttribute('aria-controls'); }); + var tabIds = info.tabIds, group = info.group; + var originalTop = info.anchor.getBoundingClientRect().top; + if (group.independent) { + for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) { + var tab = _a[_i]; + tab.selected = arraysIntersect(tab.tabIds, tabIds); + } + } + else { + if (arraysIntersect(state.selectedTabs, tabIds)) { + return; + } + var previousTabId = group.tabs.filter(function (t) { return t.selected; })[0].tabIds[0]; + state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]); + for (var _b = 0, _c = state.groups; _b < _c.length; _b++) { + var group_1 = _c[_b]; + updateVisibilityAndSelection(group_1, state); + } + updateTabsQueryStringParam(state); + } + notifyContentUpdated(); + var top = info.anchor.getBoundingClientRect().top; + if (top !== originalTop && event instanceof MouseEvent) { + window.scrollTo(0, window.pageYOffset + top - originalTop); + } + } + + function selectTabs(tabIds) { + for (var _i = 0, tabIds_1 = tabIds; _i < tabIds_1.length; _i++) { + var tabId = tabIds_1[_i]; + var a = document.querySelector(".tabGroup > ul > li > a[data-tab=\"" + tabId + "\"]:not([hidden])"); + if (a === null) { + return; + } + a.dispatchEvent(new CustomEvent('click', { bubbles: true })); + } + } + + function readTabsQueryStringParam() { + var qs = parseQueryString(window.location.search); + var t = qs.tabs; + if (t === undefined || t === '') { + return []; + } + return t.split(','); + } + + function updateTabsQueryStringParam(state) { + var qs = parseQueryString(window.location.search); + qs.tabs = state.selectedTabs.join(); + var url = location.protocol + "//" + location.host + location.pathname + "?" + toQueryString(qs) + location.hash; + if (location.href === url) { + return; + } + history.replaceState({}, document.title, url); + } + + function toQueryString(args) { + var parts = []; + for (var name_1 in args) { + if (args.hasOwnProperty(name_1) && args[name_1] !== '' && args[name_1] !== null && args[name_1] !== undefined) { + parts.push(encodeURIComponent(name_1) + '=' + encodeURIComponent(args[name_1])); + } + } + return parts.join('&'); + } + + function parseQueryString(queryString) { + var match; + var pl = /\+/g; + var search = /([^&=]+)=?([^&]*)/g; + var decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')); }; + if (queryString === undefined) { + queryString = ''; + } + queryString = queryString.substring(1); + var urlParams = {}; + while (match = search.exec(queryString)) { + urlParams[decode(match[1])] = decode(match[2]); + } + return urlParams; + } + + function arraysIntersect(a, b) { + for (var _i = 0, a_1 = a; _i < a_1.length; _i++) { + var itemA = a_1[_i]; + for (var _a = 0, b_1 = b; _a < b_1.length; _a++) { + var itemB = b_1[_a]; + if (itemA === itemB) { + return true; + } + } + } + return false; + } + + function notifyContentUpdated() { + // Dispatch this event when needed + // window.dispatchEvent(new CustomEvent('content-update')); + } + } + + function utility() { + this.getAbsolutePath = getAbsolutePath; + this.isRelativePath = isRelativePath; + this.isAbsolutePath = isAbsolutePath; + this.getCurrentWindowAbsolutePath = getCurrentWindowAbsolutePath; + this.getDirectory = getDirectory; + this.formList = formList; + + function getAbsolutePath(href) { + if (isAbsolutePath(href)) return href; + var currentAbsPath = getCurrentWindowAbsolutePath(); + var stack = currentAbsPath.split("/"); + stack.pop(); + var parts = href.split("/"); + for (var i=0; i< parts.length; i++) { + if (parts[i] == ".") continue; + if (parts[i] == ".." && stack.length > 0) + stack.pop(); + else + stack.push(parts[i]); + } + var p = stack.join("/"); + return p; + } + + function isRelativePath(href) { + if (href === undefined || href === '' || href[0] === '/') { + return false; + } + return !isAbsolutePath(href); + } + + function isAbsolutePath(href) { + return (/^(?:[a-z]+:)?\/\//i).test(href); + } + + function getCurrentWindowAbsolutePath() { + return window.location.origin + window.location.pathname; + } + function getDirectory(href) { + if (!href) return ''; + var index = href.lastIndexOf('/'); + if (index == -1) return ''; + if (index > -1) { + return href.substr(0, index); + } + } + + function formList(item, classes) { + var level = 1; + var model = { + items: item + }; + var cls = [].concat(classes).join(" "); + return getList(model, cls); + + function getList(model, cls) { + if (!model || !model.items) return null; + var l = model.items.length; + if (l === 0) return null; + var html = ''; + return html; + } + } + + /** + * Add into long word. + * @param {String} text - The word to break. It should be in plain text without HTML tags. + */ + function breakPlainText(text) { + if (!text) return text; + return text.replace(/([a-z])([A-Z])|(\.)(\w)/g, '$1$3$2$4') + } + + /** + * Add into long word. The jQuery element should contain no html tags. + * If the jQuery element contains tags, this function will not change the element. + */ + $.fn.breakWord = function () { + if (!this.html().match(/(<\w*)((\s\/>)|(.*<\/\w*>))/g)) { + this.html(function (index, text) { + return breakPlainText(text); + }) + } + return this; + } + } + + // adjusted from https://stackoverflow.com/a/13067009/1523776 + function workAroundFixedHeaderForAnchors() { + var HISTORY_SUPPORT = !!(history && history.pushState); + var ANCHOR_REGEX = /^#[^ ]+$/; + + function getFixedOffset() { + return $('header').first().height(); + } + + /** + * If the provided href is an anchor which resolves to an element on the + * page, scroll to it. + * @param {String} href + * @return {Boolean} - Was the href an anchor. + */ + function scrollIfAnchor(href, pushToHistory) { + var match, rect, anchorOffset; + + if (!ANCHOR_REGEX.test(href)) { + return false; + } + + match = document.getElementById(href.slice(1)); + + if (match) { + rect = match.getBoundingClientRect(); + anchorOffset = window.pageYOffset + rect.top - getFixedOffset(); + window.scrollTo(window.pageXOffset, anchorOffset); + + // Add the state to history as-per normal anchor links + if (HISTORY_SUPPORT && pushToHistory) { + history.pushState({}, document.title, location.pathname + href); + } + } + + return !!match; + } + + /** + * Attempt to scroll to the current location's hash. + */ + function scrollToCurrent() { + scrollIfAnchor(window.location.hash); + } + + /** + * If the click event's target was an anchor, fix the scroll position. + */ + function delegateAnchors(e) { + var elem = e.target; + + if (scrollIfAnchor(elem.getAttribute('href'), true)) { + e.preventDefault(); + } + } + + $(window).on('hashchange', scrollToCurrent); + + $(window).on('load', function () { + // scroll to the anchor if present, offset by the header + scrollToCurrent(); + }); + + $(document).ready(function () { + // Exclude tabbed content case + $('a:not([data-tab])').click(function (e) { delegateAnchors(e); }); + }); + } +}); diff --git a/docs/styles/main.js b/docs/styles/main.js index aeca70d..b716efe 100644 --- a/docs/styles/main.js +++ b/docs/styles/main.js @@ -1 +1 @@ -// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. +// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. diff --git a/docs/toc.html b/docs/toc.html index e77dcce..eb4dfd6 100644 --- a/docs/toc.html +++ b/docs/toc.html @@ -1,25 +1,25 @@ - -
-
-
-
- - - -
-
-
-
- - -
-
-
+ +
+
+
+
+ + + +
+
+
+
+ + +
+
+
\ No newline at end of file diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 8210b37..433aa99 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -1,15 +1,221 @@ -### YamlMime:XRefMap -sorted: true -references: -- uid: Discord - name: Discord - href: api/Discord.html - commentId: N:Discord - fullName: Discord - nameWithType: Discord -- uid: Discord.Class1 - name: Class1 - href: api/Discord.Class1.html - commentId: T:Discord.Class1 - fullName: Discord.Class1 - nameWithType: Class1 +### YamlMime:XRefMap +sorted: true +references: +- uid: Discord.Attribute + name: Discord.Attribute + href: api/Discord.Attribute.html + commentId: N:Discord.Attribute + fullName: Discord.Attribute + nameWithType: Discord.Attribute +- uid: Discord.Attribute.EventControllerAttribute`1 + name: EventControllerAttribute + href: api/Discord.Attribute.EventControllerAttribute-1.html + commentId: T:Discord.Attribute.EventControllerAttribute`1 + name.vb: EventControllerAttribute(Of T) + fullName: Discord.Attribute.EventControllerAttribute + fullName.vb: Discord.Attribute.EventControllerAttribute(Of T) + nameWithType: EventControllerAttribute + nameWithType.vb: EventControllerAttribute(Of T) +- uid: Discord.Attribute.EventControllerAttribute`1.#ctor(`0) + name: EventControllerAttribute(T) + href: api/Discord.Attribute.EventControllerAttribute-1.html#Discord_Attribute_EventControllerAttribute_1__ctor__0_ + commentId: M:Discord.Attribute.EventControllerAttribute`1.#ctor(`0) + name.vb: New(T) + fullName: Discord.Attribute.EventControllerAttribute.EventControllerAttribute(T) + fullName.vb: Discord.Attribute.EventControllerAttribute(Of T).New(T) + nameWithType: EventControllerAttribute.EventControllerAttribute(T) + nameWithType.vb: EventControllerAttribute(Of T).New(T) +- uid: Discord.Attribute.EventControllerAttribute`1.#ctor* + name: EventControllerAttribute + href: api/Discord.Attribute.EventControllerAttribute-1.html#Discord_Attribute_EventControllerAttribute_1__ctor_ + commentId: Overload:Discord.Attribute.EventControllerAttribute`1.#ctor + isSpec: "True" + name.vb: New + fullName: Discord.Attribute.EventControllerAttribute.EventControllerAttribute + fullName.vb: Discord.Attribute.EventControllerAttribute(Of T).New + nameWithType: EventControllerAttribute.EventControllerAttribute + nameWithType.vb: EventControllerAttribute(Of T).New +- uid: Discord.Attribute.EventControllerAttribute`1.Event + name: Event + href: api/Discord.Attribute.EventControllerAttribute-1.html#Discord_Attribute_EventControllerAttribute_1_Event + commentId: P:Discord.Attribute.EventControllerAttribute`1.Event + fullName: Discord.Attribute.EventControllerAttribute.Event + fullName.vb: Discord.Attribute.EventControllerAttribute(Of T).Event + nameWithType: EventControllerAttribute.Event + nameWithType.vb: EventControllerAttribute(Of T).Event +- uid: Discord.Attribute.EventControllerAttribute`1.Event* + name: Event + href: api/Discord.Attribute.EventControllerAttribute-1.html#Discord_Attribute_EventControllerAttribute_1_Event_ + commentId: Overload:Discord.Attribute.EventControllerAttribute`1.Event + isSpec: "True" + fullName: Discord.Attribute.EventControllerAttribute.Event + fullName.vb: Discord.Attribute.EventControllerAttribute(Of T).Event + nameWithType: EventControllerAttribute.Event + nameWithType.vb: EventControllerAttribute(Of T).Event +- uid: Discord.Controller + name: Discord.Controller + href: api/Discord.Controller.html + commentId: N:Discord.Controller + fullName: Discord.Controller + nameWithType: Discord.Controller +- uid: Discord.Controller.EventController + name: EventController + href: api/Discord.Controller.EventController.html + commentId: T:Discord.Controller.EventController + fullName: Discord.Controller.EventController + nameWithType: EventController +- uid: Discord.Controller.EventController.ExecuteController* + name: ExecuteController + href: api/Discord.Controller.EventController.html#Discord_Controller_EventController_ExecuteController_ + commentId: Overload:Discord.Controller.EventController.ExecuteController + isSpec: "True" + fullName: Discord.Controller.EventController.ExecuteController + nameWithType: EventController.ExecuteController +- uid: Discord.Controller.EventController.ExecuteController``1(System.String[],System.String,System.Object) + name: ExecuteController(string[], string, object) + href: api/Discord.Controller.EventController.html#Discord_Controller_EventController_ExecuteController__1_System_String___System_String_System_Object_ + commentId: M:Discord.Controller.EventController.ExecuteController``1(System.String[],System.String,System.Object) + name.vb: ExecuteController(Of T)(String(), String, Object) + fullName: Discord.Controller.EventController.ExecuteController(string[], string, object) + fullName.vb: Discord.Controller.EventController.ExecuteController(Of T)(String(), String, Object) + nameWithType: EventController.ExecuteController(string[], string, object) + nameWithType.vb: EventController.ExecuteController(Of T)(String(), String, Object) +- uid: Discord.Controller.EventController.InvokeEventControllerClass* + name: InvokeEventControllerClass + href: api/Discord.Controller.EventController.html#Discord_Controller_EventController_InvokeEventControllerClass_ + commentId: Overload:Discord.Controller.EventController.InvokeEventControllerClass + isSpec: "True" + fullName: Discord.Controller.EventController.InvokeEventControllerClass + nameWithType: EventController.InvokeEventControllerClass +- uid: Discord.Controller.EventController.InvokeEventControllerClass``2(System.String,System.Object) + name: InvokeEventControllerClass(string, object) + href: api/Discord.Controller.EventController.html#Discord_Controller_EventController_InvokeEventControllerClass__2_System_String_System_Object_ + commentId: M:Discord.Controller.EventController.InvokeEventControllerClass``2(System.String,System.Object) + name.vb: InvokeEventControllerClass(Of CLASS, ENUM)(String, Object) + fullName: Discord.Controller.EventController.InvokeEventControllerClass(string, object) + fullName.vb: Discord.Controller.EventController.InvokeEventControllerClass(Of CLASS, ENUM)(String, Object) + nameWithType: EventController.InvokeEventControllerClass(string, object) + nameWithType.vb: EventController.InvokeEventControllerClass(Of CLASS, ENUM)(String, Object) +- uid: Discord.Converter + name: Discord.Converter + href: api/Discord.Converter.html + commentId: N:Discord.Converter + fullName: Discord.Converter + nameWithType: Discord.Converter +- uid: Discord.Converter.InteractionFormatter + name: InteractionFormatter + href: api/Discord.Converter.InteractionFormatter.html + commentId: T:Discord.Converter.InteractionFormatter + fullName: Discord.Converter.InteractionFormatter + nameWithType: InteractionFormatter +- uid: Discord.Converter.InteractionFormatter.GetEnumFromId* + name: GetEnumFromId + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetEnumFromId_ + commentId: Overload:Discord.Converter.InteractionFormatter.GetEnumFromId + isSpec: "True" + fullName: Discord.Converter.InteractionFormatter.GetEnumFromId + nameWithType: InteractionFormatter.GetEnumFromId +- uid: Discord.Converter.InteractionFormatter.GetEnumFromId``1(System.String) + name: GetEnumFromId(string) + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetEnumFromId__1_System_String_ + commentId: M:Discord.Converter.InteractionFormatter.GetEnumFromId``1(System.String) + name.vb: GetEnumFromId(Of T)(String) + fullName: Discord.Converter.InteractionFormatter.GetEnumFromId(string) + fullName.vb: Discord.Converter.InteractionFormatter.GetEnumFromId(Of T)(String) + nameWithType: InteractionFormatter.GetEnumFromId(string) + nameWithType.vb: InteractionFormatter.GetEnumFromId(Of T)(String) +- uid: Discord.Converter.InteractionFormatter.GetFirstEnumFromId* + name: GetFirstEnumFromId + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetFirstEnumFromId_ + commentId: Overload:Discord.Converter.InteractionFormatter.GetFirstEnumFromId + isSpec: "True" + fullName: Discord.Converter.InteractionFormatter.GetFirstEnumFromId + nameWithType: InteractionFormatter.GetFirstEnumFromId +- uid: Discord.Converter.InteractionFormatter.GetFirstEnumFromId``1(System.String[]@) + name: GetFirstEnumFromId(ref string[]) + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetFirstEnumFromId__1_System_String____ + commentId: M:Discord.Converter.InteractionFormatter.GetFirstEnumFromId``1(System.String[]@) + name.vb: GetFirstEnumFromId(Of T)(String()) + fullName: Discord.Converter.InteractionFormatter.GetFirstEnumFromId(ref string[]) + fullName.vb: Discord.Converter.InteractionFormatter.GetFirstEnumFromId(Of T)(String()) + nameWithType: InteractionFormatter.GetFirstEnumFromId(ref string[]) + nameWithType.vb: InteractionFormatter.GetFirstEnumFromId(Of T)(String()) +- uid: Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove* + name: GetFirstEnumFromIdAndRemove + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetFirstEnumFromIdAndRemove_ + commentId: Overload:Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove + isSpec: "True" + fullName: Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove + nameWithType: InteractionFormatter.GetFirstEnumFromIdAndRemove +- uid: Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove``1(System.String[]@) + name: GetFirstEnumFromIdAndRemove(ref string[]) + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_GetFirstEnumFromIdAndRemove__1_System_String____ + commentId: M:Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove``1(System.String[]@) + name.vb: GetFirstEnumFromIdAndRemove(Of T)(String()) + fullName: Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove(ref string[]) + fullName.vb: Discord.Converter.InteractionFormatter.GetFirstEnumFromIdAndRemove(Of T)(String()) + nameWithType: InteractionFormatter.GetFirstEnumFromIdAndRemove(ref string[]) + nameWithType.vb: InteractionFormatter.GetFirstEnumFromIdAndRemove(Of T)(String()) +- uid: Discord.Converter.InteractionFormatter.TransformEnumsToId(System.Enum[]) + name: TransformEnumsToId(params Enum[]) + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_TransformEnumsToId_System_Enum___ + commentId: M:Discord.Converter.InteractionFormatter.TransformEnumsToId(System.Enum[]) + name.vb: TransformEnumsToId(ParamArray Enum()) + fullName: Discord.Converter.InteractionFormatter.TransformEnumsToId(params System.Enum[]) + fullName.vb: Discord.Converter.InteractionFormatter.TransformEnumsToId(ParamArray System.Enum()) + nameWithType: InteractionFormatter.TransformEnumsToId(params Enum[]) + nameWithType.vb: InteractionFormatter.TransformEnumsToId(ParamArray Enum()) +- uid: Discord.Converter.InteractionFormatter.TransformEnumsToId* + name: TransformEnumsToId + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_TransformEnumsToId_ + commentId: Overload:Discord.Converter.InteractionFormatter.TransformEnumsToId + isSpec: "True" + fullName: Discord.Converter.InteractionFormatter.TransformEnumsToId + nameWithType: InteractionFormatter.TransformEnumsToId +- uid: Discord.Converter.InteractionFormatter.TransformIdToEnums(System.String,System.Type[]) + name: TransformIdToEnums(string, params Type[]) + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_TransformIdToEnums_System_String_System_Type___ + commentId: M:Discord.Converter.InteractionFormatter.TransformIdToEnums(System.String,System.Type[]) + name.vb: TransformIdToEnums(String, ParamArray Type()) + fullName: Discord.Converter.InteractionFormatter.TransformIdToEnums(string, params System.Type[]) + fullName.vb: Discord.Converter.InteractionFormatter.TransformIdToEnums(String, ParamArray System.Type()) + nameWithType: InteractionFormatter.TransformIdToEnums(string, params Type[]) + nameWithType.vb: InteractionFormatter.TransformIdToEnums(String, ParamArray Type()) +- uid: Discord.Converter.InteractionFormatter.TransformIdToEnums* + name: TransformIdToEnums + href: api/Discord.Converter.InteractionFormatter.html#Discord_Converter_InteractionFormatter_TransformIdToEnums_ + commentId: Overload:Discord.Converter.InteractionFormatter.TransformIdToEnums + isSpec: "True" + fullName: Discord.Converter.InteractionFormatter.TransformIdToEnums + nameWithType: InteractionFormatter.TransformIdToEnums +- uid: Discord.Exception + name: Discord.Exception + href: api/Discord.Exception.html + commentId: N:Discord.Exception + fullName: Discord.Exception + nameWithType: Discord.Exception +- uid: Discord.Exception.MismatchedEnumLengthsException + name: MismatchedEnumLengthsException + href: api/Discord.Exception.MismatchedEnumLengthsException.html + commentId: T:Discord.Exception.MismatchedEnumLengthsException + fullName: Discord.Exception.MismatchedEnumLengthsException + nameWithType: MismatchedEnumLengthsException +- uid: Discord.Exception.MismatchedEnumLengthsException.#ctor + name: MismatchedEnumLengthsException() + href: api/Discord.Exception.MismatchedEnumLengthsException.html#Discord_Exception_MismatchedEnumLengthsException__ctor + commentId: M:Discord.Exception.MismatchedEnumLengthsException.#ctor + name.vb: New() + fullName: Discord.Exception.MismatchedEnumLengthsException.MismatchedEnumLengthsException() + fullName.vb: Discord.Exception.MismatchedEnumLengthsException.New() + nameWithType: MismatchedEnumLengthsException.MismatchedEnumLengthsException() + nameWithType.vb: MismatchedEnumLengthsException.New() +- uid: Discord.Exception.MismatchedEnumLengthsException.#ctor* + name: MismatchedEnumLengthsException + href: api/Discord.Exception.MismatchedEnumLengthsException.html#Discord_Exception_MismatchedEnumLengthsException__ctor_ + commentId: Overload:Discord.Exception.MismatchedEnumLengthsException.#ctor + isSpec: "True" + name.vb: New + fullName: Discord.Exception.MismatchedEnumLengthsException.MismatchedEnumLengthsException + fullName.vb: Discord.Exception.MismatchedEnumLengthsException.New + nameWithType: MismatchedEnumLengthsException.MismatchedEnumLengthsException + nameWithType.vb: MismatchedEnumLengthsException.New