testeranto 0.79.68 → 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 -600
  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 -81264
  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 -1222
  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,600 +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
- if (!adminMode)
118
- return React.createElement(Tab.Container, { id: "left-tabs-example5", defaultActiveKey: "feature-0" },
119
- React.createElement(Row, null,
120
- React.createElement(Col, { sm: 4 },
121
- React.createElement(Nav, { variant: "pills", className: "flex-column" }, tests.tests.map((t, ndx) => React.createElement(Nav.Item, { key: ndx },
122
- React.createElement(Nav.Link, { eventKey: `test-${ndx}` },
123
- t[0],
124
- " - ",
125
- t[1]))))),
126
- React.createElement(Col, { sm: 4 },
127
- React.createElement(Tab.Content, null, tests.tests.map((t, ndx) => React.createElement(Tab.Pane, { eventKey: `test-${ndx}` },
128
- React.createElement("pre", null, JSON.stringify(Object.entries(results).filter(([k, v]) => {
129
- console.log(v.src, tests.tests[ndx][0]);
130
- return v.src === tests.tests[ndx][0];
131
- }), null, 2))))))));
132
- // return <Crud collectionName="features" collection={features}></Crud>
133
- return React.createElement("div", null);
134
- };
135
- const TaskMan = ({ setAdminMode, users, adminMode, children }) => {
136
- return React.createElement("div", null,
137
- React.createElement("div", { className: "row" },
138
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
139
- React.createElement(Container, { fluid: true },
140
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
141
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
142
- React.createElement(Nav, { className: "me-auto" },
143
- React.createElement(Tabs, { defaultActiveKey: "/tests" },
144
- React.createElement(Tab, { eventKey: "features", title: React.createElement(NavLink, { to: "/taskMan/features", className: "nav-link" }, "Features") }),
145
- React.createElement(Tab, { eventKey: "kanban", title: React.createElement(NavLink, { to: "/taskMan/kanban", className: "nav-link" }, "Kanban") }),
146
- React.createElement(Tab, { eventKey: "gantt", title: React.createElement(NavLink, { to: "/taskMan/gantt", className: "nav-link" }, "Gantt") }))),
147
- React.createElement(NavDropdown, { align: "end", title: "User", id: "basic-nav-dropdown" },
148
- users.map((user) => {
149
- return React.createElement(NavDropdown.Item, { href: "#action/3.1" }, user.email);
150
- }),
151
- React.createElement(NavDropdown.Divider, null),
152
- React.createElement(NavDropdown.Item, { href: "#action/3.4" }, "all")),
153
- React.createElement(ButtonGroup, { className: "mb-2" },
154
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: adminMode, value: "1", onChange: (e) => setAdminMode(!adminMode) }, "\u2699\uFE0F")))))),
155
- children);
156
- };
157
- const DocGal = ({ setAdminMode, users, adminMode, children }) => {
158
- return React.createElement("div", null,
159
- React.createElement("div", { className: "row" },
160
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
161
- React.createElement(Container, { fluid: true },
162
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
163
- React.createElement(Navbar.Collapse, { id: "docGal-navbar-nav" },
164
- React.createElement(Nav, { className: "me-auto" },
165
- React.createElement(Tabs, { defaultActiveKey: "/fs" },
166
- React.createElement(Tab, { eventKey: "fs", title: React.createElement(NavLink, { to: "/docGal/fs", className: "nav-link" }, "FS") }),
167
- React.createElement(Tab, { eventKey: "db", title: React.createElement(NavLink, { to: "/docGal/db", className: "nav-link" }, "DB") }))))))),
168
- children);
169
- };
170
- const ChatCat = ({ children }) => {
171
- return React.createElement("div", null,
172
- React.createElement("div", { className: "row" },
173
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
174
- React.createElement(Container, { fluid: true },
175
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
176
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
177
- React.createElement(Nav, { className: "me-auto" },
178
- React.createElement(Tabs, { defaultActiveKey: "/chatCat/mostRecent" },
179
- React.createElement(Tab, { eventKey: "/chatCat/mostRecent", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "Most Recent") }),
180
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "by Subject") }))))))),
181
- children);
182
- // return <div>
183
- // <Row>
184
- // <Col sm={2}>
185
- // <Nav variant="pills" className="flex-column">
186
- // <h4>Rooms</h4>
187
- // {(chatCatRooms).map((room, ndx) => <Nav.Item key={ndx}>
188
- // <Nav.Link eventKey={`chatCat/room/${room._id}`}>
189
- // {room.name}
190
- // </Nav.Link>
191
- // </Nav.Item>)}
192
- // <h4>Huddles</h4>
193
- // {(chatCatHuddles).map((huddle, ndx) => <Nav.Item key={ndx}>
194
- // <Nav.Link eventKey={`chatCat/user${huddle._id}`}>
195
- // {huddle.name}
196
- // </Nav.Link>
197
- // </Nav.Item>)}
198
- // <h4>Users</h4>
199
- // {(users).map((user, ndx) => <Nav.Item key={ndx}>
200
- // <Nav.Link eventKey={`chatCat/user/${user._id}`}>
201
- // {user.email}
202
- // </Nav.Link>
203
- // </Nav.Item>)}
204
- // </Nav>
205
- // </Col>
206
- // <Col sm={10}>
207
- // <Tab.Content>
208
- // {(chatCatRooms).map((channel, ndx) => {
209
- // return (
210
- // <Tab.Pane eventKey={`chatCat/${channel}`} key={ndx}>
211
- // <pre>{JSON.stringify(channel, null, 2)}</pre>
212
- // </Tab.Pane>
213
- // )
214
- // }
215
- // )}
216
- // </Tab.Content>
217
- // </Col>
218
- // </Row>
219
- // </div>
220
- };
221
- const WhoThat = ({ children }) => {
222
- return React.createElement("div", null,
223
- React.createElement("div", { className: "row" },
224
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
225
- React.createElement(Container, { fluid: true },
226
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
227
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
228
- React.createElement(Nav, { className: "me-auto" },
229
- React.createElement(Tabs, { defaultActiveKey: "/whoThat/people" },
230
- React.createElement(Tab, { eventKey: "/whoThat/people", title: React.createElement(NavLink, { to: "/whoThat/people", className: "nav-link" }, "People") }),
231
- React.createElement(Tab, { eventKey: "/whoThat/groups", title: React.createElement(NavLink, { to: "/whoThat/groups", className: "nav-link" }, "Groups") }),
232
- React.createElement(Tab, { eventKey: "/whoThat/org", title: React.createElement(NavLink, { to: "/whoThat/org", className: "nav-link" }, "Org") }))),
233
- React.createElement(ButtonGroup, { className: "mb-2" },
234
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: false, value: "1" }, "\u2699\uFE0F")))))),
235
- children);
236
- // return <div>
237
- // <Row>
238
- // <Col sm={2}>
239
- // <Nav variant="pills" className="flex-column">
240
- // <h4>Rooms</h4>
241
- // {(chatCatRooms).map((room, ndx) => <Nav.Item key={ndx}>
242
- // <Nav.Link eventKey={`chatCat/room/${room._id}`}>
243
- // {room.name}
244
- // </Nav.Link>
245
- // </Nav.Item>)}
246
- // <h4>Huddles</h4>
247
- // {(chatCatHuddles).map((huddle, ndx) => <Nav.Item key={ndx}>
248
- // <Nav.Link eventKey={`chatCat/user${huddle._id}`}>
249
- // {huddle.name}
250
- // </Nav.Link>
251
- // </Nav.Item>)}
252
- // <h4>Users</h4>
253
- // {(users).map((user, ndx) => <Nav.Item key={ndx}>
254
- // <Nav.Link eventKey={`chatCat/user/${user._id}`}>
255
- // {user.email}
256
- // </Nav.Link>
257
- // </Nav.Item>)}
258
- // </Nav>
259
- // </Col>
260
- // <Col sm={10}>
261
- // <Tab.Content>
262
- // {(chatCatRooms).map((channel, ndx) => {
263
- // return (
264
- // <Tab.Pane eventKey={`chatCat/${channel}`} key={ndx}>
265
- // <pre>{JSON.stringify(channel, null, 2)}</pre>
266
- // </Tab.Pane>
267
- // )
268
- // }
269
- // )}
270
- // </Tab.Content>
271
- // </Col>
272
- // </Row>
273
- // </div>
274
- };
275
- const Kanban = ({ features, tests, results, kanban, openNewColumnModal, adminMode }) => {
276
- const board = {
277
- columns: [
278
- {
279
- id: -1,
280
- title: 'BACKLOG',
281
- cards: features.filter((f) => f.state === undefined)
282
- },
283
- {
284
- id: 0,
285
- title: 'ARCHIVE',
286
- cards: features.filter((f) => f.state === "ARCHIVED")
287
- },
288
- ...kanban.map((kb) => {
289
- return {
290
- id: kb._id,
291
- title: kb.title,
292
- cards: features.filter((f) => f.state === kb._id)
293
- };
294
- }),
295
- // {
296
- // id: 1,
297
- // title: 'Backlog',
298
- // cards: [
299
- // {
300
- // id: 1,
301
- // title: 'Add card',
302
- // description: 'Add capability to add a card in a column'
303
- // },
304
- // ]
305
- // },
306
- ]
307
- };
308
- if (!adminMode)
309
- return React.createElement(Tab.Container, { id: "left-tabs-example8", defaultActiveKey: "feature-0" },
310
- React.createElement(Row, null,
311
- React.createElement(Col, { sm: 12 },
312
- React.createElement("button", { onClick: () => {
313
- openNewColumnModal();
314
- } }, "new column"),
315
- React.createElement(UncontrolledBoard, { initialBoard: board }))));
316
- return React.createElement(Crud2, { schema: kanbanSchema, collectionName: "kanban", collection: kanban });
317
- };
318
- const GanttChart = ({ gantt, tests, results, features, adminMode }) => {
319
- if (!adminMode) {
320
- if (gantt.length > 1) {
321
- return React.createElement(Row, null,
322
- React.createElement(Col, { sm: 12 },
323
- React.createElement(Gantt, { tasks: (gantt || []).map((g) => {
324
- console.log(g);
325
- let task = {
326
- start: new Date(2020, 1, 1),
327
- end: new Date(2020, 1, 2),
328
- name: g.name,
329
- id: g._id,
330
- type: g.type,
331
- progress: 45,
332
- isDisabled: false,
333
- styles: { progressColor: '#ffbb54', progressSelectedColor: '#ff9e0d' },
334
- };
335
- console.log(task);
336
- return task;
337
- }) })));
338
- }
339
- else {
340
- return React.createElement("p", null, "you need to add some gantt items");
341
- }
342
- }
343
- return React.createElement(Crud2, { schema: ganttSchema, collectionName: "gantt", collection: gantt });
344
- };
345
- const Users = ({ users, adminMode }) => {
346
- if (!adminMode)
347
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
348
- React.createElement(Row, null,
349
- React.createElement(Col, { sm: 12 },
350
- React.createElement("ul", null, users.map((user) => {
351
- return React.createElement("li", null, user.email);
352
- })))));
353
- return React.createElement(Crud2, { schema: userSchema, collectionName: "users", collection: users });
354
- };
355
- const OrgChart = ({ users, adminMode }) => {
356
- const initialNodes = [
357
- { id: '1', position: { x: 0, y: 0 }, data: { label: '1' } },
358
- { id: '2', position: { x: 0, y: 100 }, data: { label: '2' } },
359
- ];
360
- const initialEdges = [{ id: 'e1-2', source: '1', target: '2' }];
361
- if (!adminMode)
362
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
363
- React.createElement(Row, null,
364
- React.createElement(Col, { sm: 12 },
365
- React.createElement("div", { style: { width: '100vw', height: '100vh' } },
366
- React.createElement(ReactFlow, { nodes: [
367
- ...initialNodes,
368
- ...users.map((user) => {
369
- return ({ id: user._id, position: { x: 0, y: 0 }, data: { label: user.email } });
370
- })
371
- ], edges: initialEdges })))));
372
- return React.createElement(Crud2, { schema: userSchema, collectionName: "users", collection: users });
373
- };
374
- const DocGalFsNav = ({ docGalFs, filepath }) => {
375
- return React.createElement("div", null,
376
- React.createElement("ul", null, ...docGalFs.map((lm) => {
377
- return React.createElement("li", null,
378
- React.createElement("a", { href: `${filepath}/${lm.name}` }, lm.name),
379
- lm.children.length > 0 && React.createElement(DocGalFsNav, { docGalFs: lm.children, filepath: `${filepath}/${lm.name}` }));
380
- })));
381
- };
382
- const DocGalFs = ({ docGalFs,
383
- // tests, results, features, adminMode
384
- }) => {
385
- // return <Row>
386
- // <Col sm={12}>
387
- // {JSON.stringify(docGalFs, null, 2)}
388
- // </Col>
389
- // </Row>
390
- return React.createElement(Row, null,
391
- React.createElement(Col, { sm: 4 },
392
- React.createElement(DocGalFsNav, { docGalFs: docGalFs, filepath: "" })),
393
- React.createElement(Col, { sm: 4 },
394
- React.createElement(Tab.Content, null)));
395
- };
396
- const DocGalDb = ({}) => {
397
- return React.createElement(Row, null,
398
- React.createElement(Col, { sm: 12 }, "DocGalDb"));
399
- };
400
- const ChatCatPeople = ({ users }) => {
401
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
402
- React.createElement(Row, null,
403
- React.createElement(Col, { sm: 12 },
404
- React.createElement("ul", null, users.map((user) => {
405
- return React.createElement("li", null, user.email);
406
- })))));
407
- };
408
- const ChatCatConversations = ({ users, conversations }) => {
409
- // return <Tab.Container id="left-tabs-example9" defaultActiveKey="feature-0">
410
- // <Row>
411
- // <Col sm={12}>
412
- // <ul>
413
- // {
414
- // users.map((user) => {
415
- // return <li>
416
- // {user.email}
417
- // </li>
418
- // })
419
- // }
420
- // </ul>
421
- // </Col>
422
- // </Row>
423
- // </Tab.Container>
424
- return React.createElement(Row, null,
425
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
426
- React.createElement(Container, { fluid: true },
427
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
428
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
429
- React.createElement(Nav, { className: "me-auto" },
430
- React.createElement(Tabs, { defaultActiveKey: "/chatCat/mostRecent" },
431
- React.createElement(Tab, { eventKey: "/chatCat/mostRecent", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "Feature") }),
432
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Kanban") }),
433
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Gantt") }),
434
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "FS docs") }),
435
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "DB docs") }),
436
- React.createElement(Tab, { eventKey: "/chatCat/bySubject", title: React.createElement(NavLink, { to: "/chatCat/bySubject", className: "nav-link" }, "Groups") }))),
437
- React.createElement(ButtonGroup, { className: "mb-2" },
438
- React.createElement(ToggleButton, { id: "toggle-check", type: "checkbox", variant: "outline-primary", checked: false, value: "1" }, "\u2699\uFE0F"))))));
439
- };
440
- const ChatCatRooms = ({ users, rooms }) => {
441
- return React.createElement(Tab.Container, { id: "left-tabs-example9", defaultActiveKey: "feature-0" },
442
- React.createElement(Row, null,
443
- React.createElement(Col, { sm: 12 },
444
- React.createElement("ul", null, users.map((user) => {
445
- return React.createElement("li", null, user.email);
446
- })))));
447
- };
448
- const Report = () => {
449
- const [state, setState] = useState({
450
- tests: [],
451
- buildDir: "",
452
- results: {}
453
- });
454
- const [tests, setTests] = useState({
455
- tests: [],
456
- buildDir: ""
457
- });
458
- const [features, setFeatures] = useState([]);
459
- const [kanban, setKanban] = useState([]);
460
- const importResults = async () => {
461
- const config = await (await fetch("./testeranto.json")).json();
462
- const results = await Promise.all(config.tests.map((test) => {
463
- return new Promise(async (res, rej) => {
464
- const src = test[0];
465
- const runtime = test[1];
466
- const s = [tests.buildDir, runtime].concat(src.split(".").slice(0, -1).join(".")).join("/");
467
- const exitcode = await (await fetch("/docs" + "/" + s + "/exitcode")).text();
468
- const log = await (await fetch("/docs" + "/" + s + "/log.txt")).text();
469
- const testresults = await (await fetch("/docs" + "/" + s + "/tests.json")).json();
470
- const manifest = await (await fetch("/docs" + "/" + s + "/manifest.json")).json();
471
- res({ src, exitcode, log, testresults, manifest });
472
- });
473
- }));
474
- setState({ tests: config.tests, results, buildDir: config.buildDir });
475
- };
476
- const importFeatures = async () => {
477
- fetch('http://localhost:3000/features.json')
478
- .then(response => response.json())
479
- .then(json => setFeatures(json))
480
- .catch(error => console.error(error));
481
- };
482
- useEffect(() => { importFeatures(); }, []);
483
- const importKanban = async () => {
484
- fetch('http://localhost:3000/kanbans.json')
485
- .then(response => response.json())
486
- .then(json => setKanban(json))
487
- .catch(error => console.error(error));
488
- };
489
- useEffect(() => { importKanban(); }, []);
490
- const [users, setUsers] = useState([]);
491
- const importUsers = async () => {
492
- fetch('http://localhost:3000/users.json')
493
- .then(response => response.json())
494
- .then(json => setUsers(json))
495
- .catch(error => console.error(error));
496
- };
497
- useEffect(() => { importUsers(); }, []);
498
- const [gantt, setGantt] = useState([]);
499
- const importGantt = async () => {
500
- fetch('http://localhost:3000/gantts.json')
501
- .then(response => response.json())
502
- .then(json => setGantt(json))
503
- .catch(error => console.error(error));
504
- };
505
- useEffect(() => { importGantt(); }, []);
506
- const importTests = async () => {
507
- const x = await fetch("./testeranto.json");
508
- const y = await x.json();
509
- setTests(y);
510
- };
511
- useEffect(() => { importResults(); }, []);
512
- useEffect(() => { importTests(); }, []);
513
- const [activeKey, setActiveKey] = useState('home');
514
- const handleSelect = (selectedKey) => {
515
- setActiveKey(selectedKey);
516
- };
517
- const [adminMode, setAdminMode] = useState(false);
518
- const [docGalFs, setDocGalFs] = useState([]);
519
- const importFs = async () => {
520
- fetch('http://localhost:3000/docGal/fs.json')
521
- .then(response => response.json())
522
- .then(json => setDocGalFs(json))
523
- .catch(error => console.error(error));
524
- };
525
- useEffect(() => { importFs(); }, []);
526
- const [chatCatRooms, setChatCatRooms] = useState([]);
527
- const importChatCatRooms = async () => {
528
- fetch('http://localhost:3000/rooms.json')
529
- .then(response => response.json())
530
- .then(json => setChatCatRooms(json))
531
- .catch(error => console.error(error));
532
- };
533
- useEffect(() => { importChatCatRooms(); }, []);
534
- return (React.createElement("div", null,
535
- React.createElement("style", null, `
536
- pre, code, p {
537
- max-width: 40rem;
538
- text-wrap: auto;
539
- }
540
- footer {
541
- background-color: lightgray;
542
- margin: 0.5rem;
543
- padding: 0.5rem;
544
- position: fixed;
545
- bottom: 0;
546
- right: 0;
547
- }
548
-
549
- #root > div > ul {
550
-
551
- top: 0;
552
- }
553
- `),
554
- React.createElement(Router, null,
555
- React.createElement(Navbar, { expand: "md", className: "bg-body-tertiary" },
556
- React.createElement(Container, { fluid: true },
557
- React.createElement(Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
558
- React.createElement(Navbar.Collapse, { id: "basic-navbar-nav" },
559
- React.createElement(Nav, { className: "me-auto" },
560
- React.createElement(Tabs, { defaultActiveKey: "/tests" },
561
- React.createElement(Tab, { eventKey: "tests", title: React.createElement(NavLink, { to: "/tests", className: "nav-link" }, "TestPup") }),
562
- React.createElement(Tab, { eventKey: "taskMan", title: React.createElement(NavLink, { to: "/taskMan/features", className: "nav-link" }, "TaskMan") }),
563
- React.createElement(Tab, { eventKey: "docGal", title: React.createElement(NavLink, { to: "/docGal/fs", className: "nav-link" }, "DocGal") }),
564
- React.createElement(Tab, { eventKey: "chatCat", title: React.createElement(NavLink, { to: "/chatCat/mostRecent", className: "nav-link" }, "ChatCat") }),
565
- React.createElement(Tab, { eventKey: "whoThat", title: React.createElement(NavLink, { to: "/whoThat/people", className: "nav-link" }, "WhoThat") })))),
566
- React.createElement(ButtonGroup, { className: "mb-2" },
567
- React.createElement(Button, { id: "login", value: "1", onChange: (e) => setAdminMode(!adminMode) }, "Login")))),
568
- React.createElement(Routes, null,
569
- React.createElement(Route, { path: "/tests", element: React.createElement(Tests, { adminMode: adminMode, features: features, results: state.results, tests: tests }) }),
570
- React.createElement(Route, { path: "/chatCat/mostRecent", element: React.createElement(ChatCat, { chatCatRooms: chatCatRooms, chatCatHuddles: [], users: users },
571
- React.createElement(ChatCatPeople, { users: users })) }),
572
- React.createElement(Route, { path: "/chatCat/bySubject", element: React.createElement(ChatCat, { chatCatRooms: chatCatRooms, chatCatHuddles: [], users: users },
573
- React.createElement(ChatCatConversations, { users: users, conversations: [] })) }),
574
- React.createElement(Route, { path: "/docGal/fs", element: React.createElement(DocGal, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
575
- React.createElement(DocGalFs, { docGalFs: docGalFs })) }),
576
- React.createElement(Route, { path: "/docGal/db", element: React.createElement(DocGal, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
577
- React.createElement(DocGalDb, null)) }),
578
- React.createElement(Route, { path: "/taskMan/features", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
579
- React.createElement(Features, { adminMode: adminMode, features: features, results: state.results, tests: tests })) }),
580
- React.createElement(Route, { path: "/taskMan/kanban", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
581
- React.createElement(Kanban, { adminMode: adminMode, kanban: kanban, results: state.results, tests: tests, features: features, openNewColumnModal: () => {
582
- } })) }),
583
- React.createElement(Route, { path: "/taskMan/gantt", element: React.createElement(TaskMan, { adminMode: adminMode, setAdminMode: setAdminMode, users: users },
584
- React.createElement(GanttChart, { adminMode: adminMode, gantt: gantt, features: features, results: state.results, tests: tests })) }),
585
- React.createElement(Route, { path: "/whoThat/people", element: React.createElement(WhoThat, { users: users },
586
- React.createElement(Users, { adminMode: adminMode, users: users })) }),
587
- React.createElement(Route, { path: "/whoThat/groups", element: React.createElement(WhoThat, { users: users },
588
- React.createElement(Users, { adminMode: adminMode, users: users })) }),
589
- React.createElement(Route, { path: "/whoThat/org", element: React.createElement(WhoThat, { users: users },
590
- React.createElement(OrgChart, { adminMode: adminMode, users: users })) }))),
591
- React.createElement("footer", null,
592
- "made with \u2764\uFE0F and ",
593
- React.createElement("a", { href: "https://adamwong246.github.io/testeranto/" }, "testeranto "))));
594
- };
595
- document.addEventListener("DOMContentLoaded", function () {
596
- const elem = document.getElementById("root");
597
- if (elem) {
598
- ReactDom.createRoot(elem).render(React.createElement(Report, {}));
599
- }
600
- });
@@ -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
- });