TasksPage.html 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357
  1. <!doctype html>
  2. <html class="no-js" lang="">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="x-ua-compatible" content="ie=edge">
  6. <title>time1 documentation</title>
  7. <meta name="description" content="">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <link rel="icon" type="image/x-icon" href="../images/favicon.ico">
  10. <link rel="stylesheet" href="../styles/style.css">
  11. <link rel="stylesheet" href="../styles/dark.css">
  12. </head>
  13. <body>
  14. <script>
  15. // Blocking script to avoid flickering dark mode
  16. // Dark mode toggle button
  17. var useDark = window.matchMedia('(prefers-color-scheme: dark)');
  18. var darkModeState = useDark.matches;
  19. var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
  20. var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
  21. var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
  22. function checkToggle(check) {
  23. for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
  24. $darkModeToggleSwitchers[i].checked = check;
  25. }
  26. }
  27. function toggleDarkMode(state) {
  28. if (window.localStorage) {
  29. localStorage.setItem('compodoc_darkmode-state', state);
  30. }
  31. checkToggle(state);
  32. const hasClass = document.body.classList.contains('dark');
  33. if (state) {
  34. for (var i = 0; i < $darkModeToggles.length; i++) {
  35. $darkModeToggles[i].classList.add('dark');
  36. }
  37. if (!hasClass) {
  38. document.body.classList.add('dark');
  39. }
  40. } else {
  41. for (var i = 0; i < $darkModeToggles.length; i++) {
  42. $darkModeToggles[i].classList.remove('dark');
  43. }
  44. if (hasClass) {
  45. document.body.classList.remove('dark');
  46. }
  47. }
  48. }
  49. useDark.addEventListener('change', function (evt) {
  50. toggleDarkMode(evt.matches);
  51. });
  52. if (darkModeStateLocal) {
  53. darkModeState = darkModeStateLocal === 'true';
  54. }
  55. toggleDarkMode(darkModeState);
  56. </script>
  57. <div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
  58. <div class="d-flex">
  59. <a href="../" class="navbar-brand">time1 documentation</a>
  60. <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
  61. </div>
  62. </div>
  63. <div class="xs-menu menu" id="mobile-menu">
  64. <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
  65. </div>
  66. <div class="container-fluid main">
  67. <div class="row main">
  68. <div class="d-none d-md-block menu">
  69. <compodoc-menu mode="normal"></compodoc-menu>
  70. </div>
  71. <!-- START CONTENT -->
  72. <div class="content component">
  73. <div class="content-data">
  74. <ol class="breadcrumb">
  75. <li class="breadcrumb-item">Components</li>
  76. <li class="breadcrumb-item"
  77. >
  78. TasksPage</li>
  79. </ol>
  80. <ul class="nav nav-tabs" role="tablist">
  81. <li class="nav-item">
  82. <a href="#info" class="nav-link active"
  83. role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
  84. </li>
  85. <li class="nav-item">
  86. <a href="#source" class="nav-link"
  87. role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
  88. </li>
  89. <li class="nav-item">
  90. <a href="#templateData" class="nav-link"
  91. role="tab" id="templateData-tab" data-bs-toggle="tab" data-link="template">Template</a>
  92. </li>
  93. <li class="nav-item">
  94. <a href="#styleData" class="nav-link"
  95. role="tab" id="styleData-tab" data-bs-toggle="tab" data-link="style">Styles</a>
  96. </li>
  97. <li class="nav-item">
  98. <a href="#tree" class="nav-link"
  99. role="tab" id="tree-tab" data-bs-toggle="tab" data-link="dom-tree">DOM Tree</a>
  100. </li>
  101. </ul>
  102. <div class="tab-content">
  103. <div class="tab-pane fade active in" id="info"><p class="comment">
  104. <h3>File</h3>
  105. </p>
  106. <p class="comment">
  107. <code>src/app/tasks/tasks.page.ts</code>
  108. </p>
  109. <section data-compodoc="block-metadata">
  110. <h3>Metadata</h3>
  111. <table class="table table-sm table-hover metadata">
  112. <tbody>
  113. <tr>
  114. <td class="col-md-3">selector</td>
  115. <td class="col-md-9"><code>app-tasks</code></td>
  116. </tr>
  117. <tr>
  118. <td class="col-md-3">styleUrls</td>
  119. <td class="col-md-9"><code>./tasks.page.scss</code></td>
  120. </tr>
  121. <tr>
  122. <td class="col-md-3">templateUrl</td>
  123. <td class="col-md-9"><code>./tasks.page.html</code></td>
  124. </tr>
  125. </tbody>
  126. </table>
  127. </section>
  128. <section data-compodoc="block-index">
  129. <h3 id="index">Index</h3>
  130. <table class="table table-sm table-bordered index-table">
  131. <tbody>
  132. <tr>
  133. <td class="col-md-4">
  134. <h6><b>Properties</b></h6>
  135. </td>
  136. </tr>
  137. <tr>
  138. <td class="col-md-4">
  139. <ul class="index-list">
  140. <li>
  141. <a href="#tasks" >tasks</a>
  142. </li>
  143. </ul>
  144. </td>
  145. </tr>
  146. <tr>
  147. <td class="col-md-4">
  148. <h6><b>Methods</b></h6>
  149. </td>
  150. </tr>
  151. <tr>
  152. <td class="col-md-4">
  153. <ul class="index-list">
  154. <li>
  155. <a href="#addTask" >addTask</a>
  156. </li>
  157. <li>
  158. <a href="#clearTime" >clearTime</a>
  159. </li>
  160. <li>
  161. <a href="#deleteTask" >deleteTask</a>
  162. </li>
  163. <li>
  164. <a href="#editTask" >editTask</a>
  165. </li>
  166. <li>
  167. <a href="#formatHour" >formatHour</a>
  168. </li>
  169. <li>
  170. <a href="#formatMinute" >formatMinute</a>
  171. </li>
  172. <li>
  173. <a href="#isValidTime" >isValidTime</a>
  174. </li>
  175. <li>
  176. <a href="#padZero" >padZero</a>
  177. </li>
  178. <li>
  179. <span class="modifier">Async</span>
  180. <a href="#saveTask" >saveTask</a>
  181. </li>
  182. <li>
  183. <a href="#sortTasks" >sortTasks</a>
  184. </li>
  185. </ul>
  186. </td>
  187. </tr>
  188. </tbody>
  189. </table>
  190. </section>
  191. <section data-compodoc="block-constructor">
  192. <h3 id="constructor">Constructor</h3>
  193. <table class="table table-sm table-bordered">
  194. <tbody>
  195. <tr>
  196. <td class="col-md-4">
  197. <code>constructor(alertController: AlertController)</code>
  198. </td>
  199. </tr>
  200. <tr>
  201. <td class="col-md-4">
  202. <div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/tasks/tasks.page.ts:15</a></div>
  203. </td>
  204. </tr>
  205. <tr>
  206. <td class="col-md-4">
  207. <div>
  208. <b>Parameters :</b>
  209. <table class="params">
  210. <thead>
  211. <tr>
  212. <td>Name</td>
  213. <td>Type</td>
  214. <td>Optional</td>
  215. </tr>
  216. </thead>
  217. <tbody>
  218. <tr>
  219. <td>alertController</td>
  220. <td>
  221. <code>AlertController</code>
  222. </td>
  223. <td>
  224. No
  225. </td>
  226. </tr>
  227. </tbody>
  228. </table>
  229. </div>
  230. </td>
  231. </tr>
  232. </tbody>
  233. </table>
  234. </section>
  235. <section data-compodoc="block-methods">
  236. <h3 id="methods">
  237. Methods
  238. </h3>
  239. <table class="table table-sm table-bordered">
  240. <tbody>
  241. <tr>
  242. <td class="col-md-4">
  243. <a name="addTask"></a>
  244. <span class="name">
  245. <span ><b>addTask</b></span>
  246. <a href="#addTask"><span class="icon ion-ios-link"></span></a>
  247. </span>
  248. </td>
  249. </tr>
  250. <tr>
  251. <td class="col-md-4">
  252. <code>addTask()</code>
  253. </td>
  254. </tr>
  255. <tr>
  256. <td class="col-md-4">
  257. <div class="io-line">Defined in <a href="" data-line="40"
  258. class="link-to-prism">src/app/tasks/tasks.page.ts:40</a></div>
  259. </td>
  260. </tr>
  261. <tr>
  262. <td class="col-md-4">
  263. <div class="io-description">
  264. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  265. </div>
  266. </td>
  267. </tr>
  268. </tbody>
  269. </table>
  270. <table class="table table-sm table-bordered">
  271. <tbody>
  272. <tr>
  273. <td class="col-md-4">
  274. <a name="clearTime"></a>
  275. <span class="name">
  276. <span ><b>clearTime</b></span>
  277. <a href="#clearTime"><span class="icon ion-ios-link"></span></a>
  278. </span>
  279. </td>
  280. </tr>
  281. <tr>
  282. <td class="col-md-4">
  283. <code>clearTime(task: literal type, type: "start" | "end")</code>
  284. </td>
  285. </tr>
  286. <tr>
  287. <td class="col-md-4">
  288. <div class="io-line">Defined in <a href="" data-line="48"
  289. class="link-to-prism">src/app/tasks/tasks.page.ts:48</a></div>
  290. </td>
  291. </tr>
  292. <tr>
  293. <td class="col-md-4">
  294. <div class="io-description">
  295. <b>Parameters :</b>
  296. <table class="params">
  297. <thead>
  298. <tr>
  299. <td>Name</td>
  300. <td>Type</td>
  301. <td>Optional</td>
  302. </tr>
  303. </thead>
  304. <tbody>
  305. <tr>
  306. <td>task</td>
  307. <td>
  308. <code>literal type</code>
  309. </td>
  310. <td>
  311. No
  312. </td>
  313. </tr>
  314. <tr>
  315. <td>type</td>
  316. <td>
  317. <code>&quot;start&quot; | &quot;end&quot;</code>
  318. </td>
  319. <td>
  320. No
  321. </td>
  322. </tr>
  323. </tbody>
  324. </table>
  325. </div>
  326. <div class="io-description">
  327. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  328. </div>
  329. <div class="io-description">
  330. </div>
  331. </td>
  332. </tr>
  333. </tbody>
  334. </table>
  335. <table class="table table-sm table-bordered">
  336. <tbody>
  337. <tr>
  338. <td class="col-md-4">
  339. <a name="deleteTask"></a>
  340. <span class="name">
  341. <span ><b>deleteTask</b></span>
  342. <a href="#deleteTask"><span class="icon ion-ios-link"></span></a>
  343. </span>
  344. </td>
  345. </tr>
  346. <tr>
  347. <td class="col-md-4">
  348. <code>deleteTask(index: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank">number</a>)</code>
  349. </td>
  350. </tr>
  351. <tr>
  352. <td class="col-md-4">
  353. <div class="io-line">Defined in <a href="" data-line="44"
  354. class="link-to-prism">src/app/tasks/tasks.page.ts:44</a></div>
  355. </td>
  356. </tr>
  357. <tr>
  358. <td class="col-md-4">
  359. <div class="io-description">
  360. <b>Parameters :</b>
  361. <table class="params">
  362. <thead>
  363. <tr>
  364. <td>Name</td>
  365. <td>Type</td>
  366. <td>Optional</td>
  367. </tr>
  368. </thead>
  369. <tbody>
  370. <tr>
  371. <td>index</td>
  372. <td>
  373. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
  374. </td>
  375. <td>
  376. No
  377. </td>
  378. </tr>
  379. </tbody>
  380. </table>
  381. </div>
  382. <div class="io-description">
  383. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  384. </div>
  385. <div class="io-description">
  386. </div>
  387. </td>
  388. </tr>
  389. </tbody>
  390. </table>
  391. <table class="table table-sm table-bordered">
  392. <tbody>
  393. <tr>
  394. <td class="col-md-4">
  395. <a name="editTask"></a>
  396. <span class="name">
  397. <span ><b>editTask</b></span>
  398. <a href="#editTask"><span class="icon ion-ios-link"></span></a>
  399. </span>
  400. </td>
  401. </tr>
  402. <tr>
  403. <td class="col-md-4">
  404. <code>editTask(index: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank">number</a>)</code>
  405. </td>
  406. </tr>
  407. <tr>
  408. <td class="col-md-4">
  409. <div class="io-line">Defined in <a href="" data-line="19"
  410. class="link-to-prism">src/app/tasks/tasks.page.ts:19</a></div>
  411. </td>
  412. </tr>
  413. <tr>
  414. <td class="col-md-4">
  415. <div class="io-description">
  416. <b>Parameters :</b>
  417. <table class="params">
  418. <thead>
  419. <tr>
  420. <td>Name</td>
  421. <td>Type</td>
  422. <td>Optional</td>
  423. </tr>
  424. </thead>
  425. <tbody>
  426. <tr>
  427. <td>index</td>
  428. <td>
  429. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
  430. </td>
  431. <td>
  432. No
  433. </td>
  434. </tr>
  435. </tbody>
  436. </table>
  437. </div>
  438. <div class="io-description">
  439. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  440. </div>
  441. <div class="io-description">
  442. </div>
  443. </td>
  444. </tr>
  445. </tbody>
  446. </table>
  447. <table class="table table-sm table-bordered">
  448. <tbody>
  449. <tr>
  450. <td class="col-md-4">
  451. <a name="formatHour"></a>
  452. <span class="name">
  453. <span ><b>formatHour</b></span>
  454. <a href="#formatHour"><span class="icon ion-ios-link"></span></a>
  455. </span>
  456. </td>
  457. </tr>
  458. <tr>
  459. <td class="col-md-4">
  460. <code>formatHour(task: literal type, type: "start" | "end")</code>
  461. </td>
  462. </tr>
  463. <tr>
  464. <td class="col-md-4">
  465. <div class="io-line">Defined in <a href="" data-line="58"
  466. class="link-to-prism">src/app/tasks/tasks.page.ts:58</a></div>
  467. </td>
  468. </tr>
  469. <tr>
  470. <td class="col-md-4">
  471. <div class="io-description">
  472. <b>Parameters :</b>
  473. <table class="params">
  474. <thead>
  475. <tr>
  476. <td>Name</td>
  477. <td>Type</td>
  478. <td>Optional</td>
  479. </tr>
  480. </thead>
  481. <tbody>
  482. <tr>
  483. <td>task</td>
  484. <td>
  485. <code>literal type</code>
  486. </td>
  487. <td>
  488. No
  489. </td>
  490. </tr>
  491. <tr>
  492. <td>type</td>
  493. <td>
  494. <code>&quot;start&quot; | &quot;end&quot;</code>
  495. </td>
  496. <td>
  497. No
  498. </td>
  499. </tr>
  500. </tbody>
  501. </table>
  502. </div>
  503. <div class="io-description">
  504. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  505. </div>
  506. <div class="io-description">
  507. </div>
  508. </td>
  509. </tr>
  510. </tbody>
  511. </table>
  512. <table class="table table-sm table-bordered">
  513. <tbody>
  514. <tr>
  515. <td class="col-md-4">
  516. <a name="formatMinute"></a>
  517. <span class="name">
  518. <span ><b>formatMinute</b></span>
  519. <a href="#formatMinute"><span class="icon ion-ios-link"></span></a>
  520. </span>
  521. </td>
  522. </tr>
  523. <tr>
  524. <td class="col-md-4">
  525. <code>formatMinute(task: literal type, type: "start" | "end")</code>
  526. </td>
  527. </tr>
  528. <tr>
  529. <td class="col-md-4">
  530. <div class="io-line">Defined in <a href="" data-line="66"
  531. class="link-to-prism">src/app/tasks/tasks.page.ts:66</a></div>
  532. </td>
  533. </tr>
  534. <tr>
  535. <td class="col-md-4">
  536. <div class="io-description">
  537. <b>Parameters :</b>
  538. <table class="params">
  539. <thead>
  540. <tr>
  541. <td>Name</td>
  542. <td>Type</td>
  543. <td>Optional</td>
  544. </tr>
  545. </thead>
  546. <tbody>
  547. <tr>
  548. <td>task</td>
  549. <td>
  550. <code>literal type</code>
  551. </td>
  552. <td>
  553. No
  554. </td>
  555. </tr>
  556. <tr>
  557. <td>type</td>
  558. <td>
  559. <code>&quot;start&quot; | &quot;end&quot;</code>
  560. </td>
  561. <td>
  562. No
  563. </td>
  564. </tr>
  565. </tbody>
  566. </table>
  567. </div>
  568. <div class="io-description">
  569. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  570. </div>
  571. <div class="io-description">
  572. </div>
  573. </td>
  574. </tr>
  575. </tbody>
  576. </table>
  577. <table class="table table-sm table-bordered">
  578. <tbody>
  579. <tr>
  580. <td class="col-md-4">
  581. <a name="isValidTime"></a>
  582. <span class="name">
  583. <span ><b>isValidTime</b></span>
  584. <a href="#isValidTime"><span class="icon ion-ios-link"></span></a>
  585. </span>
  586. </td>
  587. </tr>
  588. <tr>
  589. <td class="col-md-4">
  590. <code>isValidTime(hour: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, minute: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
  591. </td>
  592. </tr>
  593. <tr>
  594. <td class="col-md-4">
  595. <div class="io-line">Defined in <a href="" data-line="78"
  596. class="link-to-prism">src/app/tasks/tasks.page.ts:78</a></div>
  597. </td>
  598. </tr>
  599. <tr>
  600. <td class="col-md-4">
  601. <div class="io-description">
  602. <b>Parameters :</b>
  603. <table class="params">
  604. <thead>
  605. <tr>
  606. <td>Name</td>
  607. <td>Type</td>
  608. <td>Optional</td>
  609. </tr>
  610. </thead>
  611. <tbody>
  612. <tr>
  613. <td>hour</td>
  614. <td>
  615. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
  616. </td>
  617. <td>
  618. No
  619. </td>
  620. </tr>
  621. <tr>
  622. <td>minute</td>
  623. <td>
  624. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
  625. </td>
  626. <td>
  627. No
  628. </td>
  629. </tr>
  630. </tbody>
  631. </table>
  632. </div>
  633. <div class="io-description">
  634. <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
  635. </div>
  636. <div class="io-description">
  637. </div>
  638. </td>
  639. </tr>
  640. </tbody>
  641. </table>
  642. <table class="table table-sm table-bordered">
  643. <tbody>
  644. <tr>
  645. <td class="col-md-4">
  646. <a name="padZero"></a>
  647. <span class="name">
  648. <span ><b>padZero</b></span>
  649. <a href="#padZero"><span class="icon ion-ios-link"></span></a>
  650. </span>
  651. </td>
  652. </tr>
  653. <tr>
  654. <td class="col-md-4">
  655. <code>padZero(num: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
  656. </td>
  657. </tr>
  658. <tr>
  659. <td class="col-md-4">
  660. <div class="io-line">Defined in <a href="" data-line="74"
  661. class="link-to-prism">src/app/tasks/tasks.page.ts:74</a></div>
  662. </td>
  663. </tr>
  664. <tr>
  665. <td class="col-md-4">
  666. <div class="io-description">
  667. <b>Parameters :</b>
  668. <table class="params">
  669. <thead>
  670. <tr>
  671. <td>Name</td>
  672. <td>Type</td>
  673. <td>Optional</td>
  674. </tr>
  675. </thead>
  676. <tbody>
  677. <tr>
  678. <td>num</td>
  679. <td>
  680. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
  681. </td>
  682. <td>
  683. No
  684. </td>
  685. </tr>
  686. </tbody>
  687. </table>
  688. </div>
  689. <div class="io-description">
  690. <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
  691. </div>
  692. <div class="io-description">
  693. </div>
  694. </td>
  695. </tr>
  696. </tbody>
  697. </table>
  698. <table class="table table-sm table-bordered">
  699. <tbody>
  700. <tr>
  701. <td class="col-md-4">
  702. <a name="saveTask"></a>
  703. <span class="name">
  704. <span class="modifier">Async</span>
  705. <span ><b>saveTask</b></span>
  706. <a href="#saveTask"><span class="icon ion-ios-link"></span></a>
  707. </span>
  708. </td>
  709. </tr>
  710. <tr>
  711. <td class="col-md-4">
  712. <span class="modifier-icon icon ion-ios-reset"></span>
  713. <code>saveTask(index: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank">number</a>)</code>
  714. </td>
  715. </tr>
  716. <tr>
  717. <td class="col-md-4">
  718. <div class="io-line">Defined in <a href="" data-line="23"
  719. class="link-to-prism">src/app/tasks/tasks.page.ts:23</a></div>
  720. </td>
  721. </tr>
  722. <tr>
  723. <td class="col-md-4">
  724. <div class="io-description">
  725. <b>Parameters :</b>
  726. <table class="params">
  727. <thead>
  728. <tr>
  729. <td>Name</td>
  730. <td>Type</td>
  731. <td>Optional</td>
  732. </tr>
  733. </thead>
  734. <tbody>
  735. <tr>
  736. <td>index</td>
  737. <td>
  738. <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
  739. </td>
  740. <td>
  741. No
  742. </td>
  743. </tr>
  744. </tbody>
  745. </table>
  746. </div>
  747. <div class="io-description">
  748. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
  749. </div>
  750. <div class="io-description">
  751. </div>
  752. </td>
  753. </tr>
  754. </tbody>
  755. </table>
  756. <table class="table table-sm table-bordered">
  757. <tbody>
  758. <tr>
  759. <td class="col-md-4">
  760. <a name="sortTasks"></a>
  761. <span class="name">
  762. <span ><b>sortTasks</b></span>
  763. <a href="#sortTasks"><span class="icon ion-ios-link"></span></a>
  764. </span>
  765. </td>
  766. </tr>
  767. <tr>
  768. <td class="col-md-4">
  769. <code>sortTasks()</code>
  770. </td>
  771. </tr>
  772. <tr>
  773. <td class="col-md-4">
  774. <div class="io-line">Defined in <a href="" data-line="84"
  775. class="link-to-prism">src/app/tasks/tasks.page.ts:84</a></div>
  776. </td>
  777. </tr>
  778. <tr>
  779. <td class="col-md-4">
  780. <div class="io-description">
  781. <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
  782. </div>
  783. </td>
  784. </tr>
  785. </tbody>
  786. </table>
  787. </section>
  788. <section data-compodoc="block-properties">
  789. <h3 id="inputs">
  790. Properties
  791. </h3>
  792. <table class="table table-sm table-bordered">
  793. <tbody>
  794. <tr>
  795. <td class="col-md-4">
  796. <a name="tasks"></a>
  797. <span class="name">
  798. <span ><b>tasks</b></span>
  799. <a href="#tasks"><span class="icon ion-ios-link"></span></a>
  800. </span>
  801. </td>
  802. </tr>
  803. <tr>
  804. <td class="col-md-4">
  805. <i>Type : </i> <code>literal type[]</code>
  806. </td>
  807. </tr>
  808. <tr>
  809. <td class="col-md-4">
  810. <i>Default value : </i><code>[
  811. { startTime: &#x27;08:00&#x27;, endTime: &#x27;11:30&#x27;, content: &#x27;早间任务&#x27;, editing: false, startHour: &#x27;08&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;11&#x27;, endMinute: &#x27;30&#x27; },
  812. { startTime: &#x27;12:00&#x27;, endTime: &#x27;17:30&#x27;, content: &#x27;中间任务&#x27;, editing: false, startHour: &#x27;12&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;17&#x27;, endMinute: &#x27;30&#x27; },
  813. { startTime: &#x27;18:00&#x27;, endTime: &#x27;21:30&#x27;, content: &#x27;晚间任务&#x27;, editing: false, startHour: &#x27;18&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;21&#x27;, endMinute: &#x27;30&#x27; },
  814. // Add more tasks as needed
  815. ]</code>
  816. </td>
  817. </tr>
  818. <tr>
  819. <td class="col-md-4">
  820. <div class="io-line">Defined in <a href="" data-line="10" class="link-to-prism">src/app/tasks/tasks.page.ts:10</a></div>
  821. </td>
  822. </tr>
  823. </tbody>
  824. </table>
  825. </section>
  826. </div>
  827. <div class="tab-pane fade tab-source-code" id="source">
  828. <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Component } from &#x27;@angular/core&#x27;;
  829. import { AlertController } from &#x27;@ionic/angular&#x27;;
  830. @Component({
  831. selector: &#x27;app-tasks&#x27;,
  832. templateUrl: &#x27;./tasks.page.html&#x27;,
  833. styleUrls: [&#x27;./tasks.page.scss&#x27;],
  834. })
  835. export class TasksPage {
  836. tasks: { startTime: string; endTime: string; content: string; editing: boolean; startHour: string; startMinute: string; endHour: string; endMinute: string; }[] &#x3D; [
  837. { startTime: &#x27;08:00&#x27;, endTime: &#x27;11:30&#x27;, content: &#x27;早间任务&#x27;, editing: false, startHour: &#x27;08&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;11&#x27;, endMinute: &#x27;30&#x27; },
  838. { startTime: &#x27;12:00&#x27;, endTime: &#x27;17:30&#x27;, content: &#x27;中间任务&#x27;, editing: false, startHour: &#x27;12&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;17&#x27;, endMinute: &#x27;30&#x27; },
  839. { startTime: &#x27;18:00&#x27;, endTime: &#x27;21:30&#x27;, content: &#x27;晚间任务&#x27;, editing: false, startHour: &#x27;18&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;21&#x27;, endMinute: &#x27;30&#x27; },
  840. // Add more tasks as needed
  841. ];
  842. constructor(private alertController: AlertController) {}
  843. editTask(index: number) {
  844. this.tasks[index].editing &#x3D; true;
  845. }
  846. async saveTask(index: number) {
  847. const task &#x3D; this.tasks[index];
  848. if (this.isValidTime(task.startHour, task.startMinute) &amp;&amp; this.isValidTime(task.endHour, task.endMinute)) {
  849. task.startTime &#x3D; &#x60;${this.padZero(task.startHour)}:${this.padZero(task.startMinute)}&#x60;;
  850. task.endTime &#x3D; &#x60;${this.padZero(task.endHour)}:${this.padZero(task.endMinute)}&#x60;;
  851. task.editing &#x3D; false;
  852. this.sortTasks();
  853. } else {
  854. const alert &#x3D; await this.alertController.create({
  855. header: &#x27;时间错误&#x27;,
  856. message: &#x27;小时不能超过24,分钟不能超过60。&#x27;,
  857. buttons: [&#x27;确定&#x27;]
  858. });
  859. await alert.present();
  860. }
  861. }
  862. addTask() {
  863. this.tasks.push({ startTime: &#x27;00:00&#x27;, endTime: &#x27;00:00&#x27;, content: &#x27;新任务&#x27;, editing: true, startHour: &#x27;00&#x27;, startMinute: &#x27;00&#x27;, endHour: &#x27;00&#x27;, endMinute: &#x27;00&#x27; });
  864. }
  865. deleteTask(index: number) {
  866. this.tasks.splice(index, 1);
  867. }
  868. clearTime(task: { startHour: string; startMinute: string; endHour: string; endMinute: string; }, type: &#x27;start&#x27; | &#x27;end&#x27;) {
  869. if (type &#x3D;&#x3D;&#x3D; &#x27;start&#x27;) {
  870. task.startHour &#x3D; &#x27;&#x27;;
  871. task.startMinute &#x3D; &#x27;&#x27;;
  872. } else {
  873. task.endHour &#x3D; &#x27;&#x27;;
  874. task.endMinute &#x3D; &#x27;&#x27;;
  875. }
  876. }
  877. formatHour(task: { startHour: string; endHour: string; }, type: &#x27;start&#x27; | &#x27;end&#x27;) {
  878. if (type &#x3D;&#x3D;&#x3D; &#x27;start&#x27; &amp;&amp; task.startHour) {
  879. task.startHour &#x3D; this.padZero(task.startHour);
  880. } else if (type &#x3D;&#x3D;&#x3D; &#x27;end&#x27; &amp;&amp; task.endHour) {
  881. task.endHour &#x3D; this.padZero(task.endHour);
  882. }
  883. }
  884. formatMinute(task: { startMinute: string; endMinute: string; }, type: &#x27;start&#x27; | &#x27;end&#x27;) {
  885. if (type &#x3D;&#x3D;&#x3D; &#x27;start&#x27; &amp;&amp; task.startMinute) {
  886. task.startMinute &#x3D; this.padZero(task.startMinute);
  887. } else if (type &#x3D;&#x3D;&#x3D; &#x27;end&#x27; &amp;&amp; task.endMinute) {
  888. task.endMinute &#x3D; this.padZero(task.endMinute);
  889. }
  890. }
  891. padZero(num: string): string {
  892. return num.length &lt; 2 ? &#x27;0&#x27; + num : num;
  893. }
  894. isValidTime(hour: string, minute: string): boolean {
  895. const h &#x3D; parseInt(hour, 10);
  896. const m &#x3D; parseInt(minute, 10);
  897. return h &gt;&#x3D; 0 &amp;&amp; h &lt; 24 &amp;&amp; m &gt;&#x3D; 0 &amp;&amp; m &lt; 60;
  898. }
  899. sortTasks() {
  900. this.tasks.sort((a, b) &#x3D;&gt; {
  901. const aStart &#x3D; parseInt(a.startHour) * 60 + parseInt(a.startMinute);
  902. const bStart &#x3D; parseInt(b.startHour) * 60 + parseInt(b.startMinute);
  903. return aStart - bStart;
  904. });
  905. }
  906. }
  907. </code></pre>
  908. </div>
  909. <div class="tab-pane fade " id="templateData">
  910. <pre class="line-numbers"><code class="language-html">&lt;ion-header&gt;
  911. &lt;ion-toolbar&gt;
  912. &lt;ion-title&gt;任务管理&lt;/ion-title&gt;
  913. &lt;/ion-toolbar&gt;
  914. &lt;/ion-header&gt;
  915. &lt;ion-content&gt;
  916. &lt;div *ngIf&#x3D;&quot;tasks.length &#x3D;&#x3D;&#x3D; 0&quot; class&#x3D;&quot;empty-tasks&quot;&gt;
  917. &lt;ion-text color&#x3D;&quot;medium&quot;&gt;
  918. &lt;h2&gt;您的任务空空如也,来添加一些任务吧!&lt;/h2&gt;
  919. &lt;/ion-text&gt;
  920. &lt;/div&gt;
  921. &lt;ion-list *ngIf&#x3D;&quot;tasks.length &gt; 0&quot;&gt;
  922. &lt;ion-item-sliding *ngFor&#x3D;&quot;let task of tasks; let i &#x3D; index&quot;&gt;
  923. &lt;ion-item&gt;
  924. &lt;ion-button fill&#x3D;&quot;outline&quot; (click)&#x3D;&quot;editTask(i)&quot; slot&#x3D;&quot;start&quot; class&#x3D;&quot;edit-button&quot;&gt;
  925. &lt;ion-icon name&#x3D;&quot;create-outline&quot;&gt;&lt;/ion-icon&gt;
  926. &lt;/ion-button&gt;
  927. &lt;ion-label *ngIf&#x3D;&quot;!task.editing&quot; class&#x3D;&quot;time-label&quot;&gt;{{task.startTime}} - {{task.endTime}}&lt;/ion-label&gt;
  928. &lt;div *ngIf&#x3D;&quot;task.editing&quot; class&#x3D;&quot;time-edit&quot;&gt;
  929. &lt;ion-input [(ngModel)]&#x3D;&quot;task.startHour&quot; (ionBlur)&#x3D;&quot;formatHour(task, &#x27;start&#x27;)&quot; placeholder&#x3D;&quot;时&quot; type&#x3D;&quot;text&quot; inputmode&#x3D;&quot;numeric&quot; maxlength&#x3D;&quot;2&quot; class&#x3D;&quot;time-input&quot;&gt;&lt;/ion-input&gt;
  930. &lt;span&gt;:&lt;/span&gt;
  931. &lt;ion-input [(ngModel)]&#x3D;&quot;task.startMinute&quot; (ionBlur)&#x3D;&quot;formatMinute(task, &#x27;start&#x27;)&quot; placeholder&#x3D;&quot;分&quot; type&#x3D;&quot;text&quot; inputmode&#x3D;&quot;numeric&quot; maxlength&#x3D;&quot;2&quot; class&#x3D;&quot;time-input&quot;&gt;&lt;/ion-input&gt;
  932. &lt;span&gt; - &lt;/span&gt;
  933. &lt;ion-input [(ngModel)]&#x3D;&quot;task.endHour&quot; (ionBlur)&#x3D;&quot;formatHour(task, &#x27;end&#x27;)&quot; placeholder&#x3D;&quot;时&quot; type&#x3D;&quot;text&quot; inputmode&#x3D;&quot;numeric&quot; maxlength&#x3D;&quot;2&quot; class&#x3D;&quot;time-input&quot;&gt;&lt;/ion-input&gt;
  934. &lt;span&gt;:&lt;/span&gt;
  935. &lt;ion-input [(ngModel)]&#x3D;&quot;task.endMinute&quot; (ionBlur)&#x3D;&quot;formatMinute(task, &#x27;end&#x27;)&quot; placeholder&#x3D;&quot;分&quot; type&#x3D;&quot;text&quot; inputmode&#x3D;&quot;numeric&quot; maxlength&#x3D;&quot;2&quot; class&#x3D;&quot;time-input&quot;&gt;&lt;/ion-input&gt;
  936. &lt;/div&gt;
  937. &lt;ion-label *ngIf&#x3D;&quot;!task.editing&quot; class&#x3D;&quot;content-label&quot;&gt;{{task.content}}&lt;/ion-label&gt;
  938. &lt;ion-input *ngIf&#x3D;&quot;task.editing&quot; [(ngModel)]&#x3D;&quot;task.content&quot; class&#x3D;&quot;content-input&quot;&gt;&lt;/ion-input&gt;
  939. &lt;ion-button *ngIf&#x3D;&quot;task.editing&quot; (click)&#x3D;&quot;saveTask(i)&quot; slot&#x3D;&quot;end&quot; class&#x3D;&quot;save-button&quot;&gt;
  940. &lt;ion-icon name&#x3D;&quot;checkmark-outline&quot;&gt;&lt;/ion-icon&gt;
  941. &lt;/ion-button&gt;
  942. &lt;/ion-item&gt;
  943. &lt;ion-item-options side&#x3D;&quot;end&quot;&gt;
  944. &lt;ion-item-option color&#x3D;&quot;danger&quot; (click)&#x3D;&quot;deleteTask(i)&quot; class&#x3D;&quot;delete-button&quot;&gt;删除&lt;/ion-item-option&gt;
  945. &lt;/ion-item-options&gt;
  946. &lt;/ion-item-sliding&gt;
  947. &lt;/ion-list&gt;
  948. &lt;ion-fab vertical&#x3D;&quot;bottom&quot; horizontal&#x3D;&quot;center&quot; slot&#x3D;&quot;fixed&quot;&gt;
  949. &lt;ion-fab-button (click)&#x3D;&quot;addTask()&quot;&gt;
  950. &lt;ion-icon name&#x3D;&quot;add-outline&quot;&gt;&lt;/ion-icon&gt;
  951. &lt;/ion-fab-button&gt;
  952. &lt;/ion-fab&gt;
  953. &lt;/ion-content&gt;
  954. </code></pre>
  955. </div>
  956. <div class="tab-pane fade " id="styleData">
  957. <p class="comment">
  958. <code>./tasks.page.scss</code>
  959. </p>
  960. <pre class="line-numbers"><code class="language-scss">ion-content {
  961. --background: #f0f0f5;
  962. .empty-tasks {
  963. display: flex;
  964. justify-content: center;
  965. align-items: center;
  966. height: 100%;
  967. text-align: center;
  968. }
  969. ion-list {
  970. margin: 20px;
  971. ion-item {
  972. --background: #ffffff;
  973. --border-radius: 8px;
  974. margin-bottom: 15px;
  975. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  976. height: 100px; /* Increased height for better touch area */
  977. align-items: center; /* Center content vertically */
  978. display: flex; /* Use flexbox for vertical alignment */
  979. font-size: 18px;
  980. .edit-button, .save-button {
  981. font-size: 24px;
  982. }
  983. .time-label, .content-label, .content-input, .time-input {
  984. flex: 1; /* Ensure content takes up available space */
  985. text-align: center; /* Center text horizontally */
  986. }
  987. .time-edit {
  988. display: flex;
  989. align-items: center;
  990. justify-content: center;
  991. flex: 1; /* Ensure the time-edit div takes up available space */
  992. font-size: 18px;
  993. ion-input {
  994. max-width: 50px;
  995. margin: 0 5px;
  996. text-align: center;
  997. --padding-start: 0;
  998. --padding-end: 0;
  999. --border: none; /* Remove underline */
  1000. }
  1001. span {
  1002. margin: 0 5px;
  1003. }
  1004. }
  1005. }
  1006. }
  1007. .delete-button {
  1008. width: 100px; /* Increased width for better touch area */
  1009. display: flex;
  1010. justify-content: center;
  1011. align-items: center;
  1012. height: 100%; /* Ensure button height matches item height */
  1013. }
  1014. ion-fab {
  1015. margin-bottom: 20px;
  1016. ion-fab-button {
  1017. --background: #3880ff;
  1018. --color: white;
  1019. }
  1020. }
  1021. }
  1022. </code></pre>
  1023. </div>
  1024. <div class="tab-pane fade " id="tree">
  1025. <div id="tree-container"></div>
  1026. <div class="tree-legend">
  1027. <div class="title">
  1028. <b>Legend</b>
  1029. </div>
  1030. <div>
  1031. <div class="color htmlelement"></div><span>Html element</span>
  1032. </div>
  1033. <div>
  1034. <div class="color component"></div><span>Component</span>
  1035. </div>
  1036. <div>
  1037. <div class="color directive"></div><span>Html element with directive</span>
  1038. </div>
  1039. </div>
  1040. </div>
  1041. </div>
  1042. <script src="../js/libs/vis.min.js"></script>
  1043. <script src="../js/libs/htmlparser.js"></script>
  1044. <script src="../js/libs/deep-iterator.js"></script>
  1045. <script>
  1046. var COMPONENT_TEMPLATE = '<div><ion-header> <ion-toolbar> <ion-title>任务管理</ion-title> </ion-toolbar></ion-header><ion-content> <div *ngIf="tasks.length === 0" class="empty-tasks"> <ion-text color="medium"> <h2>您的任务空空如也,来添加一些任务吧!</h2> </ion-text> </div> <ion-list *ngIf="tasks.length > 0"> <ion-item-sliding *ngFor="let task of tasks; let i = index"> <ion-item> <ion-button fill="outline" (click)="editTask(i)" slot="start" class="edit-button"> <ion-icon name="create-outline"></ion-icon> </ion-button> <ion-label *ngIf="!task.editing" class="time-label">{{task.startTime}} - {{task.endTime}}</ion-label> <div *ngIf="task.editing" class="time-edit"> <ion-input [(ngModel)]="task.startHour" (ionBlur)="formatHour(task, \'start\')" placeholder="时" type="text" inputmode="numeric" maxlength="2" class="time-input"></ion-input> <span>:</span> <ion-input [(ngModel)]="task.startMinute" (ionBlur)="formatMinute(task, \'start\')" placeholder="分" type="text" inputmode="numeric" maxlength="2" class="time-input"></ion-input> <span> - </span> <ion-input [(ngModel)]="task.endHour" (ionBlur)="formatHour(task, \'end\')" placeholder="时" type="text" inputmode="numeric" maxlength="2" class="time-input"></ion-input> <span>:</span> <ion-input [(ngModel)]="task.endMinute" (ionBlur)="formatMinute(task, \'end\')" placeholder="分" type="text" inputmode="numeric" maxlength="2" class="time-input"></ion-input> </div> <ion-label *ngIf="!task.editing" class="content-label">{{task.content}}</ion-label> <ion-input *ngIf="task.editing" [(ngModel)]="task.content" class="content-input"></ion-input> <ion-button *ngIf="task.editing" (click)="saveTask(i)" slot="end" class="save-button"> <ion-icon name="checkmark-outline"></ion-icon> </ion-button> </ion-item> <ion-item-options side="end"> <ion-item-option color="danger" (click)="deleteTask(i)" class="delete-button">删除</ion-item-option> </ion-item-options> </ion-item-sliding> </ion-list> <ion-fab vertical="bottom" horizontal="center" slot="fixed"> <ion-fab-button (click)="addTask()"> <ion-icon name="add-outline"></ion-icon> </ion-fab-button> </ion-fab></ion-content></div>'
  1047. var COMPONENTS = [{'name': 'AppComponent', 'selector': 'app-root'},{'name': 'ExploreContainerComponent', 'selector': 'app-explore-container'},{'name': 'HomePage', 'selector': 'app-home'},{'name': 'ProfilePage', 'selector': 'app-profile'},{'name': 'ServicesPage', 'selector': 'app-services'},{'name': 'TabsPage', 'selector': 'app-tabs'},{'name': 'TasksPage', 'selector': 'app-tasks'}];
  1048. var DIRECTIVES = [];
  1049. var ACTUAL_COMPONENT = {'name': 'TasksPage'};
  1050. </script>
  1051. <script src="../js/tree.js"></script>
  1052. </div><div class="search-results">
  1053. <div class="has-results">
  1054. <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
  1055. <ul class="search-results-list"></ul>
  1056. </div>
  1057. <div class="no-results">
  1058. <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
  1059. </div>
  1060. </div>
  1061. </div>
  1062. <!-- END CONTENT -->
  1063. </div>
  1064. </div>
  1065. <label class="dark-mode-switch">
  1066. <input type="checkbox">
  1067. <span class="slider">
  1068. <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
  1069. <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
  1070. </svg>
  1071. </span>
  1072. </label>
  1073. <script>
  1074. var COMPODOC_CURRENT_PAGE_DEPTH = 1;
  1075. var COMPODOC_CURRENT_PAGE_CONTEXT = 'component';
  1076. var COMPODOC_CURRENT_PAGE_URL = 'TasksPage.html';
  1077. var MAX_SEARCH_RESULTS = 15;
  1078. </script>
  1079. <script>
  1080. $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
  1081. checkToggle(darkModeState);
  1082. if ($darkModeToggleSwitchers.length > 0) {
  1083. for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
  1084. $darkModeToggleSwitchers[i].addEventListener('change', function (event) {
  1085. darkModeState = !darkModeState;
  1086. toggleDarkMode(darkModeState);
  1087. });
  1088. }
  1089. }
  1090. </script>
  1091. <script src="../js/libs/custom-elements.min.js"></script>
  1092. <script src="../js/libs/lit-html.js"></script>
  1093. <script src="../js/menu-wc.js" defer></script>
  1094. <script nomodule src="../js/menu-wc_es5.js" defer></script>
  1095. <script src="../js/libs/bootstrap-native.js"></script>
  1096. <script src="../js/libs/es6-shim.min.js"></script>
  1097. <script src="../js/libs/EventDispatcher.js"></script>
  1098. <script src="../js/libs/promise.min.js"></script>
  1099. <script src="../js/libs/zepto.min.js"></script>
  1100. <script src="../js/compodoc.js"></script>
  1101. <script src="../js/tabs.js"></script>
  1102. <script src="../js/menu.js"></script>
  1103. <script src="../js/libs/clipboard.min.js"></script>
  1104. <script src="../js/libs/prism.js"></script>
  1105. <script src="../js/sourceCode.js"></script>
  1106. <script src="../js/search/search.js"></script>
  1107. <script src="../js/search/lunr.min.js"></script>
  1108. <script src="../js/search/search-lunr.js"></script>
  1109. <script src="../js/search/search_index.js"></script>
  1110. <script src="../js/lazy-load-graphs.js"></script>
  1111. </body>
  1112. </html>