index.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  5. <title>Loading...</title>
  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="vendor/bootstrap.min.css" rel="stylesheet" media="screen">
  9. <link href="vendor/prism.css" rel="stylesheet" />
  10. <link href="css/style.css" rel="stylesheet" media="screen, print">
  11. <link href="img/favicon.ico" rel="icon" type="image/x-icon">
  12. <script src="vendor/polyfill.js"></script>
  13. </head>
  14. <body class="container-fluid">
  15. <script id="template-sidenav" type="text/x-handlebars-template">
  16. <nav id="scrollingNav">
  17. <div class="sidenav-search">
  18. <input class="form-control search" type="text" placeholder="{{__ "Filter..."}}">
  19. <span class="search-reset">x</span>
  20. </div>
  21. <ul class="sidenav nav nav-list list">
  22. {{#each nav}}
  23. {{#if title}}
  24. {{#if isHeader}}
  25. {{#if isFixed}}
  26. <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>
  27. {{else}}
  28. <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>
  29. {{/if}}
  30. {{else}}
  31. <li class="{{#if hidden}}hide {{/if}}" data-group="{{group}}" data-name="{{name}}" data-version="{{version}}">
  32. <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>
  33. </li>
  34. {{/if}}
  35. {{/if}}
  36. {{/each}}
  37. </ul>
  38. </nav>
  39. </script>
  40. <script id="template-project" type="text/x-handlebars-template">
  41. <div class="pull-left">
  42. <h1>{{name}}</h1>
  43. {{#if description}}<h2>{{{nl2br description}}}</h2>{{/if}}
  44. </div>
  45. <div class="pull-right">
  46. {{#if template.withCompare}}
  47. <div class="btn-group">
  48. <button id="version" class="btn btn-lg btn-default dropdown-toggle" data-toggle="dropdown">
  49. <strong>{{version}}</strong>&nbsp;<span class="caret"></span>
  50. </button>
  51. <ul id="versions" class="dropdown-menu open-left">
  52. <li><a id="compareAllWithPredecessor" href="#">{{__ "Compare all with predecessor"}}</a></li>
  53. <li class="divider"></li>
  54. <li class="disabled"><a href="#">{{__ "show up to version:"}}</a></li>
  55. {{#each versions}}
  56. <li class="version"><a href="#">{{this}}</a></li>
  57. {{/each}}
  58. </ul>
  59. </div>
  60. {{else}}
  61. <div id="version" class="well well-sm">
  62. <strong>{{version}}</strong>
  63. </div>
  64. {{/if}}
  65. </div>
  66. <div class="clearfix"></div>
  67. </script>
  68. <script id="template-header" type="text/x-handlebars-template">
  69. {{#if content}}
  70. <div id="api-_" class="show-api-article show-api-_-article">{{{content}}}</div>
  71. {{/if}}
  72. </script>
  73. <script id="template-footer" type="text/x-handlebars-template">
  74. {{#if content}}
  75. <div id="api-_footer" class="show-api-article show-api-_-article">{{{content}}}</div>
  76. {{/if}}
  77. </script>
  78. <script id="template-generator" type="text/x-handlebars-template">
  79. {{#if template.withGenerator}}
  80. {{#if generator}}
  81. <div class="content">
  82. {{__ "Generated with"}} <a href="{{{generator.url}}}">{{{generator.name}}}</a> {{{generator.version}}} - {{{generator.time}}}
  83. </div>
  84. {{/if}}
  85. {{/if}}
  86. </script>
  87. <script id="template-sections" type="text/x-handlebars-template">
  88. <section id="api-{{group}}" class="show-api-group show-api-{{group}}-group {{#if aloneDisplay}} hide{{/if}}">
  89. <h1>{{underscoreToSpace title}}</h1>
  90. {{#if description}}
  91. <p>{{{nl2br description}}}</p>
  92. {{/if}}
  93. {{#each articles}}
  94. <div id="api-{{group}}-{{name}}" class="show-api-article show-api-{{group}}-article show-api-{{group}}-{{name}}-article {{#if aloneDisplay}} hide{{/if}}">
  95. {{{article}}}
  96. </div>
  97. {{/each}}
  98. </section>
  99. </script>
  100. <script id="template-article" type="text/x-handlebars-template">
  101. <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}}">
  102. <div class="pull-left">
  103. <h1>{{underscoreToSpace article.groupTitle}}{{#if article.title}} - {{article.title}}{{/if}}</h1>
  104. </div>
  105. {{#if template.withCompare}}
  106. <div class="pull-right">
  107. <div class="btn-group">
  108. <button class="version btn btn-default dropdown-toggle" data-toggle="dropdown">
  109. <strong>{{article.version}}</strong>&nbsp;<span class="caret"></span>
  110. </button>
  111. <ul class="versions dropdown-menu open-left">
  112. <li class="disabled"><a href="#">{{__ "compare changes to:"}}</a></li>
  113. {{#each versions}}
  114. <li class="version"><a href="#">{{this}}</a></li>
  115. {{/each}}
  116. </ul>
  117. </div>
  118. </div>
  119. {{/if}}
  120. <div class="clearfix"></div>
  121. {{#if article.author}}<h4 class="muted">Authored by: {{article.author}}</h4>{{/if}}
  122. {{#if article.deprecated}}
  123. <p class="deprecated"><span>{{__ "DEPRECATED"}}</span>
  124. {{{markdown article.deprecated.content}}}
  125. </p>
  126. {{/if}}
  127. {{#if article.description}}
  128. <p>{{{nl2br article.description}}}</p>
  129. {{/if}}
  130. <span class="type type__{{toLowerCase article.type}}">{{toLowerCase article.type}}</span>
  131. <pre data-type="{{toLowerCase article.type}}"><code class="language-http">{{article.url}}</code></pre>
  132. {{#if article.permission}}
  133. <p>
  134. {{__ "Permission:"}}
  135. {{#each article.permission}}
  136. {{name}}
  137. {{#if title}}
  138. <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">
  139. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  140. </button>
  141. {{/if}}
  142. {{/each}}
  143. </p>
  144. {{/if}}
  145. {{!-- CODE EXAMPLES IN TABS --}}
  146. {{#if_gt article.examples.length compare=0}}
  147. <ul class="nav nav-tabs nav-tabs-examples">
  148. {{#each article.examples}}
  149. <li{{#if_eq @index compare=0}} class="active"{{/if_eq}}>
  150. <a href="#examples-{{../id}}-{{@index}}">{{title}}</a>
  151. </li>
  152. {{/each}}
  153. </ul>
  154. <div class="tab-content">
  155. {{#each article.examples}}
  156. <div class="tab-pane{{#if_eq @index compare=0}} active{{/if_eq}}" id="examples-{{../id}}-{{@index}}">
  157. <pre data-type="{{type}}"><code class="language-{{type}}">{{content}}</code></pre>
  158. </div>
  159. {{/each}}
  160. </div>
  161. {{/if_gt}}
  162. {{subTemplate "article-param-block" params=article.header _hasType=_hasTypeInHeaderFields section="header"}}
  163. {{subTemplate "article-param-block" params=article.parameter _hasType=_hasTypeInParameterFields section="parameter"}}
  164. {{subTemplate "article-param-block" params=article.success _hasType=_hasTypeInSuccessFields section="success"}}
  165. {{subTemplate "article-param-block" params=article.error _col1="Name" _hasType=_hasTypeInErrorFields section="error"}}
  166. {{subTemplate "article-sample-request" article=article id=id}}
  167. </article>
  168. </script>
  169. <script id="template-article-param-block" type="text/x-handlebars-template">
  170. {{#if params}}
  171. {{#each params.fields}}
  172. <h2>{{__ @key}}</h2>
  173. <table>
  174. <thead>
  175. <tr>
  176. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  177. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  178. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  179. </tr>
  180. </thead>
  181. <tbody>
  182. {{#each this}}
  183. <tr>
  184. <td class="code">{{{splitFill field "." "&nbsp;&nbsp;"}}}{{#if optional}} <span class="label label-optional">{{__ "optional"}}</span>{{/if}}</td>
  185. {{#if ../../_hasType}}
  186. <td>
  187. {{{type}}}
  188. </td>
  189. {{/if}}
  190. <td>
  191. {{{nl2br description}}}
  192. {{#if defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{defaultValue}}}</code></p>{{/if}}
  193. {{#if size}}<p class="type-size">{{__ "Size range:"}} <code>{{{size}}}</code></p>{{/if}}
  194. {{#if allowedValues}}<p class="type-size">{{__ "Allowed values:"}}
  195. {{#each allowedValues}}
  196. <code>{{{this}}}</code>{{#unless @last}}, {{/unless}}
  197. {{/each}}
  198. </p>
  199. {{/if}}
  200. </td>
  201. </tr>
  202. {{/each}}
  203. </tbody>
  204. </table>
  205. {{/each}}
  206. {{#if_gt params.examples.length compare=0}}
  207. <ul class="nav nav-tabs nav-tabs-examples">
  208. {{#each params.examples}}
  209. <li{{#if_eq @index compare=0}} class="active"{{/if_eq}}>
  210. <a href="#{{../section}}-examples-{{../id}}-{{@index}}">{{title}}</a>
  211. </li>
  212. {{/each}}
  213. </ul>
  214. <div class="tab-content">
  215. {{#each params.examples}}
  216. <div class="tab-pane{{#if_eq @index compare=0}} active{{/if_eq}}" id="{{../section}}-examples-{{../id}}-{{@index}}">
  217. <pre data-type="{{type}}"><code class="language-{{type}}">{{reformat content type}}</code></pre>
  218. </div>
  219. {{/each}}
  220. </div>
  221. {{/if_gt}}
  222. {{/if}}
  223. </script>
  224. <script id="template-article-sample-request" type="text/x-handlebars-template">
  225. {{#if article.sampleRequest}}
  226. <h2>{{__ "Send a Sample Request"}}</h2>
  227. <form class="form-horizontal">
  228. <fieldset>
  229. <div class="form-group">
  230. <label class="col-md-3 control-label" for="{{../id}}-sample-request-url"></label>
  231. <div class="input-group">
  232. <input id="{{../id}}-sample-request-url" type="text" class="form-control sample-request-url" value="{{article.sampleRequest.0.url}}" />
  233. <span class="input-group-addon">{{__ "url"}}</span>
  234. </div>
  235. </div>
  236. {{#if article.header}}
  237. {{#if article.header.fields}}
  238. <h3>{{__ "Headers"}}</h3>
  239. {{#each article.header.fields}}
  240. <h4><input type="checkbox" data-sample-request-header-group-id="sample-request-header-{{@index}}" name="{{../id}}-sample-request-header" value="{{@index}}" class="sample-request-header sample-request-switch" checked />{{__ @key}}</h4>
  241. <div class="{{../id}}-sample-request-header-fields">
  242. {{#each this}}
  243. <div class="form-group">
  244. <label class="col-md-3 control-label" for="sample-request-header-field-{{field}}">{{field}}</label>
  245. <div class="input-group">
  246. <input type="text" placeholder="{{field}}" value="{{defaultValue}}" id="sample-request-header-field-{{field}}" class="form-control sample-request-header" data-sample-request-header-name="{{field}}" data-sample-request-header-group="sample-request-header-{{@../index}}">
  247. <span class="input-group-addon">{{{type}}}</span>
  248. </div>
  249. </div>
  250. {{/each}}
  251. </div>
  252. {{/each}}
  253. {{/if}}
  254. {{/if}}
  255. {{#if article.parameter}}
  256. {{#if article.parameter.fields}}
  257. <h3>{{__ "Parameters"}}</h3>
  258. {{#each article.parameter.fields}}
  259. <h4><input type="checkbox" data-sample-request-param-group-id="sample-request-param-{{@index}}" name="{{../id}}-sample-request-param" value="{{@index}}" class="sample-request-param sample-request-switch" checked/>{{__ @key}}
  260. <select name="{{../id}}-sample-header-content-type" class="{{../id}}-sample-request-param-select sample-header-content-type sample-header-content-type-switch">
  261. <option value="undefined" selected>ajax-auto</option>
  262. <option value="body-json" >body/json</option>
  263. <option value="body-form-data" >body/form-data</option>
  264. </select>
  265. </h4>
  266. <div class="{{../id}}-sample-request-param-body {{../id}}-sample-header-content-type-body hide">
  267. <div class="form-group">
  268. <div class="input-group">
  269. <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>
  270. <div class="input-group-addon">json</div>
  271. </div>
  272. </div>
  273. </div>
  274. <div class="{{../id}}-sample-request-param-fields {{../id}}-sample-header-content-type-fields">
  275. {{#each this}}
  276. <div class="form-group">
  277. <label class="col-md-3 control-label" for="sample-request-param-field-{{field}}">{{field}}</label>
  278. <div class="input-group">
  279. <input id="sample-request-param-field-{{field}}" type="{{setInputType type}}" placeholder="{{field}}" class="form-control sample-request-param" data-sample-request-param-name="{{field}}" data-sample-request-param-group="sample-request-param-{{@../index}}" {{#if optional}}data-sample-request-param-optional="true"{{/if}}>
  280. <div class="input-group-addon">{{{type}}}</div>
  281. </div>
  282. </div>
  283. {{/each}}
  284. </div>
  285. {{/each}}
  286. {{/if}}
  287. {{/if}}
  288. <div class="form-group">
  289. <div class="controls pull-right">
  290. <button class="btn btn-primary sample-request-send" data-sample-request-type="{{article.type}}">{{__ "Send"}}</button>
  291. </div>
  292. </div>
  293. <div class="form-group sample-request-response" style="display: none;">
  294. <h3>
  295. {{__ "Response"}}
  296. <button class="btn btn-default btn-xs pull-right sample-request-clear">X</button>
  297. </h3>
  298. <pre data-type="json"><code class="language-json sample-request-response-json"></code></pre>
  299. </div>
  300. </fieldset>
  301. </form>
  302. {{/if}}
  303. </script>
  304. <script id="template-compare-article" type="text/x-handlebars-template">
  305. <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}}">
  306. <div class="pull-left">
  307. <h1>{{underscoreToSpace article.group}} - {{{showDiff article.title compare.title}}}</h1>
  308. </div>
  309. <div class="pull-right">
  310. <div class="btn-group">
  311. <button class="btn btn-success" disabled>
  312. <strong>{{article.version}}</strong> {{__ "compared to"}}
  313. </button>
  314. <button class="version btn btn-danger dropdown-toggle" data-toggle="dropdown">
  315. <strong>{{compare.version}}</strong>&nbsp;<span class="caret"></span>
  316. </button>
  317. <ul class="versions dropdown-menu open-left">
  318. <li class="disabled"><a href="#">{{__ "compare changes to:"}}</a></li>
  319. <li class="divider"></li>
  320. {{#each versions}}
  321. <li class="version"><a href="#">{{this}}</a></li>
  322. {{/each}}
  323. </ul>
  324. </div>
  325. </div>
  326. <div class="clearfix"></div>
  327. {{#if article.description}}
  328. <p>{{{showDiff article.description compare.description "nl2br"}}}</p>
  329. {{else}}
  330. {{#if compare.description}}
  331. <p>{{{showDiff "" compare.description "nl2br"}}}</p>
  332. {{/if}}
  333. {{/if}}
  334. <pre data-type="{{toLowerCase article.type}}"><code class="language-html">{{{showDiff article.url compare.url}}}</code></pre>
  335. {{subTemplate "article-compare-permission" article=article compare=compare}}
  336. <ul class="nav nav-tabs nav-tabs-examples">
  337. {{#each_compare_title article.examples compare.examples}}
  338. {{#if typeSame}}
  339. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  340. <a href="#compare-examples-{{../../article.id}}-{{index}}">{{{showDiff source.title compare.title}}}</a>
  341. </li>
  342. {{/if}}
  343. {{#if typeIns}}
  344. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  345. <a href="#compare-examples-{{../../article.id}}-{{index}}"><ins>{{{source.title}}}</ins></a>
  346. </li>
  347. {{/if}}
  348. {{#if typeDel}}
  349. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  350. <a href="#compare-examples-{{../../article.id}}-{{index}}"><del>{{{compare.title}}}</del></a>
  351. </li>
  352. {{/if}}
  353. {{/each_compare_title}}
  354. </ul>
  355. <div class="tab-content">
  356. {{#each_compare_title article.examples compare.examples}}
  357. {{#if typeSame}}
  358. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="compare-examples-{{../../article.id}}-{{index}}">
  359. <pre data-type="{{source.type}}"><code class="language-{{source.type}}">{{{showDiff source.content compare.content}}}</code></pre>
  360. </div>
  361. {{/if}}
  362. {{#if typeIns}}
  363. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="compare-examples-{{../../article.id}}-{{index}}">
  364. <pre data-type="{{source.type}}"><code class="language-{{source.type}}">{{{source.content}}}</code></pre>
  365. </div>
  366. {{/if}}
  367. {{#if typeDel}}
  368. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="compare-examples-{{../../article.id}}-{{index}}">
  369. <pre data-type="{{compare.type}}"><code class="language-{{source.type}}">{{{compare.content}}}</code></pre>
  370. </div>
  371. {{/if}}
  372. {{/each_compare_title}}
  373. </div>
  374. {{subTemplate "article-compare-param-block" source=article.parameter compare=compare.parameter _hasType=_hasTypeInParameterFields section="parameter"}}
  375. {{subTemplate "article-compare-param-block" source=article.success compare=compare.success _hasType=_hasTypeInSuccessFields section="success"}}
  376. {{subTemplate "article-compare-param-block" source=article.error compare=compare.error _col1="Name" _hasType=_hasTypeInErrorFields section="error"}}
  377. {{subTemplate "article-sample-request" article=article id=id}}
  378. </article>
  379. </script>
  380. <script id="template-article-compare-permission" type="text/x-handlebars-template">
  381. <p>
  382. {{__ "Permission:"}}
  383. {{#each_compare_list_field article.permission compare.permission field="name"}}
  384. {{#if source}}
  385. {{#if typeSame}}
  386. {{source.name}}
  387. {{#if source.title}}
  388. <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">
  389. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  390. </button>
  391. {{#unless _last}}, {{/unless}}
  392. {{/if}}
  393. {{/if}}
  394. {{#if typeIns}}
  395. <ins>{{source.name}}</ins>
  396. {{#if source.title}}
  397. <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">
  398. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  399. </button>
  400. {{#unless _last}}, {{/unless}}
  401. {{/if}}
  402. {{/if}}
  403. {{#if typeDel}}
  404. <del>{{source.name}}</del>
  405. {{#if source.title}}
  406. <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">
  407. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  408. </button>
  409. {{#unless _last}}, {{/unless}}
  410. {{/if}}
  411. {{/if}}
  412. {{else}}
  413. {{#if typeSame}}
  414. {{compare.name}}
  415. {{#if compare.title}}
  416. <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">
  417. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  418. </button>
  419. {{#unless _last}}, {{/unless}}
  420. {{/if}}
  421. {{/if}}
  422. {{#if typeIns}}
  423. <ins>{{compare.name}}</ins>
  424. {{#if compare.title}}
  425. <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">
  426. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  427. </button>
  428. {{#unless _last}}, {{/unless}}
  429. {{/if}}
  430. {{/if}}
  431. {{#if typeDel}}
  432. <del>{{compare.name}}</del>
  433. {{#if compare.title}}
  434. <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">
  435. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  436. </button>
  437. {{#unless _last}}, {{/unless}}
  438. {{/if}}
  439. {{/if}}
  440. {{/if}}
  441. {{/each_compare_list_field}}
  442. </p>
  443. </script>
  444. <script id="template-article-compare-param-block" type="text/x-handlebars-template">
  445. {{#if source}}
  446. {{#each_compare_keys source.fields compare.fields}}
  447. {{#if typeSame}}
  448. <h2>{{__ source.key}}</h2>
  449. <table>
  450. <thead>
  451. <tr>
  452. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  453. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  454. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  455. </tr>
  456. </thead>
  457. {{subTemplate "article-compare-param-block-body" source=source.value compare=compare.value _hasType=../_hasType}}
  458. </table>
  459. {{/if}}
  460. {{#if typeIns}}
  461. <h2><ins>{{__ source.key}}</ins></h2>
  462. <table class="ins">
  463. <thead>
  464. <tr>
  465. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  466. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  467. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  468. </tr>
  469. </thead>
  470. {{subTemplate "article-compare-param-block-body" source=source.value compare=source.value _hasType=../_hasType}}
  471. </table>
  472. {{/if}}
  473. {{#if typeDel}}
  474. <h2><del>{{__ compare.key}}</del></h2>
  475. <table class="del">
  476. <thead>
  477. <tr>
  478. <th style="width: 30%">{{#if ../_col1}}{{__ ../_col1}}{{else}}{{__ "Field"}}{{/if}}</th>
  479. {{#if ../_hasType}}<th style="width: 10%">{{__ "Type"}}</th>{{/if}}
  480. <th style="width: {{#if ../_hasType}}60%{{else}}70%{{/if}}">{{__ "Description"}}</th>
  481. </tr>
  482. </thead>
  483. {{subTemplate "article-compare-param-block-body" source=compare.value compare=compare.value _hasType=../_hasType}}
  484. </table>
  485. {{/if}}
  486. {{/each_compare_keys}}
  487. {{#if source.examples}}
  488. <ul class="nav nav-tabs nav-tabs-examples">
  489. {{#each_compare_title source.examples compare.examples}}
  490. {{#if typeSame}}
  491. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  492. <a href="#{{../../section}}-compare-examples-{{../../article.id}}-{{index}}">{{{showDiff source.title compare.title}}}</a>
  493. </li>
  494. {{/if}}
  495. {{#if typeIns}}
  496. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  497. <a href="#{{../../section}}-compare-examples-{{../../article.id}}-{{index}}"><ins>{{{source.title}}}</ins></a>
  498. </li>
  499. {{/if}}
  500. {{#if typeDel}}
  501. <li{{#if_eq index compare=0}} class="active"{{/if_eq}}>
  502. <a href="#{{../../section}}-compare-examples-{{../../article.id}}-{{index}}"><del>{{{compare.title}}}</del></a>
  503. </li>
  504. {{/if}}
  505. {{/each_compare_title}}
  506. </ul>
  507. <div class="tab-content">
  508. {{#each_compare_title source.examples compare.examples}}
  509. {{#if typeSame}}
  510. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="{{../../section}}-compare-examples-{{../../article.id}}-{{index}}">
  511. <pre data-type="{{source.type}}"><code class="language-{{source.type}}">{{{showDiff source.content compare.content}}}</code></pre>
  512. </div>
  513. {{/if}}
  514. {{#if typeIns}}
  515. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="{{../../section}}-compare-examples-{{../../article.id}}-{{index}}">
  516. <pre data-type="{{source.type}}"><code class="language-{{source.type}}">{{{source.content}}}</code></pre>
  517. </div>
  518. {{/if}}
  519. {{#if typeDel}}
  520. <div class="tab-pane{{#if_eq index compare=0}} active{{/if_eq}}" id="{{../../section}}-compare-examples-{{../../article.id}}-{{index}}">
  521. <pre data-type="{{compare.type}}"><code class="language-{{source.type}}">{{{compare.content}}}</code></pre>
  522. </div>
  523. {{/if}}
  524. {{/each_compare_title}}
  525. </div>
  526. {{/if}}
  527. {{/if}}
  528. </script>
  529. <script id="template-article-compare-param-block-body" type="text/x-handlebars-template">
  530. <tbody>
  531. {{#each_compare_field source compare}}
  532. {{#if typeSame}}
  533. <tr>
  534. <td class="code">
  535. {{{splitFill source.field "." "&nbsp;&nbsp;"}}}
  536. {{#if source.optional}}
  537. {{#if compare.optional}} <span class="label label-optional">{{__ "optional"}}</span>
  538. {{else}} <span class="label label-optional label-ins">{{__ "optional"}}</span>
  539. {{/if}}
  540. {{else}}
  541. {{#if compare.optional}} <span class="label label-optional label-del">{{__ "optional"}}</span>{{/if}}
  542. {{/if}}
  543. </td>
  544. {{#if source.type}}
  545. {{#if compare.type}}
  546. <td>{{{showDiff source.type compare.type}}}</td>
  547. {{else}}
  548. <td>{{{source.type}}}</td>
  549. {{/if}}
  550. {{else}}
  551. {{#if compare.type}}
  552. <td>{{{compare.type}}}</td>
  553. {{else}}
  554. {{#if ../../../../_hasType}}<td></td>{{/if}}
  555. {{/if}}
  556. {{/if}}
  557. <td>
  558. {{{showDiff source.description compare.description "nl2br"}}}
  559. {{#if source.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{showDiff source.defaultValue compare.defaultValue}}}</code><p>{{/if}}
  560. </td>
  561. </tr>
  562. {{/if}}
  563. {{#if typeIns}}
  564. <tr class="ins">
  565. <td class="code">
  566. {{{splitFill source.field "." "&nbsp;&nbsp;"}}}
  567. {{#if source.optional}} <span class="label label-optional label-ins">{{__ "optional"}}</span>{{/if}}
  568. </td>
  569. {{#if source.type}}
  570. <td>{{{source.type}}}</td>
  571. {{else}}
  572. {{{typRowTd}}}
  573. {{/if}}
  574. <td>
  575. {{{nl2br source.description}}}
  576. {{#if source.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{source.defaultValue}}}</code><p>{{/if}}
  577. </td>
  578. </tr>
  579. {{/if}}
  580. {{#if typeDel}}
  581. <tr class="del">
  582. <td class="code">
  583. {{{splitFill compare.field "." "&nbsp;&nbsp;"}}}
  584. {{#if compare.optional}} <span class="label label-optional label-del">{{__ "optional"}}</span>{{/if}}
  585. </td>
  586. {{#if compare.type}}
  587. <td>{{{compare.type}}}</td>
  588. {{else}}
  589. {{{typRowTd}}}
  590. {{/if}}
  591. <td>
  592. {{{nl2br compare.description}}}
  593. {{#if compare.defaultValue}}<p class="default-value">{{__ "Default value:"}} <code>{{{compare.defaultValue}}}</code><p>{{/if}}
  594. </td>
  595. </tr>
  596. {{/if}}
  597. {{/each_compare_field}}
  598. </tbody>
  599. </script>
  600. <div class="container-fluid">
  601. <div class="row">
  602. <div id="sidenav" class="span2"></div>
  603. <div id="content">
  604. <div id="project"></div>
  605. <div id="header"></div>
  606. <div id="sections"></div>
  607. <div id="footer"></div>
  608. <div id="generator"></div>
  609. </div>
  610. </div>
  611. </div>
  612. <div id="loader">
  613. <div class="spinner">
  614. <div class="spinner-container container1">
  615. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  616. </div>
  617. <div class="spinner-container container2">
  618. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  619. </div>
  620. <div class="spinner-container container3">
  621. <div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div>
  622. </div>
  623. <p>Loading...</p>
  624. </div>
  625. </div>
  626. <script data-main="main.js" src="vendor/require.min.js"></script>
  627. </body>
  628. </html>