testeranto 0.79.69 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/.eslintrc.js +5 -2
  2. package/README.md +7 -108
  3. package/build-tests.ts +16 -0
  4. package/dist/common/build-tests.js +38 -0
  5. package/dist/common/init-docs.js +8 -0
  6. package/dist/common/run-tests.js +34 -0
  7. package/dist/common/src/Aider.js +96 -0
  8. package/dist/common/src/Init.js +10 -0
  9. package/dist/common/{PM → src/PM}/main.js +9 -3
  10. package/dist/common/{Puppeteer.js → src/Puppeteer.js} +8 -4
  11. package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/web.js +37 -38
  12. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +5 -2
  13. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/node.js +5 -3
  14. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/web.js +1 -1
  15. package/dist/common/{lib → src/lib}/abstractBase.js +41 -13
  16. package/dist/common/{lib → src/lib}/basebuilder.js +8 -0
  17. package/dist/common/testeranto.js +15 -0
  18. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  19. package/dist/module/build-tests.js +10 -0
  20. package/dist/module/init-docs.js +3 -0
  21. package/dist/module/run-tests.js +6 -0
  22. package/dist/module/src/Aider.js +89 -0
  23. package/dist/module/src/Init.js +5 -0
  24. package/dist/module/{PM → src/PM}/main.js +9 -3
  25. package/dist/module/{Puppeteer.js → src/Puppeteer.js} +8 -4
  26. package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/web.js +37 -38
  27. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +5 -2
  28. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/node.js +4 -2
  29. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/web.js +1 -1
  30. package/dist/module/{lib → src/lib}/abstractBase.js +41 -13
  31. package/dist/module/{lib → src/lib}/basebuilder.js +8 -0
  32. package/dist/module/testeranto.js +13 -0
  33. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  34. package/dist/types/build-tests.d.ts +3 -0
  35. package/dist/types/init-docs.d.ts +2 -0
  36. package/dist/types/run-tests.d.ts +2 -0
  37. package/dist/types/src/Aider.d.ts +1 -0
  38. package/dist/types/{PM → src/PM}/index.d.ts +1 -1
  39. package/dist/types/{Types.d.ts → src/Types.d.ts} +3 -2
  40. package/dist/types/testeranto.d.ts +16 -0
  41. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  42. package/init-docs.ts +5 -0
  43. package/package.json +49 -20
  44. package/run-tests.ts +9 -0
  45. package/src/Aider.ts +125 -0
  46. package/src/Init.ts +0 -31
  47. package/src/PM/index.ts +1 -1
  48. package/src/PM/main.ts +11 -5
  49. package/src/Puppeteer.ts +11 -4
  50. package/src/SubPackages/react-dom/jsx/web.ts +46 -49
  51. package/src/Types.ts +3 -1
  52. package/src/esbuildConfigs/inputFilesPlugin.ts +32 -30
  53. package/src/esbuildConfigs/node.ts +2 -2
  54. package/src/esbuildConfigs/web.ts +1 -1
  55. package/src/lib/abstractBase.ts +42 -15
  56. package/src/lib/basebuilder.ts +9 -0
  57. package/testeranto.ts +13 -0
  58. package/tsconfig.common.json +12 -4
  59. package/tsconfig.json +9 -2
  60. package/tsconfig.module.json +2 -2
  61. package/tsconfig.types.json +1 -1
  62. package/Report.Dockerfile +0 -44
  63. package/dist/common/Features.js +0 -51
  64. package/dist/common/Init.js +0 -30
  65. package/dist/common/Reporter.js +0 -112
  66. package/dist/common/Scheduler.js +0 -1
  67. package/dist/common/TaskManBackEnd.js +0 -167
  68. package/dist/common/mongooseSchemas.js +0 -56
  69. package/dist/common/preload.js +0 -15
  70. package/dist/common/report.html.js +0 -31
  71. package/dist/module/ExampleTab.js +0 -112
  72. package/dist/module/Features.js +0 -41
  73. package/dist/module/Init.js +0 -25
  74. package/dist/module/Reporter.js +0 -107
  75. package/dist/module/Scheduler.js +0 -1
  76. package/dist/module/TaskManBackEnd.js +0 -162
  77. package/dist/module/TaskManFrontEnd.js +0 -605
  78. package/dist/module/mongooseSchemas.js +0 -50
  79. package/dist/module/preload.js +0 -15
  80. package/dist/module/report.html.js +0 -29
  81. package/dist/prebuild/TaskManBackEnd.mjs +0 -170
  82. package/dist/prebuild/TaskManFrontEnd.css +0 -12301
  83. package/dist/prebuild/TaskManFrontEnd.js +0 -81262
  84. package/dist/types/Features.d.ts +0 -35
  85. package/dist/types/Reporter.d.ts +0 -1
  86. package/dist/types/Scheduler.d.ts +0 -0
  87. package/dist/types/TaskManBackEnd.d.ts +0 -3
  88. package/dist/types/mongooseSchemas.d.ts +0 -124
  89. package/dist/types/preload.d.ts +0 -0
  90. package/dist/types/report.html.d.ts +0 -2
  91. package/src/ExampleTab.tsx +0 -219
  92. package/src/Features.ts +0 -64
  93. package/src/Reporter.ts +0 -126
  94. package/src/Scheduler.ts +0 -0
  95. package/src/TaskManBackEnd.ts +0 -226
  96. package/src/TaskManFrontEnd.tsx +0 -1254
  97. package/src/mongooseSchemas.ts +0 -105
  98. package/src/preload.ts +0 -17
  99. package/src/report.html.ts +0 -29
  100. package/tests/Rectangle.test.ts +0 -189
  101. package/trash/TaskMan.Dockerfile +0 -23
  102. package/trash/TaskMan1.Dockerfile +0 -43
  103. package/trash/devBot.dockerfile +0 -12
  104. package/trash/docker-compose-dev.yml +0 -9
  105. package/trash/docker-compose-prod.yml +0 -18
  106. package/trash/electronBuild.ts +0 -32
  107. /package/dist/common/{Node.js → src/Node.js} +0 -0
  108. /package/dist/common/{PM → src/PM}/index.js +0 -0
  109. /package/dist/common/{PM → src/PM}/node.js +0 -0
  110. /package/dist/common/{PM → src/PM}/web.js +0 -0
  111. /package/dist/common/{Project.js → src/Project.js} +0 -0
  112. /package/dist/common/{SubPackages → src/SubPackages}/puppeteer.js +0 -0
  113. /package/dist/common/{SubPackages → src/SubPackages}/react/component/node.js +0 -0
  114. /package/dist/common/{SubPackages → src/SubPackages}/react/component/web.js +0 -0
  115. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/index.js +0 -0
  116. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  117. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/web.js +0 -0
  118. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/component/node.js +0 -0
  119. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/component/web.js +0 -0
  120. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  121. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/node.js +0 -0
  122. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  123. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/index.js +0 -0
  124. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  125. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  126. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  127. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  128. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  129. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  130. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  131. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  132. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  133. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  134. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  135. /package/dist/common/{Types.js → src/Types.js} +0 -0
  136. /package/dist/common/{Web.js → src/Web.js} +0 -0
  137. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/features.js +0 -0
  138. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/index.js +0 -0
  139. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/report.js +0 -0
  140. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/tests.js +0 -0
  141. /package/dist/common/{lib → src/lib}/classBuilder.js +0 -0
  142. /package/dist/common/{lib → src/lib}/core.js +0 -0
  143. /package/dist/common/{lib → src/lib}/index.js +0 -0
  144. /package/dist/common/{lib → src/lib}/types.js +0 -0
  145. /package/dist/common/{puppeteerConfiger.js → src/puppeteerConfiger.js} +0 -0
  146. /package/dist/common/{utils.js → src/utils.js} +0 -0
  147. /package/dist/common/{web.html.js → src/web.html.js} +0 -0
  148. /package/dist/module/{Node.js → src/Node.js} +0 -0
  149. /package/dist/module/{PM → src/PM}/index.js +0 -0
  150. /package/dist/module/{PM → src/PM}/node.js +0 -0
  151. /package/dist/module/{PM → src/PM}/web.js +0 -0
  152. /package/dist/module/{Project.js → src/Project.js} +0 -0
  153. /package/dist/module/{SubPackages → src/SubPackages}/puppeteer.js +0 -0
  154. /package/dist/module/{SubPackages → src/SubPackages}/react/component/node.js +0 -0
  155. /package/dist/module/{SubPackages → src/SubPackages}/react/component/web.js +0 -0
  156. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/index.js +0 -0
  157. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  158. /package/dist/module/{SubPackages → src/SubPackages}/react/jsx/web.js +0 -0
  159. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/component/node.js +0 -0
  160. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/component/web.js +0 -0
  161. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  162. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/node.js +0 -0
  163. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  164. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/index.js +0 -0
  165. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  166. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  167. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  168. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  169. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  170. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  171. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  172. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  173. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  174. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  175. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  176. /package/dist/module/{Types.js → src/Types.js} +0 -0
  177. /package/dist/module/{Web.js → src/Web.js} +0 -0
  178. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/features.js +0 -0
  179. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/index.js +0 -0
  180. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/report.js +0 -0
  181. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/tests.js +0 -0
  182. /package/dist/module/{lib → src/lib}/classBuilder.js +0 -0
  183. /package/dist/module/{lib → src/lib}/core.js +0 -0
  184. /package/dist/module/{lib → src/lib}/index.js +0 -0
  185. /package/dist/module/{lib → src/lib}/types.js +0 -0
  186. /package/dist/module/{puppeteerConfiger.js → src/puppeteerConfiger.js} +0 -0
  187. /package/dist/module/{utils.js → src/utils.js} +0 -0
  188. /package/dist/module/{web.html.js → src/web.html.js} +0 -0
  189. /package/dist/types/{Init.d.ts → src/Init.d.ts} +0 -0
  190. /package/dist/types/{Node.d.ts → src/Node.d.ts} +0 -0
  191. /package/dist/types/{PM → src/PM}/main.d.ts +0 -0
  192. /package/dist/types/{PM → src/PM}/node.d.ts +0 -0
  193. /package/dist/types/{PM → src/PM}/web.d.ts +0 -0
  194. /package/dist/types/{Project.d.ts → src/Project.d.ts} +0 -0
  195. /package/dist/types/{Puppeteer.d.ts → src/Puppeteer.d.ts} +0 -0
  196. /package/dist/types/{SubPackages → src/SubPackages}/puppeteer.d.ts +0 -0
  197. /package/dist/types/{SubPackages → src/SubPackages}/react/component/node.d.ts +0 -0
  198. /package/dist/types/{SubPackages → src/SubPackages}/react/component/web.d.ts +0 -0
  199. /package/dist/types/{SubPackages → src/SubPackages}/react/jsx/index.d.ts +0 -0
  200. /package/dist/types/{SubPackages → src/SubPackages}/react/jsx/node.d.ts +0 -0
  201. /package/dist/types/{SubPackages → src/SubPackages}/react/jsx/web.d.ts +0 -0
  202. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/component/node.d.ts +0 -0
  203. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/component/web.d.ts +0 -0
  204. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/index.d.ts +0 -0
  205. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/node.d.ts +0 -0
  206. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/web.d.ts +0 -0
  207. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.d.ts +0 -0
  208. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/index.d.ts +0 -0
  209. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.d.ts +0 -0
  210. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/node.d.ts +0 -0
  211. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/component/web.d.ts +0 -0
  212. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.d.ts +0 -0
  213. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.d.ts +0 -0
  214. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.d.ts +0 -0
  215. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.d.ts +0 -0
  216. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.d.ts +0 -0
  217. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.d.ts +0 -0
  218. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.d.ts +0 -0
  219. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.d.ts +0 -0
  220. /package/dist/types/{Web.d.ts → src/Web.d.ts} +0 -0
  221. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/features.d.ts +0 -0
  222. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/index.d.ts +0 -0
  223. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
  224. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/node.d.ts +0 -0
  225. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/report.d.ts +0 -0
  226. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/tests.d.ts +0 -0
  227. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/web.d.ts +0 -0
  228. /package/dist/types/{lib → src/lib}/abstractBase.d.ts +0 -0
  229. /package/dist/types/{lib → src/lib}/basebuilder.d.ts +0 -0
  230. /package/dist/types/{lib → src/lib}/classBuilder.d.ts +0 -0
  231. /package/dist/types/{lib → src/lib}/core.d.ts +0 -0
  232. /package/dist/types/{lib → src/lib}/index.d.ts +0 -0
  233. /package/dist/types/{lib → src/lib}/types.d.ts +0 -0
  234. /package/dist/types/{puppeteerConfiger.d.ts → src/puppeteerConfiger.d.ts} +0 -0
  235. /package/dist/types/{utils.d.ts → src/utils.d.ts} +0 -0
  236. /package/dist/types/{web.html.d.ts → src/web.html.d.ts} +0 -0
@@ -1,605 +0,0 @@
1
- import { ReactFlow } from '@xyflow/react';
2
- import { Button, ButtonGroup, Container, Form, Navbar, NavDropdown, Table, ToggleButton } from "react-bootstrap";
3
- import React, { useEffect, useState } from "react";
4
- import ReactDom from "react-dom/client";
5
- import Col from 'react-bootstrap/Col';
6
- import Nav from 'react-bootstrap/Nav';
7
- import Row from 'react-bootstrap/Row';
8
- import Tab from 'react-bootstrap/Tab';
9
- import Tabs from 'react-bootstrap/Tabs';
10
- import { BrowserRouter as Router, Route, NavLink, Routes } from 'react-router-dom';
11
- import { UncontrolledBoard } from '@caldwell619/react-kanban';
12
- import '@caldwell619/react-kanban/dist/styles.css';
13
- import { Gantt } from 'gantt-task-react';
14
- import "gantt-task-react/dist/index.css";
15
- import 'bootstrap/dist/css/bootstrap.min.css';
16
- import '@xyflow/react/dist/style.css';
17
- import { featuresSchema, ganttSchema, kanbanSchema, userSchema } from "./mongooseSchemas";
18
- const InputElementString = ({ tree, name }) => {
19
- console.log("mark string", tree);
20
- // return <Form.Control type="email" placeholder={name} />
21
- return React.createElement(Form.Group, { className: "mb-3", controlId: name },
22
- React.createElement(Form.Label, null, name),
23
- React.createElement(Form.Control, { placeholder: name }));
24
- };
25
- const InputElementArray = ({ tree, name }) => {
26
- console.log("mark5", tree);
27
- return React.createElement(Form.Control, { type: "email", placeholder: "Enter email" });
28
- };
29
- const InputElementObject = ({ tree, name }) => {
30
- // const x = schema.path(path);
31
- console.log("mark4", tree, tree.properties);
32
- return React.createElement("div", null, ...Object.keys(tree.properties).map((name) => {
33
- console.log("mark6", name, tree.properties[name].type);
34
- if (tree.properties[name].type === "object") {
35
- return React.createElement(InputElementObject, { tree: tree.properties[name], name: name });
36
- }
37
- if (tree.properties[name].type === "string") {
38
- return React.createElement(InputElementString, { tree: tree.properties[name], name: name });
39
- }
40
- if (Array.isArray(tree.properties[name].type)) {
41
- return React.createElement(InputElementArray, { tree: tree.properties[name], name: name });
42
- }
43
- }));
44
- // // if (tree.type === "string") {
45
- // // return <InputElementString tree={tree.properties[path]} path={path}></InputElementString >
46
- // // }
47
- // return <div>IDK</div>
48
- // return <Form.Group>
49
- // {/* {
50
- // schema.get(path)
51
- // } */}
52
- // </Form.Group>
53
- };
54
- const InputForm = ({ schema, path }) => {
55
- return React.createElement(Form.Group, null,
56
- React.createElement(InputElementObject, { tree: schema.toJSONSchema() }));
57
- };
58
- const Crud2 = ({ collection, collectionName, schema }) => {
59
- return React.createElement("div", null,
60
- React.createElement(Table, { striped: true, bordered: true, hover: true },
61
- React.createElement("thead", null,
62
- React.createElement("tr", null,
63
- React.createElement("th", null, "id"),
64
- React.createElement("th", null))),
65
- React.createElement("tbody", null,
66
- React.createElement("tr", null,
67
- React.createElement("td", null, "add new record"),
68
- React.createElement("td", null,
69
- React.createElement(Form, null,
70
- React.createElement(InputForm, { schema: schema }),
71
- React.createElement(Button, { variant: "primary", type: "submit" }, "Submit")))),
72
- collection.map((doc) => {
73
- return React.createElement("tr", null,
74
- React.createElement("td", null, doc._id),
75
- React.createElement("td", null, JSON.stringify(doc, null, 2)));
76
- }))));
77
- };
78
- const Features = ({ features, tests, results, adminMode }) => {
79
- if (!adminMode)
80
- return React.createElement(Tab.Container, { id: "left-tabs-example5", defaultActiveKey: "feature-0" },
81
- React.createElement(Row, null,
82
- React.createElement(Col, { sm: 4 },
83
- React.createElement(Nav, { variant: "pills", className: "flex-column" }, (features).map((feature, ndx) => React.createElement(Nav.Item, { key: ndx },
84
- React.createElement(Nav.Link, { eventKey: `feature/${feature._id}` }, feature.title))))),
85
- React.createElement(Col, { sm: 8 },
86
- React.createElement(Tab.Content, null, (features).map((feature, ndx) => {
87
- // const feature = features[featureKey];
88
- return (React.createElement(Tab.Pane, { eventKey: `feature/${feature._id}`, key: ndx },
89
- React.createElement("pre", null, JSON.stringify(feature, null, 2)),
90
- React.createElement("ol", null, results.filter((result) => {
91
- console.log("mark1", (result.testresults.src));
92
- // return test._id === feature._id
93
- // (result.testresults.givens.features || []).includes(feature._id)
94
- // console.log("ark3", new Set(result.testresults.givens.reduce((mm: string[], el) => {
95
- // mm = mm.concat(el.features)
96
- // // console.log("mark2", el);
97
- // // el.features.forEach((feature) => {
98
- // // mm.add(feature)
99
- // // });
100
- // return mm;
101
- // }, [])));
102
- return new Set(result.testresults.givens.reduce((mm, el) => {
103
- mm = mm.concat(el.features);
104
- // console.log("mark2", el);
105
- // el.features.forEach((feature) => {
106
- // mm.add(feature)
107
- // });
108
- return mm;
109
- }, [])).has(feature._id);
110
- }).map((result) => {
111
- return React.createElement("li", null, result.src);
112
- }))));
113
- })))));
114
- return React.createElement(Crud2, { schema: featuresSchema, collectionName: "features", collection: features });
115
- };
116
- const Tests = ({ tests, results, features, adminMode }) => {
117
- return React.createElement("div", null,
118
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
119
- React.createElement(Container, { fluid: true },
120
- React.createElement(NavDropdown, { align: "end", title: "User", id: "basic-nav-dropdown" },
121
- React.createElement(NavDropdown.Item, { href: "#action/3.4" }, "localhost:8080"),
122
- React.createElement(NavDropdown.Divider, null),
123
- React.createElement(NavDropdown.Item, { href: "#action/3.4" }, "origin/master"),
124
- React.createElement(NavDropdown.Item, { href: "#action/3.4" }, "origin/feature")))),
125
- React.createElement(Tab.Container, { id: "left-tabs-example5", defaultActiveKey: "feature-0" },
126
- React.createElement(Row, null,
127
- React.createElement(Col, { sm: 4 },
128
- React.createElement(Nav, { variant: "pills", className: "flex-column" }, tests.tests.map((t, ndx) => React.createElement(Nav.Item, { key: ndx },
129
- React.createElement(Nav.Link, { eventKey: `test-${ndx}` },
130
- t[0],
131
- " - ",
132
- t[1]))))),
133
- React.createElement(Col, { sm: 4 },
134
- React.createElement(Tab.Content, null, tests.tests.map((t, ndx) => React.createElement(Tab.Pane, { eventKey: `test-${ndx}` },
135
- React.createElement("pre", null, JSON.stringify(Object.entries(results).filter(([k, v]) => {
136
- console.log(v.src, tests.tests[ndx][0]);
137
- return v.src === tests.tests[ndx][0];
138
- }), null, 2)))))))));
139
- };
140
- const TaskMan = ({ setAdminMode, users, adminMode, children }) => {
141
- return React.createElement("div", null,
142
- React.createElement("div", { className: "row" },
143
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
144
- React.createElement(Container, { fluid: true },
145
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
146
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
147
- React.createElement(Nav, { className: "me-auto" },
148
- React.createElement(Tabs, { defaultActiveKey: "/tests" },
149
- React.createElement(Tab, { eventKey: "features", title: React.createElement(NavLink, { to: "/taskMan/features", className: "nav-link" }, "Features") }),
150
- React.createElement(Tab, { eventKey: "kanban", title: React.createElement(NavLink, { to: "/taskMan/kanban", className: "nav-link" }, "Kanban") }),
151
- React.createElement(Tab, { eventKey: "gantt", title: React.createElement(NavLink, { to: "/taskMan/gantt", className: "nav-link" }, "Gantt") }))),
152
- React.createElement(NavDropdown, { align: "end", title: "User", id: "basic-nav-dropdown" },
153
- users.map((user) => {
154
- return React.createElement(NavDropdown.Item, { href: "#action/3.1" }, user.email);
155
- }),
156
- React.createElement(NavDropdown.Divider, null),
157
- React.createElement(NavDropdown.Item, { href: "#action/3.4" }, "all")),
158
- React.createElement(ButtonGroup, { className: "mb-2" },
159
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: adminMode, value: "1", onChange: (e) => setAdminMode(!adminMode) }, "\u2699\uFE0F")))))),
160
- children);
161
- };
162
- const DocGal = ({ setAdminMode, users, adminMode, children }) => {
163
- return React.createElement("div", null,
164
- React.createElement("div", { className: "row" },
165
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
166
- React.createElement(Container, { fluid: true },
167
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
168
- React.createElement(Navbar.Collapse, { id: "docGal-navbar-nav" },
169
- React.createElement(Nav, { className: "me-auto" },
170
- React.createElement(Tabs, { defaultActiveKey: "/fs" },
171
- React.createElement(Tab, { eventKey: "fs", title: React.createElement(NavLink, { to: "/docGal/fs", className: "nav-link" }, "FS") }),
172
- React.createElement(Tab, { eventKey: "db", title: React.createElement(NavLink, { to: "/docGal/db", className: "nav-link" }, "DB") }))))))),
173
- children);
174
- };
175
- const ChatCat = ({ children }) => {
176
- return React.createElement("div", null,
177
- React.createElement("div", { className: "row" },
178
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
179
- React.createElement(Container, { fluid: true },
180
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
181
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
182
- React.createElement(Nav, { className: "me-auto" },
183
- React.createElement(Tabs, { defaultActiveKey: "/chatCat/mostRecent" },
184
- React.createElement(Tab, { eventKey: "/chatCat/mostRecent", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "Most Recent") }),
185
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "by Subject") }))))))),
186
- children);
187
- // return <div>
188
- // <Row>
189
- // <Col sm={2}>
190
- // <Nav variant="pills" className="flex-column">
191
- // <h4>Rooms</h4>
192
- // {(chatCatRooms).map((room, ndx) => <Nav.Item key={ndx}>
193
- // <Nav.Link eventKey={`chatCat/room/${room._id}`}>
194
- // {room.name}
195
- // </Nav.Link>
196
- // </Nav.Item>)}
197
- // <h4>Huddles</h4>
198
- // {(chatCatHuddles).map((huddle, ndx) => <Nav.Item key={ndx}>
199
- // <Nav.Link eventKey={`chatCat/user${huddle._id}`}>
200
- // {huddle.name}
201
- // </Nav.Link>
202
- // </Nav.Item>)}
203
- // <h4>Users</h4>
204
- // {(users).map((user, ndx) => <Nav.Item key={ndx}>
205
- // <Nav.Link eventKey={`chatCat/user/${user._id}`}>
206
- // {user.email}
207
- // </Nav.Link>
208
- // </Nav.Item>)}
209
- // </Nav>
210
- // </Col>
211
- // <Col sm={10}>
212
- // <Tab.Content>
213
- // {(chatCatRooms).map((channel, ndx) => {
214
- // return (
215
- // <Tab.Pane eventKey={`chatCat/${channel}`} key={ndx}>
216
- // <pre>{JSON.stringify(channel, null, 2)}</pre>
217
- // </Tab.Pane>
218
- // )
219
- // }
220
- // )}
221
- // </Tab.Content>
222
- // </Col>
223
- // </Row>
224
- // </div>
225
- };
226
- const WhoThat = ({ children }) => {
227
- return React.createElement("div", null,
228
- React.createElement("div", { className: "row" },
229
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
230
- React.createElement(Container, { fluid: true },
231
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
232
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
233
- React.createElement(Nav, { className: "me-auto" },
234
- React.createElement(Tabs, { defaultActiveKey: "/whoThat/people" },
235
- React.createElement(Tab, { eventKey: "/whoThat/people", title: React.createElement(NavLink, { to: "/whoThat/people", className: "nav-link" }, "People") }),
236
- React.createElement(Tab, { eventKey: "/whoThat/groups", title: React.createElement(NavLink, { to: "/whoThat/groups", className: "nav-link" }, "Groups") }),
237
- React.createElement(Tab, { eventKey: "/whoThat/org", title: React.createElement(NavLink, { to: "/whoThat/org", className: "nav-link" }, "Org") }))),
238
- React.createElement(ButtonGroup, { className: "mb-2" },
239
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: false, value: "1" }, "\u2699\uFE0F")))))),
240
- children);
241
- // return <div>
242
- // <Row>
243
- // <Col sm={2}>
244
- // <Nav variant="pills" className="flex-column">
245
- // <h4>Rooms</h4>
246
- // {(chatCatRooms).map((room, ndx) => <Nav.Item key={ndx}>
247
- // <Nav.Link eventKey={`chatCat/room/${room._id}`}>
248
- // {room.name}
249
- // </Nav.Link>
250
- // </Nav.Item>)}
251
- // <h4>Huddles</h4>
252
- // {(chatCatHuddles).map((huddle, ndx) => <Nav.Item key={ndx}>
253
- // <Nav.Link eventKey={`chatCat/user${huddle._id}`}>
254
- // {huddle.name}
255
- // </Nav.Link>
256
- // </Nav.Item>)}
257
- // <h4>Users</h4>
258
- // {(users).map((user, ndx) => <Nav.Item key={ndx}>
259
- // <Nav.Link eventKey={`chatCat/user/${user._id}`}>
260
- // {user.email}
261
- // </Nav.Link>
262
- // </Nav.Item>)}
263
- // </Nav>
264
- // </Col>
265
- // <Col sm={10}>
266
- // <Tab.Content>
267
- // {(chatCatRooms).map((channel, ndx) => {
268
- // return (
269
- // <Tab.Pane eventKey={`chatCat/${channel}`} key={ndx}>
270
- // <pre>{JSON.stringify(channel, null, 2)}</pre>
271
- // </Tab.Pane>
272
- // )
273
- // }
274
- // )}
275
- // </Tab.Content>
276
- // </Col>
277
- // </Row>
278
- // </div>
279
- };
280
- const Kanban = ({ features, tests, results, kanban, openNewColumnModal, adminMode }) => {
281
- const board = {
282
- columns: [
283
- {
284
- id: -1,
285
- title: 'BACKLOG',
286
- cards: features.filter((f) => f.state === undefined)
287
- },
288
- {
289
- id: 0,
290
- title: 'ARCHIVE',
291
- cards: features.filter((f) => f.state === "ARCHIVED")
292
- },
293
- ...kanban.map((kb) => {
294
- return {
295
- id: kb._id,
296
- title: kb.title,
297
- cards: features.filter((f) => f.state === kb._id)
298
- };
299
- }),
300
- // {
301
- // id: 1,
302
- // title: 'Backlog',
303
- // cards: [
304
- // {
305
- // id: 1,
306
- // title: 'Add card',
307
- // description: 'Add capability to add a card in a column'
308
- // },
309
- // ]
310
- // },
311
- ]
312
- };
313
- if (!adminMode)
314
- return React.createElement(Tab.Container, { id: "left-tabs-example8", defaultActiveKey: "feature-0" },
315
- React.createElement(Row, null,
316
- React.createElement(Col, { sm: 12 },
317
- React.createElement("button", { onClick: () => {
318
- openNewColumnModal();
319
- } }, "new column"),
320
- React.createElement(UncontrolledBoard, { initialBoard: board }))));
321
- return React.createElement(Crud2, { schema: kanbanSchema, collectionName: "kanban", collection: kanban });
322
- };
323
- const GanttChart = ({ gantt, tests, results, features, adminMode }) => {
324
- if (!adminMode) {
325
- if (gantt.length > 1) {
326
- return React.createElement(Row, null,
327
- React.createElement(Col, { sm: 12 },
328
- React.createElement(Gantt, { tasks: (gantt || []).map((g) => {
329
- console.log(g);
330
- let task = {
331
- start: new Date(2020, 1, 1),
332
- end: new Date(2020, 1, 2),
333
- name: g.name,
334
- id: g._id,
335
- type: g.type,
336
- progress: 45,
337
- isDisabled: false,
338
- styles: { progressColor: '#ffbb54', progressSelectedColor: '#ff9e0d' },
339
- };
340
- console.log(task);
341
- return task;
342
- }) })));
343
- }
344
- else {
345
- return React.createElement("p", null, "you need to add some gantt items");
346
- }
347
- }
348
- return React.createElement(Crud2, { schema: ganttSchema, collectionName: "gantt", collection: gantt });
349
- };
350
- const Users = ({ users, adminMode }) => {
351
- if (!adminMode)
352
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
353
- React.createElement(Row, null,
354
- React.createElement(Col, { sm: 12 },
355
- React.createElement("ul", null, users.map((user) => {
356
- return React.createElement("li", null, user.email);
357
- })))));
358
- return React.createElement(Crud2, { schema: userSchema, collectionName: "users", collection: users });
359
- };
360
- const OrgChart = ({ users, adminMode }) => {
361
- const initialNodes = [
362
- { id: '1', position: { x: 0, y: 0 }, data: { label: '1' } },
363
- { id: '2', position: { x: 0, y: 100 }, data: { label: '2' } },
364
- ];
365
- const initialEdges = [{ id: 'e1-2', source: '1', target: '2' }];
366
- if (!adminMode)
367
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
368
- React.createElement(Row, null,
369
- React.createElement(Col, { sm: 12 },
370
- React.createElement("div", { style: { width: '100vw', height: '100vh' } },
371
- React.createElement(ReactFlow, { nodes: [
372
- ...initialNodes,
373
- ...users.map((user) => {
374
- return ({ id: user._id, position: { x: 0, y: 0 }, data: { label: user.email } });
375
- })
376
- ], edges: initialEdges })))));
377
- return React.createElement(Crud2, { schema: userSchema, collectionName: "users", collection: users });
378
- };
379
- const DocGalFsNav = ({ docGalFs, filepath }) => {
380
- return React.createElement("div", null,
381
- React.createElement("ul", null, ...docGalFs.map((lm) => {
382
- return React.createElement("li", null,
383
- React.createElement("a", { href: `${filepath}/${lm.name}` }, lm.name),
384
- lm.children.length > 0 && React.createElement(DocGalFsNav, { docGalFs: lm.children, filepath: `${filepath}/${lm.name}` }));
385
- })));
386
- };
387
- const DocGalFs = ({ docGalFs,
388
- // tests, results, features, adminMode
389
- }) => {
390
- // return <Row>
391
- // <Col sm={12}>
392
- // {JSON.stringify(docGalFs, null, 2)}
393
- // </Col>
394
- // </Row>
395
- return React.createElement(Row, null,
396
- React.createElement(Col, { sm: 4 },
397
- React.createElement(DocGalFsNav, { docGalFs: docGalFs, filepath: "" })),
398
- React.createElement(Col, { sm: 4 },
399
- React.createElement(Tab.Content, null)));
400
- };
401
- const DocGalDb = ({}) => {
402
- return React.createElement(Row, null,
403
- React.createElement(Col, { sm: 12 }, "DocGalDb"));
404
- };
405
- const ChatCatPeople = ({ users }) => {
406
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
407
- React.createElement(Row, null,
408
- React.createElement(Col, { sm: 12 },
409
- React.createElement("ul", null, users.map((user) => {
410
- return React.createElement("li", null, user.email);
411
- })))));
412
- };
413
- const ChatCatConversations = ({ users, conversations }) => {
414
- // return <Tab.Container id="left-tabs-example9" defaultActiveKey="feature-0">
415
- // <Row>
416
- // <Col sm={12}>
417
- // <ul>
418
- // {
419
- // users.map((user) => {
420
- // return <li>
421
- // {user.email}
422
- // </li>
423
- // })
424
- // }
425
- // </ul>
426
- // </Col>
427
- // </Row>
428
- // </Tab.Container>
429
- return React.createElement(Row, null,
430
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
431
- React.createElement(Container, { fluid: true },
432
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
433
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
434
- React.createElement(Nav, { className: "me-auto" },
435
- React.createElement(Tabs, { defaultActiveKey: "/chatCat/mostRecent" },
436
- React.createElement(Tab, { eventKey: "/chatCat/mostRecent", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "Feature") }),
437
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Kanban") }),
438
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Gantt") }),
439
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "FS docs") }),
440
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "DB docs") }),
441
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Groups") }))),
442
- React.createElement(ButtonGroup, { className: "mb-2" },
443
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: false, value: "1" }, "\u2699\uFE0F"))))));
444
- };
445
- const ChatCatRooms = ({ users, rooms }) => {
446
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
447
- React.createElement(Row, null,
448
- React.createElement(Col, { sm: 12 },
449
- React.createElement("ul", null, users.map((user) => {
450
- return React.createElement("li", null, user.email);
451
- })))));
452
- };
453
- const Report = () => {
454
- const [state, setState] = useState({
455
- tests: [],
456
- buildDir: "",
457
- results: {}
458
- });
459
- const [tests, setTests] = useState({
460
- tests: [],
461
- buildDir: ""
462
- });
463
- const [features, setFeatures] = useState([]);
464
- const [kanban, setKanban] = useState([]);
465
- const importResults = async () => {
466
- const config = await (await fetch("./testeranto.json")).json();
467
- const results = await Promise.all(config.tests.map((test) => {
468
- return new Promise(async (res, rej) => {
469
- const src = test[0];
470
- const runtime = test[1];
471
- const s = [tests.buildDir, runtime].concat(src.split(".").slice(0, -1).join(".")).join("/");
472
- const exitcode = await (await fetch("/docs" + "/" + s + "/exitcode")).text();
473
- const log = await (await fetch("/docs" + "/" + s + "/log.txt")).text();
474
- const testresults = await (await fetch("/docs" + "/" + s + "/tests.json")).json();
475
- const manifest = await (await fetch("/docs" + "/" + s + "/manifest.json")).json();
476
- res({ src, exitcode, log, testresults, manifest });
477
- });
478
- }));
479
- setState({ tests: config.tests, results, buildDir: config.buildDir });
480
- };
481
- const importFeatures = async () => {
482
- fetch('http://localhost:3000/features.json')
483
- .then(response => response.json())
484
- .then(json => setFeatures(json))
485
- .catch(error => console.error(error));
486
- };
487
- useEffect(() => { importFeatures(); }, []);
488
- const importKanban = async () => {
489
- fetch('http://localhost:3000/kanbans.json')
490
- .then(response => response.json())
491
- .then(json => setKanban(json))
492
- .catch(error => console.error(error));
493
- };
494
- useEffect(() => { importKanban(); }, []);
495
- const [users, setUsers] = useState([]);
496
- const importUsers = async () => {
497
- fetch('http://localhost:3000/users.json')
498
- .then(response => response.json())
499
- .then(json => setUsers(json))
500
- .catch(error => console.error(error));
501
- };
502
- useEffect(() => { importUsers(); }, []);
503
- const [gantt, setGantt] = useState([]);
504
- const importGantt = async () => {
505
- fetch('http://localhost:3000/gantts.json')
506
- .then(response => response.json())
507
- .then(json => setGantt(json))
508
- .catch(error => console.error(error));
509
- };
510
- useEffect(() => { importGantt(); }, []);
511
- const importTests = async () => {
512
- const x = await fetch("./testeranto.json");
513
- const y = await x.json();
514
- setTests(y);
515
- };
516
- useEffect(() => { importResults(); }, []);
517
- useEffect(() => { importTests(); }, []);
518
- const [activeKey, setActiveKey] = useState('home');
519
- const handleSelect = (selectedKey) => {
520
- setActiveKey(selectedKey);
521
- };
522
- const [adminMode, setAdminMode] = useState(false);
523
- const [docGalFs, setDocGalFs] = useState([]);
524
- const importFs = async () => {
525
- fetch('http://localhost:3000/docGal/fs.json')
526
- .then(response => response.json())
527
- .then(json => setDocGalFs(json))
528
- .catch(error => console.error(error));
529
- };
530
- useEffect(() => { importFs(); }, []);
531
- const [chatCatRooms, setChatCatRooms] = useState([]);
532
- const importChatCatRooms = async () => {
533
- fetch('http://localhost:3000/rooms.json')
534
- .then(response => response.json())
535
- .then(json => setChatCatRooms(json))
536
- .catch(error => console.error(error));
537
- };
538
- useEffect(() => { importChatCatRooms(); }, []);
539
- return (React.createElement("div", null,
540
- React.createElement("style", null, `
541
- pre, code, p {
542
- max-width: 40rem;
543
- text-wrap: auto;
544
- }
545
- footer {
546
- background-color: lightgray;
547
- margin: 0.5rem;
548
- padding: 0.5rem;
549
- position: fixed;
550
- bottom: 0;
551
- right: 0;
552
- }
553
-
554
- #root > div > ul {
555
-
556
- top: 0;
557
- }
558
- `),
559
- React.createElement(Router, null,
560
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
561
- React.createElement(Container, { fluid: true },
562
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
563
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
564
- React.createElement(Nav, { className: "me-auto" },
565
- React.createElement(Tabs, { defaultActiveKey: "/tests" },
566
- React.createElement(Tab, { eventKey: "tests", title: React.createElement(NavLink, { to: "/tests", className: "nav-link" }, "TestPup") }),
567
- React.createElement(Tab, { eventKey: "taskMan", title: React.createElement(NavLink, { to: "/taskMan/features", className: "nav-link" }, "TaskMan") }),
568
- React.createElement(Tab, { eventKey: "docGal", title: React.createElement(NavLink, { to: "/docGal/fs", className: "nav-link" }, "DocGal") }),
569
- React.createElement(Tab, { eventKey: "chatCat", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "ChatCat") }),
570
- React.createElement(Tab, { eventKey: "whoThat", title: React.createElement(NavLink, { to: "/whoThat/people", className: "nav-link" }, "WhoThat") })))),
571
- React.createElement(ButtonGroup, { className: "mb-2" },
572
- React.createElement(Button, { id: "login", value: "1", onChange: (e) => setAdminMode(!adminMode) }, "Login")))),
573
- React.createElement(Routes, null,
574
- React.createElement(Route, { path: "/tests", element: React.createElement(Tests, { adminMode: adminMode, features: features, results: state.results, tests: tests }) }),
575
- React.createElement(Route, { path: "/chatCat/mostRecent", element: React.createElement(ChatCat, { chatCatRooms: chatCatRooms, chatCatHuddles: [], users: users },
576
- React.createElement(ChatCatPeople, { users: users })) }),
577
- React.createElement(Route, { path: "/chatCat/bySubject", element: React.createElement(ChatCat, { chatCatRooms: chatCatRooms, chatCatHuddles: [], users: users },
578
- React.createElement(ChatCatConversations, { users: users, conversations: [] })) }),
579
- React.createElement(Route, { path: "/docGal/fs", element: React.createElement(DocGal, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
580
- React.createElement(DocGalFs, { docGalFs: docGalFs })) }),
581
- React.createElement(Route, { path: "/docGal/db", element: React.createElement(DocGal, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
582
- React.createElement(DocGalDb, null)) }),
583
- React.createElement(Route, { path: "/taskMan/features", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
584
- React.createElement(Features, { adminMode: adminMode, features: features, results: state.results, tests: tests })) }),
585
- React.createElement(Route, { path: "/taskMan/kanban", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
586
- React.createElement(Kanban, { adminMode: adminMode, kanban: kanban, results: state.results, tests: tests, features: features, openNewColumnModal: () => {
587
- } })) }),
588
- React.createElement(Route, { path: "/taskMan/gantt", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
589
- React.createElement(GanttChart, { adminMode: adminMode, gantt: gantt, features: features, results: state.results, tests: tests })) }),
590
- React.createElement(Route, { path: "/whoThat/people", element: React.createElement(WhoThat, { users: users },
591
- React.createElement(Users, { adminMode: adminMode, users: users })) }),
592
- React.createElement(Route, { path: "/whoThat/groups", element: React.createElement(WhoThat, { users: users },
593
- React.createElement(Users, { adminMode: adminMode, users: users })) }),
594
- React.createElement(Route, { path: "/whoThat/org", element: React.createElement(WhoThat, { users: users },
595
- React.createElement(OrgChart, { adminMode: adminMode, users: users })) }))),
596
- React.createElement("footer", null,
597
- "made with \u2764\uFE0F and ",
598
- React.createElement("a", { href: "https://adamwong246.github.io/testeranto/" }, "testeranto "))));
599
- };
600
- document.addEventListener("DOMContentLoaded", function () {
601
- const elem = document.getElementById("root");
602
- if (elem) {
603
- ReactDom.createRoot(elem).render(React.createElement(Report, {}));
604
- }
605
- });
@@ -1,50 +0,0 @@
1
- import mongoose from "mongoose";
2
- export const userSchema = new mongoose.Schema({
3
- email: String,
4
- channels: [{ type: mongoose.Schema.Types.ObjectId, ref: "Channel" }],
5
- dmgroups: [{ type: mongoose.Schema.Types.ObjectId, ref: "Dmgroup" }],
6
- });
7
- userSchema.virtual("features", {
8
- ref: "Feature",
9
- localField: "_id",
10
- foreignField: "owner",
11
- });
12
- export const kanbanSchema = new mongoose.Schema({
13
- title: String,
14
- });
15
- export const ganttSchema = new mongoose.Schema({
16
- name: String,
17
- type: String,
18
- start: Date,
19
- end: Date,
20
- });
21
- export const featuresSchema = new mongoose.Schema({
22
- title: String,
23
- state: String,
24
- });
25
- export const channelsFeature = new mongoose.Schema({});
26
- export const chatCatMessageSchema = new mongoose.Schema({
27
- user: {
28
- type: mongoose.Schema.Types.ObjectId,
29
- ref: "User",
30
- required: true,
31
- },
32
- room: {
33
- type: mongoose.Schema.Types.ObjectId,
34
- ref: "ChatCatRoom",
35
- required: true,
36
- maxlength: 100,
37
- },
38
- timestamp: {
39
- type: Date,
40
- default: Date.now(),
41
- },
42
- text: {
43
- type: String,
44
- maxlength: 1000,
45
- },
46
- });
47
- export const HuddleSchema = new mongoose.Schema({});
48
- export const RoomSchema = new mongoose.Schema({
49
- name: { type: String, required: true },
50
- });