index.html 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>__API_NAME__</title>
  5. <meta name="description" content="__API_DESCRIPTION__">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <link href="assets/bootstrap.min.css?__API_CACHE_BUSTING_QUERY_PARAM__" rel="stylesheet" media="screen">
  9. <link href="assets/prism.css?__API_CACHE_BUSTING_QUERY_PARAM__" rel="stylesheet" />
  10. <link href="assets/prism-toolbar.css?__API_CACHE_BUSTING_QUERY_PARAM__" rel="stylesheet" />
  11. <link href="assets/prism-diff-highlight.css?__API_CACHE_BUSTING_QUERY_PARAM__" rel="stylesheet" />
  12. <link href="assets/main.css?__API_CACHE_BUSTING_QUERY_PARAM__" rel="stylesheet" media="screen, print">
  13. <link href="assets/favicon.ico?__API_CACHE_BUSTING_QUERY_PARAM__" rel="icon" type="image/x-icon">
  14. <link href="assets/apple-touch-icon.png?__API_CACHE_BUSTING_QUERY_PARAM__" rel="apple-touch-icon" sizes="180x180">
  15. <link href="assets/favicon-32x32.png?__API_CACHE_BUSTING_QUERY_PARAM__" rel="icon" type="image/png" sizes="32x32">
  16. <link href="assets/favicon-16x16.png?__API_CACHE_BUSTING_QUERY_PARAM__" rel="icon" type="image/png" sizes="16x16">
  17. </head>
  18. <body class="container-fluid">
  19. <!-- SIDENAV -->
  20. <script id="template-sidenav" type="text/x-handlebars-template">
  21. <nav id="scrollingNav" class="col-sm-3 col-lg-2 sidebar-offcanvas">
  22. <div class="nav-toggle visible-xs">
  23. <button type="button" class="btn btn-link" data-toggle="offcanvas">
  24. <span class="sr-only">{{__ "Toggle navigation"}}</span>
  25. <span class="icon-bar"></span>
  26. <span class="icon-bar"></span>
  27. <span class="icon-bar"></span>
  28. </button>
  29. </div>
  30. <div class="sidenav-search">
  31. <input class="form-control search" data-action='filter-search' type="text" placeholder="{{__ "Filter..."}}">
  32. <span class="search-reset">x</span>
  33. </div>
  34. <ul class="sidenav nav nav-list list">
  35. {{#each nav}}
  36. {{#if title}}
  37. {{#if isHeader}}
  38. {{#if isFixed}}
  39. <li class="nav-fixed nav-header navbar-btn nav-list-item" data-group="{{group}}"><a href="#api-{{group}}" data-name="show-api-{{group}}" class="show-api api-{{group}}-init">{{underscoreToSpace title}}</a></li>
  40. {{else}}
  41. <li class="nav-header nav-list-item" data-group="{{group}}"><a href="#api-{{group}}" data-group="show-api-{{group}}" class="show-group api-{{group}}-init">{{underscoreToSpace title}}</a></li>
  42. {{/if}}
  43. {{else}}
  44. <li class="{{#if hidden}}hide {{/if}}" data-group="{{group}}" data-name="{{name}}" data-version="{{version}}">
  45. <a href="#api-{{group}}-{{name}}" title="{{url}}" data-group="show-api-{{group}}" data-name="show-api-{{group}}-{{name}}" class="nav-list-item show-api api-{{group}}-{{name}}-init">{{title}}<div class="nav-list-url-item hide">{{url}}</div></a>
  46. </li>
  47. {{/if}}
  48. {{/if}}
  49. {{/each}}
  50. </ul>
  51. </nav>
  52. </script>
  53. <!-- PROJECT -->
  54. <script id="template-project" type="text/x-handlebars-template">
  55. <div class="pull-left">
  56. <h1>{{name}}</h1>
  57. {{#if description}}<h2>{{{nl2br description}}}</h2>{{/if}}
  58. </div>
  59. <div class="pull-right">
  60. {{#if template.withCompare}}
  61. <div class="btn-group">
  62. <button id="version" class="btn btn-lg btn-default dropdown-toggle" data-toggle="dropdown">
  63. <strong>{{version}}</strong>&nbsp;<span class="caret"></span>
  64. </button>
  65. <ul id="versions" class="dropdown-menu open-left">
  66. <li><a id="compareAllWithPredecessor" href="#">{{__ "Compare all with predecessor"}}</a></li>
  67. <li class="divider"></li>
  68. <li class="disabled"><a href="#">{{__ "show up to version:"}}</a></li>
  69. {{#each versions}}
  70. <li class="version"><a href="#">{{this}}</a></li>
  71. {{/each}}
  72. </ul>
  73. </div>
  74. {{else}}
  75. <div id="version" class="well well-sm">
  76. <strong>{{version}}</strong>
  77. </div>
  78. {{/if}}
  79. </div>
  80. <div class="clearfix"></div>
  81. </script>
  82. <script id="template-header" type="text/x-handlebars-template">
  83. {{#if content}}
  84. <div id="api-_header" class="show-api-article show-api-_-article">{{{content}}}</div>
  85. {{/if}}
  86. </script>
  87. <script id="template-footer" type="text/x-handlebars-template">
  88. {{#if content}}
  89. <div id="api-_footer" class="show-api-article show-api-_-article">{{{content}}}</div>
  90. {{/if}}
  91. </script>
  92. <script id="template-generator" type="text/x-handlebars-template">
  93. {{#if template.withGenerator}}
  94. {{#if generator}}
  95. <div>
  96. <p class="text-muted">
  97. {{__ "Generated with"}} <a href="{{{generator.url}}}">{{{generator.name}}}</a> {{{generator.version}}} - {{{generator.time}}}
  98. </p>
  99. </div>
  100. {{/if}}
  101. {{/if}}
  102. </script>
  103. <script id="template-sections" type="text/x-handlebars-template">
  104. <section id="api-{{group}}" class="show-api-group show-api-{{group}}-group {{#if aloneDisplay}} hide{{/if}}">
  105. <h1 class="color-primary font-weight-bold">{{underscoreToSpace title}}</h1>
  106. {{#if description}}
  107. <p>{{{nl2br description}}}</p>
  108. {{/if}}
  109. {{#each articles}}
  110. <div id="api-{{group}}-{{name}}" class="show-api-article show-api-{{group}}-article show-api-{{group}}-{{name}}-article {{#if aloneDisplay}} hide{{/if}}">
  111. {{{article}}}
  112. </div>
  113. {{/each}}
  114. </section>
  115. </script>
  116. <script id="template-article" type="text/x-handlebars-template">
  117. <article id="api-{{article.group}}-{{article.name}}-{{article.version}}" {{#if hidden}}class="hide"{{/if}} data-group="{{article.group}}" data-name="{{article.name}}" data-version="{{article.version}}">
  118. <div class="pull-left">
  119. <h1><span class="color-primary">{{underscoreToSpace article.groupTitle}}</span>{{#if article.title}} <span class="text-muted">|</span> {{article.title}}{{/if}}</h1>
  120. </div>
  121. {{#if template.withCompare}}
  122. <div class="pull-right">
  123. <div class="btn-group">
  124. <button class="version btn btn-default dropdown-toggle" data-toggle="dropdown">
  125. <strong>{{article.version}}</strong>&nbsp;<span class="caret"></span>
  126. </button>
  127. <ul class="versions dropdown-menu open-left">
  128. <li class="disabled"><a href="#">{{__ "compare changes to:"}}</a></li>
  129. {{#each versions}}
  130. <li class="version"><a href="#">{{this}}</a></li>
  131. {{/each}}
  132. </ul>
  133. </div>
  134. </div>
  135. {{/if}}
  136. <div class="clearfix"></div>
  137. {{#if article.author}}<h4 class="muted">Authored by: {{article.author}}</h4>{{/if}}
  138. {{#if article.deprecated}}
  139. <p class="deprecated"><span>{{__ "DEPRECATED"}}</span>
  140. {{{markdown article.deprecated.content}}}
  141. </p>
  142. {{/if}}
  143. {{#if article.description}}
  144. <p>{{{nl2br article.description}}}</p>
  145. {{/if}}
  146. <span class="method meth-{{toLowerCase article.type}}">{{article.type}}</span>
  147. <pre
  148. data-type="{{toLowerCase article.type}}"
  149. data-prismjs-copy="{{__ "Copy"}}"
  150. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  151. data-prismjs-copy-success="{{__ "copied!"}}"
  152. ><code class="language-http">{{article.url}}</code></pre>
  153. {{#if article.permission}}
  154. <p>
  155. {{__ "Permission:"}}
  156. {{#each article.permission}}
  157. {{name}}
  158. {{#if title}}
  159. <button type="button" class="btn btn-info btn-xs" data-title="{{title}}" data-content="{{nl2br description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  160. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  161. </button>
  162. {{/if}}
  163. {{/each}}
  164. </p>
  165. {{/if}}
  166. {{!-- CODE EXAMPLES IN TABS --}}
  167. {{#ifCond article.examples.length '>' 0}}
  168. <ul class="nav nav-tabs nav-tabs-examples" role="tablist">
  169. {{#each article.examples}}
  170. <li{{#ifCond @index '==' 0}} class="active"{{/ifCond}}>
  171. <a href="#examples-{{../id}}-{{@index}}" role="tab" data-toggle="tab">{{title}}</a>
  172. </li>
  173. {{/each}}
  174. </ul>
  175. <div class="tab-content">
  176. {{#each article.examples}}
  177. <div class="tab-pane{{#ifCond @index '==' 0}} active{{/ifCond}}" id="examples-{{../id}}-{{@index}}">
  178. <pre
  179. data-type="{{type}}"
  180. data-prismjs-copy="{{__ "Copy"}}"
  181. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  182. data-prismjs-copy-success="{{__ "copied!"}}"
  183. ><code class="language-{{type}}">{{content}}</code></pre>
  184. </div>
  185. {{/each}}
  186. </div>
  187. {{/ifCond}}
  188. {{subTemplate "article-param-block" params=article.header _hasType=_hasTypeInHeaderFields section="header"}}
  189. {{subTemplate "article-param-block" params=article.parameter _hasType=_hasTypeInParameterFields section="parameter"}}
  190. {{subTemplate "article-query-block" params=article.query _hasType=_hasTypeInParameterFields section="query"}}
  191. {{subTemplate "article-body-block" params=article.body _hasType=_hasTypeInParameterFields section="body"}}
  192. {{subTemplate "article-param-block" params=article.success _hasType=_hasTypeInSuccessFields section="success"}}
  193. {{subTemplate "article-param-block" params=article.error _col1="Name" _hasType=_hasTypeInErrorFields section="error"}}
  194. {{subTemplate "article-sample-request" article=article id=id}}
  195. </article>
  196. </script>
  197. <script id="template-article-query-block" type="text/x-handlebars-template">
  198. {{#if article.query}}
  199. <h2>{{__ "Query Parameter(s)"}}</h2>
  200. <table>
  201. <thead>
  202. <tr>
  203. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  204. {{#unless this.Type compare=null}}
  205. <th style="width: 10%">{{__ "Type"}}</th>
  206. {{/unless}}
  207. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  208. </tr>
  209. </thead>
  210. <tbody>
  211. {{#each params}}
  212. <tr>
  213. <td class="code">
  214. {{{nestObject this}}}
  215. {{#if this.optional}}
  216. <span class="label optional">{{__ "optional"}}</span>
  217. {{else}}
  218. {{#if ../template.showRequiredLabels}}
  219. <span class="label required">{{__ "required"}}</span>
  220. {{/if}}
  221. {{/if}}
  222. </td>
  223. {{#unless this.Type compare=null}}
  224. <td class="code">{{this.type}}</td>
  225. {{/unless}}
  226. <td>{{{nl2br this.description}}}
  227. {{#if defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{defaultValue}}}</code></p>{{/if}}
  228. {{#if size}}<p class="type-size">{{__ "Size range:"}} <code>{{{size}}}</code></p>{{/if}}
  229. {{#if allowedValues}}<p class="type-size">{{__ "Allowed values:"}}
  230. {{#each allowedValues}}
  231. <code>{{{this}}}</code>{{#unless @last}}, {{/unless}}
  232. {{/each}}
  233. </p>
  234. {{/if}}
  235. </td>
  236. </tr>
  237. {{/each}}
  238. </tbody>
  239. </table>
  240. {{/if}}
  241. </script>
  242. <script id="template-article-body-block" type="text/x-handlebars-template">
  243. {{#if article.body}}
  244. <h2>{{__ "Request Body"}}</h2>
  245. <table>
  246. <thead>
  247. <tr>
  248. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  249. {{#unless this.Type compare=null}}
  250. <th style="width: 10%">{{__ "Type"}}</th>
  251. {{/unless}}
  252. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  253. </tr>
  254. </thead>
  255. <tbody>
  256. {{#each params}}
  257. <tr>
  258. <td class="code">
  259. {{{nestObject this}}}
  260. {{#if this.optional}}
  261. <span class="label optional">{{__ "optional"}}</span>
  262. {{else}}
  263. {{#if ../template.showRequiredLabels}}
  264. <span class="label required">{{__ "required"}}</span>
  265. {{/if}}
  266. {{/if}}
  267. </td>
  268. {{#unless this.Type compare=null}}
  269. <td class="code">{{this.type}}</td>
  270. {{/unless}}
  271. <td>
  272. {{{nl2br this.description}}}
  273. {{#if defaultValue}}
  274. <p class="default-value">{{__ "Default value:"}} <code>{{{defaultValue}}}</code></p>
  275. {{/if}}
  276. {{#if size}}
  277. <p class="type-size">{{__ "Size range:"}} <code>{{{size}}}</code></p>
  278. {{/if}}
  279. {{#if allowedValues}}
  280. <p class="type-size">{{__ "Allowed values:"}}
  281. {{#each allowedValues}}
  282. <code>{{{this}}}</code>{{#unless @last}}, {{/unless}}
  283. {{/each}}
  284. </p>
  285. {{/if}}
  286. </td>
  287. </tr>
  288. {{/each}}
  289. </tbody>
  290. </table>
  291. {{/if}}
  292. </script>
  293. <script id="template-article-param-block" type="text/x-handlebars-template">
  294. {{#if params}}
  295. {{#each params.fields}}
  296. <h2>{{__ @key}}</h2>
  297. <table>
  298. <thead>
  299. <tr>
  300. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  301. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  302. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  303. </tr>
  304. </thead>
  305. <tbody>
  306. {{#each this}}
  307. <tr>
  308. <td class="code">
  309. {{{nestObject this}}}
  310. {{#if optional}}
  311. <span class="label optional">{{__ "optional"}}</span>
  312. {{else}}
  313. {{#if ../../template.showRequiredLabels}}
  314. <span class="label required">{{__ "required"}}</span>
  315. {{/if}}
  316. {{/if}}</td>
  317. {{#if ../../_hasType}}
  318. <td class="code">
  319. {{{type}}}
  320. </td>
  321. {{/if}}
  322. <td>
  323. {{{nl2br description}}}
  324. {{#if defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{defaultValue}}}</code></p>{{/if}}
  325. {{#if size}}<p class="type-size">{{__ "Size range:"}} <code>{{{size}}}</code></p>{{/if}}
  326. {{#if allowedValues}}<p class="type-size">{{__ "Allowed values:"}}
  327. {{#each allowedValues}}
  328. <code>{{{this}}}</code>{{#unless @last}}, {{/unless}}
  329. {{/each}}
  330. </p>
  331. {{/if}}
  332. </td>
  333. </tr>
  334. {{/each}}
  335. </tbody>
  336. </table>
  337. {{/each}}
  338. {{#ifCond params.examples.length '>' 0}}
  339. <ul class="nav nav-tabs nav-tabs-examples" role="tablist">
  340. {{#each params.examples}}
  341. <li{{#ifCond @index '==' 0}} class="active"{{/ifCond}}>
  342. <a href="#{{../section}}-examples-{{../id}}-{{@index}}" role="tab" data-toggle="tab">{{title}}</a>
  343. </li>
  344. {{/each}}
  345. </ul>
  346. <div class="tab-content">
  347. {{#each params.examples}}
  348. <div class="tab-pane{{#ifCond @index '==' 0}} active{{/ifCond}}" id="{{../section}}-examples-{{../id}}-{{@index}}">
  349. <pre
  350. data-type="{{type}}"
  351. data-prismjs-copy="{{__ "Copy"}}"
  352. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  353. data-prismjs-copy-success="{{__ "copied!"}}"
  354. ><code class="language-{{type}}">{{reformat content type}}</code></pre>
  355. </div>
  356. {{/each}}
  357. </div>
  358. {{/ifCond}}
  359. {{/if}}
  360. </script>
  361. <script id="template-article-sample-request" type="text/x-handlebars-template">
  362. {{#if article.sampleRequest}}
  363. <div class="well">
  364. <h3>{{__ "Send a Sample Request"}}</h3>
  365. <form class="form-horizontal">
  366. <fieldset>
  367. <div class="form-group">
  368. <label class="col-md-3 control-label" for="{{../id}}-sample-request-url">URL</label>
  369. <div class="input-group">
  370. <span class="input-group-addon">{{__ "url"}}</span>
  371. <input id="{{../id}}-sample-request-url" type="url" class="form-control sample-request-url" value="{{article.sampleRequest.0.url}}" />
  372. </div>
  373. </div>
  374. {{#if article.header}}
  375. {{#if article.header.fields}}
  376. <h3>{{__ "Headers"}}</h3>
  377. {{#each article.header.fields}}
  378. <div class="{{../id}}-sample-request-header-fields">
  379. {{#each this}}
  380. <div class="form-group">
  381. <label class="col-md-3 control-label" for="sample-request-header-field-{{field}}">{{field}}</label>
  382. <div class="input-group">
  383. <span class="input-group-addon">{{{type}}}</span>
  384. <input type="text" id="sample-request-header-field-{{field}}"
  385. class="form-control sample-request-input"
  386. value="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  387. placeholder="{{#if defaultValue}}{{ defaultValue }}{{else}}{{field}}{{/if}}"
  388. data-family="header"
  389. data-name="{{field}}"
  390. data-group="{{@../index}}">
  391. </div>
  392. </div>
  393. {{/each}}
  394. </div>
  395. {{/each}}
  396. {{/if}}
  397. {{/if}}
  398. {{#if article.parameter}}
  399. {{#if article.parameter.fields}}
  400. <h3>{{__ "Parameters"}}</h3>
  401. {{#each article.parameter.fields}}
  402. <div class="col-md-3">
  403. <select name="{{../id}}-sample-header-content-type" class="{{../id}}-sample-request-param-select sample-header-content-type sample-header-content-type-switch">
  404. <option value="auto" selected>ajax-auto</option>
  405. <option value="json" >json</option>
  406. <option value="form-data" >form-data</option>
  407. </select>
  408. </div>
  409. <div class="{{../id}}-sample-request-param-body {{../id}}-sample-header-content-type-body hide">
  410. <div class="form-group">
  411. <div class="input-group">
  412. <div class="input-group-addon">json</div>
  413. <textarea id="sample-request-body-json" class="form-control sample-request-body" data-sample-request-body-group="sample-request-param-{{@./index}}" rows="6" style="OVERFLOW: visible" {{#if optional}}data-sample-request-param-optional="true"{{/if}}></textarea>
  414. </div>
  415. </div>
  416. </div>
  417. <div class="{{../id}}-sample-request-param-fields {{../id}}-sample-header-content-type-fields">
  418. {{#each this}}
  419. <div class="form-group">
  420. {{#ifNotObject type}}
  421. <label class="col-md-3 control-label" for="sample-request-param-field-{{field}}">{{field}}</label>
  422. <div class="input-group">
  423. <div class="input-group-addon">{{{type}}}</div>
  424. {{#if allowedValues}}
  425. <div class="input-group-addon sample-request-select">
  426. <select class="form-control" data-name="{{dot2bracket this}}" data-family="query" data-group="{{@../index}}" {{#if optional}}data-optional="true"{{/if}}>
  427. <option value="" class="empty">&lt;{{__ "No value"}}&gt;</option>
  428. {{#each allowedValues}}
  429. <option {{#ifCond ../defaultValue '===' this}} selected {{/ifCond}}value="{{{removeDblQuotes this}}}">{{{removeDblQuotes this}}}</option>
  430. {{/each}}
  431. </select>
  432. </div>
  433. <input class="invisible">
  434. {{else}}
  435. <div class="sample-request-input-{{type}}-container"><div>
  436. <input id="sample-request-param-field-{{field}}"
  437. class="{{#ifCond type '!==' 'Boolean'}}form-control{{/ifCond}} sample-request-param"
  438. type="{{setInputType type}}"
  439. value="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  440. placeholder="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  441. data-name="{{dot2bracket this}}"
  442. data-family="query"
  443. data-group="{{@../index}}"
  444. {{#if optional}}data-optional="true"{{/if}}>
  445. </div></div>
  446. {{/if}}
  447. </div>
  448. {{/ifNotObject}}
  449. </div>
  450. {{/each}}
  451. </div>
  452. {{/each}}
  453. {{/if}}
  454. {{/if}}
  455. {{#if article.query}}
  456. <h3>{{__ "Query Parameters"}}</h3>
  457. <div class="{{../id}}-sample-request-param-fields {{../id}}-sample-header-content-type-fields">
  458. {{#each article.query}}
  459. <div class="form-group">
  460. {{#ifNotObject type}}
  461. <label class="col-md-3 control-label" for="sample-request-param-field-{{field}}">{{field}}{{#if optional}} ({{__ "optional"}}){{/if}}</label>
  462. <div class="input-group col-md-6">
  463. <div class="input-group-addon">{{{type}}}</div>
  464. {{#if allowedValues}}
  465. <div class="input-group-addon sample-request-select">
  466. <select class="form-control" data-name="{{dot2bracket this}}" data-family="query" data-group="{{@../index}}" {{#if optional}}data-optional="true"{{/if}}>
  467. <option value="" class="empty">&lt;{{__ "No value"}}&gt;</option>
  468. {{#each allowedValues}}
  469. <option {{#ifCond ../defaultValue '===' this}} selected {{/ifCond}}value="{{{removeDblQuotes this}}}">{{{removeDblQuotes this}}}</option>
  470. {{/each}}
  471. </select>
  472. </div>
  473. <input class="invisible">
  474. {{else}}
  475. <div class="sample-request-input-{{type}}-container"><div>
  476. <input id="sample-request-param-field-{{field}}"
  477. class="{{#ifCond type '!==' 'Boolean'}}form-control{{/ifCond}} sample-request-input"
  478. type="{{setInputType type}}"
  479. value="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  480. placeholder="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  481. data-name="{{dot2bracket this}}"
  482. data-family="query"
  483. data-group="{{@../index}}"
  484. {{#if optional}}data-optional="true"{{/if}}>
  485. </div></div>
  486. {{/if}}
  487. </div>
  488. {{/ifNotObject}}
  489. </div>
  490. {{/each}}
  491. </div>
  492. {{/if}}
  493. {{#if article.body}}
  494. <h3>{{__ "Body"}}</h3>
  495. <div class="col-md-3">
  496. <label for="body-content-type-{{this.id}}">{{__ "Content-Type"}}</label>
  497. <select id="body-content-type-{{this.id}}" data-id="{{this.id}}" class="sample-request-content-type-switch form-control">
  498. <option value="body-json" selected>json</option>
  499. <option value="body-form-data">form-data</option>
  500. </select>
  501. </div>
  502. <div class="col-md-9" id="sample-request-body-json-input-{{this.id}}">
  503. <div class="form-group">
  504. <div class="input-group">
  505. <div class="input-group-addon">json</div>
  506. <textarea class="form-control sample-request-input" rows="6"
  507. data-family="body-json"
  508. data-name={{"body"}}
  509. data-content-type="json"
  510. {{#if optional}}data-optional="true"{{/if}}>{{body2json article.body}}</textarea>
  511. </div>
  512. </div>
  513. </div>
  514. <div hidden class="col-md-9" id="sample-request-body-form-input-{{this.id}}">
  515. {{#each article.body}}
  516. <div class="form-group">
  517. {{#ifNotObject type}}
  518. <label class="col-md-3 control-label" for="sample-request-param-field-{{field}}">{{field}}</label>
  519. <div class="input-group">
  520. <div class="input-group-addon">{{{type}}}</div>
  521. {{#if allowedValues}}
  522. <div class="input-group-addon sample-request-select">
  523. <select class="form-control" data-name="{{dot2bracket this}}" data-family="body" data-group="{{@../index}}" {{#if optional}}data-optional="true"{{/if}}>
  524. <option value="" class="empty">&lt;{{__ "No value"}}&gt;</option>
  525. {{#each allowedValues}}
  526. <option {{#ifCond ../defaultValue '===' this}} selected {{/ifCond}}value="{{{removeDblQuotes this}}}">{{{removeDblQuotes this}}}</option>
  527. {{/each}}
  528. </select>
  529. </div>
  530. <input class="invisible">
  531. {{else}}
  532. <div class="sample-request-input-{{type}}-container"><div>
  533. <input id="sample-request-param-field-{{field}}"
  534. class="{{#ifCond type '!==' 'Boolean'}}form-control{{/ifCond}} sample-request-input"
  535. type="{{setInputType type}}"
  536. value="{{#ifCond type '!==' 'Boolean'}}{{#if defaultValue}}{{ defaultValue }}{{/if}}{{/ifCond}}"
  537. {{#if checked}}checked{{/if}}
  538. placeholder="{{#if defaultValue}}{{ defaultValue }}{{/if}}"
  539. data-family="body"
  540. data-name="{{dot2bracket this}}"
  541. data-content-type="form"
  542. {{#if optional}}data-optional="true"{{/if}}>
  543. </div></div>
  544. {{/if}}
  545. </div>
  546. {{/ifNotObject}}
  547. </div>
  548. {{/each}}
  549. </div>
  550. {{/if}}
  551. <div class="form-group">
  552. <div class="controls pull-right">
  553. <button class="btn btn-primary bg-primary sample-request-send" data-type="{{article.type}}">{{__ "Send"}}</button>
  554. <button class="btn btn-danger bg-red sample-request-clear" data-type="{{article.type}}">{{__ "Reset"}}</button>
  555. </div>
  556. </div>
  557. <div class="form-group sample-request-response" hidden>
  558. <h3>
  559. {{__ "Response"}}
  560. <button class="btn btn-default btn-xs pull-right sample-request-clear">X</button>
  561. </h3>
  562. <pre
  563. data-type="json"
  564. data-prismjs-copy="{{__ "Copy"}}"
  565. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  566. data-prismjs-copy-success="{{__ "copied!"}}"
  567. ><code class="language-json sample-request-response-json"></code></pre>
  568. </div>
  569. </fieldset>
  570. </form>
  571. </div>
  572. {{/if}}
  573. </script>
  574. <script id="template-compare-article" type="text/x-handlebars-template">
  575. <article id="api-{{article.group}}-{{article.name}}-{{article.version}}" {{#if hidden}}class="hide"{{/if}} data-group="{{article.group}}" data-name="{{article.name}}" data-version="{{article.version}}" data-compare-version="{{compare.version}}">
  576. <div class="pull-left">
  577. <h1>{{underscoreToSpace article.groupTitle}} | {{{showDiff article.title compare.title}}}</h1>
  578. </div>
  579. <div class="pull-right">
  580. <div class="btn-group">
  581. <button class="btn btn-success" disabled>
  582. <strong>{{article.version}}</strong> {{__ "compared to"}}
  583. </button>
  584. <button class="version btn btn-danger dropdown-toggle" data-toggle="dropdown">
  585. <strong>{{compare.version}}</strong>&nbsp;<span class="caret"></span>
  586. </button>
  587. <ul class="versions dropdown-menu open-left">
  588. <li class="disabled"><a href="#">{{__ "compare changes to:"}}</a></li>
  589. <li class="divider"></li>
  590. {{#each versions}}
  591. <li class="version"><a href="#">{{this}}</a></li>
  592. {{/each}}
  593. </ul>
  594. </div>
  595. </div>
  596. <div class="clearfix"></div>
  597. {{#if article.description}}
  598. <p>{{{showDiff article.description compare.description "nl2br"}}}</p>
  599. {{else}}
  600. {{#if compare.description}}
  601. <p>{{{showDiff "" compare.description "nl2br"}}}</p>
  602. {{/if}}
  603. {{/if}}
  604. <span class="method meth-{{toLowerCase compare.type}}">{{compare.type}}</span>
  605. <pre
  606. data-type="{{toLowerCase article.type}}"
  607. data-prismjs-copy="{{__ "Copy"}}"
  608. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  609. data-prismjs-copy-success="{{__ "copied!"}}"
  610. class="language-html"
  611. >{{{showDiff article.url compare.url}}}</pre>
  612. {{subTemplate "article-compare-permission" article=article compare=compare}}
  613. <ul class="nav nav-tabs nav-tabs-examples" role="tablist">
  614. {{#each_compare_title article.examples compare.examples}}
  615. {{#if typeSame}}
  616. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  617. <a href="#compare-examples-{{../article.id}}-{{index}}" role="tab" data-toggle="tab">{{{showDiff source.title compare.title}}}</a>
  618. </li>
  619. {{/if}}
  620. {{#if typeIns}}
  621. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  622. <a href="#compare-examples-{{../article.id}}-{{index}}"><ins>{{{source.title}}}</ins></a>
  623. </li>
  624. {{/if}}
  625. {{#if typeDel}}
  626. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  627. <a href="#compare-examples-{{../article.id}}-{{index}}"><del>{{{compare.title}}}</del></a>
  628. </li>
  629. {{/if}}
  630. {{/each_compare_title}}
  631. </ul>
  632. <div class="tab-content">
  633. {{#each_compare_title article.examples compare.examples}}
  634. {{#if typeSame}}
  635. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="compare-examples-{{../article.id}}-{{index}}">
  636. <pre
  637. data-type="{{source.type}}"
  638. data-prismjs-copy="{{__ "Copy"}}"
  639. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  640. data-prismjs-copy-success="{{__ "copied!"}}"
  641. ><code class="language-diff-{{source.type}} diff-highlight">{{{showDiff source.content compare.content "code"}}}</code></pre>
  642. </div>
  643. {{/if}}
  644. {{#if typeIns}}
  645. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="compare-examples-{{../article.id}}-{{index}}">
  646. <pre
  647. data-type="{{source.type}}"
  648. data-prismjs-copy="{{__ "Copy"}}"
  649. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  650. data-prismjs-copy-success="{{__ "copied!"}}"
  651. ><code class="language-{{source.type}}">{{{source.content}}}</code></pre>
  652. </div>
  653. {{/if}}
  654. {{#if typeDel}}
  655. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="compare-examples-{{../article.id}}-{{index}}">
  656. <pre
  657. data-type="{{compare.type}}"
  658. data-prismjs-copy="{{__ "Copy"}}"
  659. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  660. data-prismjs-copy-success="{{__ "copied!"}}"
  661. ><code class="language-{{source.type}}">{{{compare.content}}}</code></pre>
  662. </div>
  663. {{/if}}
  664. {{/each_compare_title}}
  665. </div>
  666. {{subTemplate "article-compare-param-block" source=article.header compare=compare.header _hasType=_hasTypeInHeaderFields section="header"}}
  667. {{subTemplate "article-compare-param-block" source=article.parameter compare=compare.parameter _hasType=_hasTypeInParameterFields section="parameter"}}
  668. {{subTemplate "article-compare-query-block" source=article.query compare=compare.query _hasType=_hasTypeInParameterFields section="query"}}
  669. {{subTemplate "article-compare-body-block" source=article.body compare=compare.body _hasType=_hasTypeInParameterFields section="body"}}
  670. {{subTemplate "article-compare-param-block" source=article.success compare=compare.success _hasType=_hasTypeInSuccessFields section="success"}}
  671. {{subTemplate "article-compare-param-block" source=article.error compare=compare.error _col1="Name" _hasType=_hasTypeInErrorFields section="error"}}
  672. {{subTemplate "article-sample-request" article=article id=id}}
  673. </article>
  674. </script>
  675. <script id="template-article-compare-permission" type="text/x-handlebars-template">
  676. <p>
  677. {{__ "Permission:"}}
  678. {{#each_compare_list_field article.permission compare.permission field="name"}}
  679. {{#if source}}
  680. {{#if typeSame}}
  681. {{source.name}}
  682. {{#if source.title}}
  683. <button type="button" class="btn btn-info btn-xs" data-title="{{source.title}}" data-content="{{nl2br source.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  684. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  685. </button>
  686. {{#unless _last}}, {{/unless}}
  687. {{/if}}
  688. {{/if}}
  689. {{#if typeIns}}
  690. <ins>{{source.name}}</ins>
  691. {{#if source.title}}
  692. <button type="button" class="btn btn-info btn-xs" data-title="{{source.title}}" data-content="{{nl2br source.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  693. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  694. </button>
  695. {{#unless _last}}, {{/unless}}
  696. {{/if}}
  697. {{/if}}
  698. {{#if typeDel}}
  699. <del>{{source.name}}</del>
  700. {{#if source.title}}
  701. <button type="button" class="btn btn-info btn-xs" data-title="{{source.title}}" data-content="{{nl2br source.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  702. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  703. </button>
  704. {{#unless _last}}, {{/unless}}
  705. {{/if}}
  706. {{/if}}
  707. {{else}}
  708. {{#if typeSame}}
  709. {{compare.name}}
  710. {{#if compare.title}}
  711. <button type="button" class="btn btn-info btn-xs" data-title="{{compare.title}}" data-content="{{nl2br compare.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  712. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  713. </button>
  714. {{#unless _last}}, {{/unless}}
  715. {{/if}}
  716. {{/if}}
  717. {{#if typeIns}}
  718. <ins>{{compare.name}}</ins>
  719. {{#if compare.title}}
  720. <button type="button" class="btn btn-info btn-xs" data-title="{{compare.title}}" data-content="{{nl2br compare.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  721. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  722. </button>
  723. {{#unless _last}}, {{/unless}}
  724. {{/if}}
  725. {{/if}}
  726. {{#if typeDel}}
  727. <del>{{compare.name}}</del>
  728. {{#if compare.title}}
  729. <button type="button" class="btn btn-info btn-xs" data-title="{{compare.title}}" data-content="{{nl2br compare.description}}" data-html="true" data-toggle="popover" data-placement="right" data-trigger="hover">
  730. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  731. </button>
  732. {{#unless _last}}, {{/unless}}
  733. {{/if}}
  734. {{/if}}
  735. {{/if}}
  736. {{/each_compare_list_field}}
  737. </p>
  738. </script>
  739. <script id="template-article-compare-param-block" type="text/x-handlebars-template">
  740. {{#if source}}
  741. {{#each_compare_keys source.fields compare.fields}}
  742. {{#if typeSame}}
  743. <h2>{{__ source.key}}</h2>
  744. <table>
  745. <thead>
  746. <tr>
  747. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  748. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  749. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  750. </tr>
  751. </thead>
  752. {{subTemplate "article-compare-param-block-body" source=source.value compare=compare.value _hasType=../_hasType}}
  753. </table>
  754. {{/if}}
  755. {{#if typeIns}}
  756. <h2><ins>{{__ source.key}}</ins></h2>
  757. <table class="ins">
  758. <thead>
  759. <tr>
  760. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  761. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  762. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  763. </tr>
  764. </thead>
  765. {{subTemplate "article-compare-param-block-body" source=source.value compare=source.value _hasType=../_hasType}}
  766. </table>
  767. {{/if}}
  768. {{#if typeDel}}
  769. <h2><del>{{__ compare.key}}</del></h2>
  770. <table class="del">
  771. <thead>
  772. <tr>
  773. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  774. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  775. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  776. </tr>
  777. </thead>
  778. {{subTemplate "article-compare-param-block-body" source=compare.value compare=compare.value _hasType=../_hasType}}
  779. </table>
  780. {{/if}}
  781. {{/each_compare_keys}}
  782. {{#if source.examples}}
  783. <ul class="nav nav-tabs nav-tabs-examples" role="tablist">
  784. {{#each_compare_title source.examples compare.examples}}
  785. {{#if typeSame}}
  786. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  787. <a href="#{{../section}}-compare-examples-{{../article.id}}-{{index}}" role="tab" data-toggle="tab">{{{showDiff source.title compare.title}}}</a>
  788. </li>
  789. {{/if}}
  790. {{#if typeIns}}
  791. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  792. <a href="#{{../section}}-compare-examples-{{../article.id}}-{{index}}"><ins>{{{source.title}}}</ins></a>
  793. </li>
  794. {{/if}}
  795. {{#if typeDel}}
  796. <li{{#ifCond index '==' 0}} class="active"{{/ifCond}}>
  797. <a href="#{{../section}}-compare-examples-{{../article.id}}-{{index}}"><del>{{{compare.title}}}</del></a>
  798. </li>
  799. {{/if}}
  800. {{/each_compare_title}}
  801. </ul>
  802. <div class="tab-content">
  803. {{#each_compare_title source.examples compare.examples}}
  804. {{#if typeSame}}
  805. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="{{../section}}-compare-examples-{{../article.id}}-{{index}}">
  806. <pre
  807. data-type="{{source.type}}"
  808. data-prismjs-copy="{{__ "Copy"}}"
  809. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  810. data-prismjs-copy-success="{{__ "copied!"}}"
  811. ><code class="language-diff-{{source.type}} diff-highlight">{{{showDiff source.content compare.content "code"}}}</code></pre>
  812. </div>
  813. {{/if}}
  814. {{#if typeIns}}
  815. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="{{../section}}-compare-examples-{{../article.id}}-{{index}}">
  816. <pre
  817. data-type="{{source.type}}"
  818. data-prismjs-copy="{{__ "Copy"}}"
  819. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  820. data-prismjs-copy-success="{{__ "copied!"}}"
  821. ><code class="language-{{source.type}}">{{{source.content}}}</code></pre>
  822. </div>
  823. {{/if}}
  824. {{#if typeDel}}
  825. <div class="tab-pane{{#ifCond index '==' 0}} active{{/ifCond}}" id="{{../section}}-compare-examples-{{../article.id}}-{{index}}">
  826. <pre
  827. data-type="{{compare.type}}"
  828. data-prismjs-copy="{{__ "Copy"}}"
  829. data-prismjs-copy-error="{{__ "Press Ctrl+C to copy"}}"
  830. data-prismjs-copy-success="{{__ "copied!"}}"
  831. ><code class="language-{{source.type}}">{{{compare.content}}}</code></pre>
  832. </div>
  833. {{/if}}
  834. {{/each_compare_title}}
  835. </div>
  836. {{/if}}
  837. {{/if}}
  838. </script>
  839. <script id="template-article-compare-query-block" type="text/x-handlebars-template">
  840. {{#if article.query}}
  841. <h2>{{__ "Query Parameter(s)"}}</h2>
  842. <table class="table table-hover">
  843. <thead>
  844. <tr>
  845. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  846. {{#unless this.Type compare=null}}
  847. <th style="width: 10%">{{__ "Type"}}</th>
  848. {{/unless}}
  849. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  850. </tr>
  851. </thead>
  852. {{subTemplate "article-compare-param-block-body" source=source compare=compare _hasType=this.type}}
  853. </table>
  854. {{/if}}
  855. </script>
  856. <script id="template-article-compare-body-block" type="text/x-handlebars-template">
  857. {{#if article.body}}
  858. <h2>{{__ "Request Body"}}</h2>
  859. <table class="table table-hover">
  860. <thead>
  861. <tr>
  862. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  863. {{#unless this.Type compare=null}}
  864. <th style="width: 10%">{{__ "Type"}}</th>
  865. {{/unless}}
  866. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  867. </tr>
  868. </thead>
  869. {{subTemplate "article-compare-param-block-body" source=source compare=compare _hasType=this.type}}
  870. </table>
  871. {{/if}}
  872. </script>
  873. <script id="template-article-compare-param-block-body" type="text/x-handlebars-template">
  874. <tbody>
  875. {{#each_compare_field source compare}}
  876. {{#if typeSame}}
  877. <tr>
  878. <td class="code">
  879. {{{nestObject source}}}
  880. {{#if source.optional}}
  881. {{#if compare.optional}} <span class="label label-optional">{{__ "optional"}}</span>
  882. {{else}} <span class="label label-optional label-ins">{{__ "optional"}}</span>
  883. {{/if}}
  884. {{else}}
  885. {{#if compare.optional}} <span class="label label-optional label-del">{{__ "optional"}}</span>{{/if}}
  886. {{/if}}
  887. </td>
  888. {{#if source.type}}
  889. {{#if compare.type}}
  890. <td>{{{showDiff source.type compare.type}}}</td>
  891. {{else}}
  892. <td>{{{source.type}}}</td>
  893. {{/if}}
  894. {{else}}
  895. {{#if compare.type}}
  896. <td>{{{compare.type}}}</td>
  897. {{else}}
  898. {{#if ../../../../_hasType}}<td></td>{{/if}}
  899. {{/if}}
  900. {{/if}}
  901. <td>
  902. {{{showDiff source.description compare.description "nl2br"}}}
  903. {{#if source.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{showDiff source.defaultValue compare.defaultValue}}}</code><p>{{/if}}
  904. </td>
  905. </tr>
  906. {{/if}}
  907. {{#if typeIns}}
  908. <tr class="ins">
  909. <td class="code">
  910. {{{nestObject source}}}
  911. {{#if source.optional}} <span class="label label-optional label-ins">{{__ "optional"}}</span>{{/if}}
  912. </td>
  913. {{#if source.type}}
  914. <td>{{{source.type}}}</td>
  915. {{else}}
  916. {{{typRowTd}}}
  917. {{/if}}
  918. <td>
  919. {{{nl2br source.description}}}
  920. {{#if source.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{source.defaultValue}}}</code><p>{{/if}}
  921. </td>
  922. </tr>
  923. {{/if}}
  924. {{#if typeDel}}
  925. <tr class="del">
  926. <td class="code">
  927. {{{nestObject compare}}}
  928. {{#if compare.optional}} <span class="label label-optional label-del">{{__ "optional"}}</span>{{/if}}
  929. </td>
  930. {{#if compare.type}}
  931. <td>{{{compare.type}}}</td>
  932. {{else}}
  933. {{{typRowTd}}}
  934. {{/if}}
  935. <td>
  936. {{{nl2br compare.description}}}
  937. {{#if compare.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{compare.defaultValue}}}</code><p>{{/if}}
  938. </td>
  939. </tr>
  940. {{/if}}
  941. {{/each_compare_field}}
  942. </tbody>
  943. </script>
  944. <div class="container-fluid">
  945. <div class="row row-offcanvas row-offcanvas-left">
  946. <div id="sidenav" class="col-sm-3 col-lg-2"></div>
  947. <div id="content" class="col-sm-9 col-lg-10">
  948. <div id="project"></div>
  949. <div id="header"></div>
  950. <div id="sections"></div>
  951. <div id="footer"></div>
  952. <div id="generator"></div>
  953. </div>
  954. </div>
  955. </div>
  956. <div id="loader">
  957. <div class="spinner">
  958. <div class="spinner-container container1">
  959. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  960. </div>
  961. <div class="spinner-container container2">
  962. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  963. </div>
  964. <div class="spinner-container container3">
  965. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  966. </div>
  967. <p>Loading...</p>
  968. </div>
  969. </div>
  970. <script src="assets/main.bundle.js?__API_CACHE_BUSTING_QUERY_PARAM__"></script>
  971. </body>
  972. </html>