@voplus/morpho-document 1.0.0-dev212 → 1.0.0-dev215

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 (296) hide show
  1. package/changelog.md +7 -0
  2. package/es/Modules.js +4 -3
  3. package/es/Modules.js.map +1 -1
  4. package/es/components/ActivityLog/index.js +11 -4
  5. package/es/components/ActivityLog/index.js.map +1 -1
  6. package/es/components/AddDocDropdown/index.js +12 -1
  7. package/es/components/AddDocDropdown/index.js.map +1 -1
  8. package/es/components/AddDocDropdown/state.js +7 -1
  9. package/es/components/AddDocDropdown/state.js.map +1 -1
  10. package/es/components/BreadCrumbsHeader/index.d.ts +9 -0
  11. package/es/components/BreadCrumbsHeader/index.js +30 -0
  12. package/es/components/BreadCrumbsHeader/index.js.map +1 -0
  13. package/es/components/BreadCrumbsHeader/index.less +10 -0
  14. package/es/components/BreadCrumbsHeader/state.d.ts +10 -0
  15. package/es/components/BreadCrumbsHeader/state.js +34 -0
  16. package/es/components/BreadCrumbsHeader/state.js.map +1 -0
  17. package/es/components/DocumentItem/index.js +2 -8
  18. package/es/components/DocumentItem/index.js.map +1 -1
  19. package/es/components/DocumentList/Header.d.ts +13 -0
  20. package/es/components/DocumentList/Header.js +16 -0
  21. package/es/components/DocumentList/Header.js.map +1 -0
  22. package/es/components/DocumentList/index.js +29 -29
  23. package/es/components/DocumentList/index.js.map +1 -1
  24. package/es/components/DocumentList/index.less +39 -15
  25. package/es/components/DocumentList/state.d.ts +5 -8
  26. package/es/components/DocumentList/state.js +21 -38
  27. package/es/components/DocumentList/state.js.map +1 -1
  28. package/es/components/DocumentListView/index.d.ts +3 -2
  29. package/es/components/DocumentListView/index.js +31 -54
  30. package/es/components/DocumentListView/index.js.map +1 -1
  31. package/es/components/DocumentListView/state.d.ts +1 -36
  32. package/es/components/DocumentListView/state.js +1 -100
  33. package/es/components/DocumentListView/state.js.map +1 -1
  34. package/es/components/DocumentSortableTree/index.js +31 -4
  35. package/es/components/DocumentSortableTree/index.js.map +1 -1
  36. package/es/components/DocumentSortableTree/state.d.ts +7 -6
  37. package/es/components/DocumentSortableTree/state.js +23 -32
  38. package/es/components/DocumentSortableTree/state.js.map +1 -1
  39. package/es/components/DocumentTabs/index.js +2 -4
  40. package/es/components/DocumentTabs/index.js.map +1 -1
  41. package/es/components/DocumentTree/index.js +1 -1
  42. package/es/components/DocumentTree/index.js.map +1 -1
  43. package/es/components/FileViewer/ImageViewer.js +4 -3
  44. package/es/components/FileViewer/ImageViewer.js.map +1 -1
  45. package/es/components/FileViewer/PDFViewer.js +4 -2
  46. package/es/components/FileViewer/PDFViewer.js.map +1 -1
  47. package/es/components/FileViewer/Preview.js +12 -10
  48. package/es/components/FileViewer/Preview.js.map +1 -1
  49. package/es/components/FileViewer/index.less +33 -0
  50. package/es/components/NewDocumentForm/index.d.ts +1 -1
  51. package/es/components/NewDocumentForm/index.js +3 -1
  52. package/es/components/NewDocumentForm/index.js.map +1 -1
  53. package/es/components/QuickAccessSearch/index.js +5 -4
  54. package/es/components/QuickAccessSearch/index.js.map +1 -1
  55. package/es/components/QuickViewDialog/QuickSubTab/index.d.ts +10 -4
  56. package/es/components/QuickViewDialog/QuickSubTab/index.js +16 -16
  57. package/es/components/QuickViewDialog/QuickSubTab/index.js.map +1 -1
  58. package/es/components/QuickViewDialog/QuickSubTab/index.less +7 -19
  59. package/es/components/QuickViewDialog/index.js +2 -1
  60. package/es/components/QuickViewDialog/index.js.map +1 -1
  61. package/es/components/QuickViewDialog/index.less +8 -1
  62. package/es/components/helper.d.ts +1 -1
  63. package/es/components/helper.js +4 -0
  64. package/es/components/helper.js.map +1 -1
  65. package/es/components/styles/common.less +4 -1
  66. package/es/controls/filters/CreateDateFilter/index.d.ts +3 -0
  67. package/es/controls/filters/CreateDateFilter/index.js +24 -0
  68. package/es/controls/filters/CreateDateFilter/index.js.map +1 -0
  69. package/es/controls/filters/CreateDateFilter/state.d.ts +12 -0
  70. package/es/controls/filters/CreateDateFilter/state.js +33 -0
  71. package/es/controls/filters/CreateDateFilter/state.js.map +1 -0
  72. package/es/controls/filters/DocumentStatusFilter/index.d.ts +3 -0
  73. package/es/controls/filters/DocumentStatusFilter/index.js +23 -0
  74. package/es/controls/filters/DocumentStatusFilter/index.js.map +1 -0
  75. package/es/controls/filters/DocumentStatusFilter/state.d.ts +18 -0
  76. package/es/controls/filters/DocumentStatusFilter/state.js +43 -0
  77. package/es/controls/filters/DocumentStatusFilter/state.js.map +1 -0
  78. package/es/controls/filters/DocumentTypeFilter/index.d.ts +3 -0
  79. package/es/controls/filters/DocumentTypeFilter/index.js +21 -0
  80. package/es/controls/filters/DocumentTypeFilter/index.js.map +1 -0
  81. package/es/controls/filters/DocumentTypeFilter/state.d.ts +18 -0
  82. package/es/controls/filters/DocumentTypeFilter/state.js +57 -0
  83. package/es/controls/filters/DocumentTypeFilter/state.js.map +1 -0
  84. package/es/controls/filters/FlagFilter/index.d.ts +3 -0
  85. package/es/controls/filters/FlagFilter/index.js +21 -0
  86. package/es/controls/filters/FlagFilter/index.js.map +1 -0
  87. package/es/controls/filters/FlagFilter/state.d.ts +18 -0
  88. package/es/controls/filters/FlagFilter/state.js +54 -0
  89. package/es/controls/filters/FlagFilter/state.js.map +1 -0
  90. package/es/controls/filters/index.d.ts +4 -0
  91. package/es/controls/filters/index.js +5 -0
  92. package/es/controls/filters/index.js.map +1 -0
  93. package/es/data/DocumentStore/DocumentStore.d.ts +10 -0
  94. package/es/data/DocumentStore/DocumentStore.js +8 -0
  95. package/es/data/DocumentStore/DocumentStore.js.map +1 -1
  96. package/es/data/DocumentStore/hooks/useDocumentListEffect.d.ts +2 -1
  97. package/es/data/DocumentStore/hooks/useDocumentListEffect.js +2 -2
  98. package/es/data/DocumentStore/hooks/useDocumentListEffect.js.map +1 -1
  99. package/es/data/DocumentType.d.ts +3 -1
  100. package/es/data/DocumentType.js +3 -1
  101. package/es/data/DocumentType.js.map +1 -1
  102. package/es/data/interfaces/IShortcut.d.ts +8 -0
  103. package/es/data/interfaces/IShortcut.js +1 -0
  104. package/es/data/interfaces/IShortcut.js.map +1 -0
  105. package/es/data/interfaces/index.d.ts +1 -0
  106. package/es/data/{metas.d.ts → metas/FileTypeMeta.d.ts} +2 -2
  107. package/es/data/{metas.js → metas/FileTypeMeta.js} +4 -4
  108. package/es/data/metas/FileTypeMeta.js.map +1 -0
  109. package/es/data/metas/ShortcutMeta.d.ts +14 -0
  110. package/es/data/metas/ShortcutMeta.js +30 -0
  111. package/es/data/metas/ShortcutMeta.js.map +1 -0
  112. package/es/data/metas/index.d.ts +2 -0
  113. package/es/data/metas/index.js +3 -0
  114. package/es/data/metas/index.js.map +1 -0
  115. package/es/modules/unit/components/ActivityLog/index.d.ts +6 -0
  116. package/es/modules/unit/components/ActivityLog/index.js +62 -0
  117. package/es/modules/unit/components/ActivityLog/index.js.map +1 -0
  118. package/es/modules/unit/components/ActivityLog/index.less +64 -0
  119. package/es/modules/unit/components/ActivityLog/state.d.ts +14 -0
  120. package/es/modules/unit/components/ActivityLog/state.js +51 -0
  121. package/es/modules/unit/components/ActivityLog/state.js.map +1 -0
  122. package/es/modules/unit/components/BreadCrumbsHeader/index.d.ts +6 -0
  123. package/es/modules/unit/components/BreadCrumbsHeader/index.js +27 -0
  124. package/es/modules/unit/components/BreadCrumbsHeader/index.js.map +1 -0
  125. package/es/modules/unit/components/BreadCrumbsHeader/index.less +10 -0
  126. package/es/modules/unit/components/BreadCrumbsHeader/state.d.ts +5 -0
  127. package/es/modules/unit/components/BreadCrumbsHeader/state.js +19 -0
  128. package/es/modules/unit/components/BreadCrumbsHeader/state.js.map +1 -0
  129. package/es/modules/unit/components/NewUnitForm/index.d.ts +11 -0
  130. package/es/modules/unit/components/NewUnitForm/index.js +51 -0
  131. package/es/modules/unit/components/NewUnitForm/index.js.map +1 -0
  132. package/es/modules/unit/components/NewUnitForm/index.less +33 -0
  133. package/es/modules/unit/components/NewUnitForm/state.d.ts +22 -0
  134. package/es/modules/unit/components/NewUnitForm/state.js +49 -0
  135. package/es/modules/unit/components/NewUnitForm/state.js.map +1 -0
  136. package/es/modules/unit/components/SortableTreeUnitTheme/index.d.ts +4 -0
  137. package/es/modules/unit/components/SortableTreeUnitTheme/index.js +23 -0
  138. package/es/modules/unit/components/SortableTreeUnitTheme/index.js.map +1 -0
  139. package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.d.ts +3 -0
  140. package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.js +58 -0
  141. package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.js.map +1 -0
  142. package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.less +46 -0
  143. package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.d.ts +3 -0
  144. package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.js +73 -0
  145. package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.js.map +1 -0
  146. package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.less +12 -0
  147. package/es/modules/unit/components/SubUnitList/index.d.ts +5 -0
  148. package/es/modules/unit/components/SubUnitList/index.js +77 -0
  149. package/es/modules/unit/components/SubUnitList/index.js.map +1 -0
  150. package/es/modules/unit/components/SubUnitList/index.less +13 -0
  151. package/es/modules/unit/components/SubUnitList/state.d.ts +17 -0
  152. package/es/modules/unit/components/SubUnitList/state.js +41 -0
  153. package/es/modules/unit/components/SubUnitList/state.js.map +1 -0
  154. package/es/modules/unit/components/UnitAvatar/index.d.ts +1 -0
  155. package/es/modules/unit/components/UnitAvatar/index.js +4 -3
  156. package/es/modules/unit/components/UnitAvatar/index.js.map +1 -1
  157. package/es/modules/unit/components/UnitAvatar/index.less +2 -3
  158. package/es/modules/unit/components/UnitDetails/index.js +98 -7
  159. package/es/modules/unit/components/UnitDetails/index.js.map +1 -1
  160. package/es/modules/unit/components/UnitDetails/index.less +41 -5
  161. package/es/modules/unit/components/UnitDetails/state.d.ts +8 -0
  162. package/es/modules/unit/components/UnitDetails/state.js +24 -0
  163. package/es/modules/unit/components/UnitDetails/state.js.map +1 -0
  164. package/es/modules/unit/components/UnitHead/index.d.ts +2 -0
  165. package/es/modules/unit/components/UnitHead/index.js +31 -7
  166. package/es/modules/unit/components/UnitHead/index.js.map +1 -1
  167. package/es/modules/unit/components/UnitHead/index.less +18 -3
  168. package/es/modules/unit/components/UnitHead/state.d.ts +11 -0
  169. package/es/modules/unit/components/UnitHead/state.js +8 -0
  170. package/es/modules/unit/components/UnitHead/state.js.map +1 -0
  171. package/es/modules/unit/components/UnitItem/DefaultUnitItem.d.ts +4 -0
  172. package/es/modules/unit/components/UnitItem/DefaultUnitItem.js +29 -0
  173. package/es/modules/unit/components/UnitItem/DefaultUnitItem.js.map +1 -0
  174. package/es/modules/unit/components/UnitItem/SubUnitItem.d.ts +4 -0
  175. package/es/modules/unit/components/UnitItem/SubUnitItem.js +35 -0
  176. package/es/modules/unit/components/UnitItem/SubUnitItem.js.map +1 -0
  177. package/es/modules/unit/components/UnitItem/index.less +23 -5
  178. package/es/modules/unit/components/UnitItem/state.d.ts +20 -0
  179. package/es/modules/unit/components/UnitItem/state.js +20 -0
  180. package/es/modules/unit/components/UnitItem/state.js.map +1 -0
  181. package/es/modules/unit/components/UnitList/index.d.ts +4 -0
  182. package/es/modules/unit/components/UnitList/index.js +35 -0
  183. package/es/modules/unit/components/UnitList/index.js.map +1 -0
  184. package/es/modules/unit/components/UnitList/state.d.ts +15 -0
  185. package/es/modules/unit/components/UnitList/state.js +31 -0
  186. package/es/modules/unit/components/UnitList/state.js.map +1 -0
  187. package/es/modules/unit/components/UnitPropertiesView/index.d.ts +6 -0
  188. package/es/modules/unit/components/UnitPropertiesView/index.js +22 -0
  189. package/es/modules/unit/components/UnitPropertiesView/index.js.map +1 -0
  190. package/es/modules/unit/components/UnitSortableTree/index.d.ts +10 -0
  191. package/es/modules/unit/components/UnitSortableTree/index.js +54 -0
  192. package/es/modules/unit/components/UnitSortableTree/index.js.map +1 -0
  193. package/es/modules/unit/components/UnitSortableTree/state.d.ts +50 -0
  194. package/es/modules/unit/components/UnitSortableTree/state.js +151 -0
  195. package/es/modules/unit/components/UnitSortableTree/state.js.map +1 -0
  196. package/es/modules/unit/components/UnitTabs/index.d.ts +6 -0
  197. package/es/modules/unit/components/UnitTabs/index.js +27 -0
  198. package/es/modules/unit/components/UnitTabs/index.js.map +1 -0
  199. package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.d.ts +6 -0
  200. package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.js +32 -0
  201. package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.js.map +1 -0
  202. package/es/modules/unit/{components → controls}/QuickDataIcon/index.d.ts +1 -5
  203. package/es/modules/unit/controls/QuickDataIcon/index.js +36 -0
  204. package/es/modules/unit/controls/QuickDataIcon/index.js.map +1 -0
  205. package/es/modules/unit/controls/QuickDataIcon/index.less +0 -0
  206. package/es/modules/unit/controls/ToolBar/ContactMenu/index.d.ts +13 -0
  207. package/es/modules/unit/controls/ToolBar/ContactMenu/index.js +59 -0
  208. package/es/modules/unit/controls/ToolBar/ContactMenu/index.js.map +1 -0
  209. package/es/modules/unit/controls/ToolBar/ContactMenu/index.less +20 -0
  210. package/es/modules/unit/controls/ToolBar/ContactMenu/state.d.ts +34 -0
  211. package/es/modules/unit/controls/ToolBar/ContactMenu/state.js +71 -0
  212. package/es/modules/unit/controls/ToolBar/ContactMenu/state.js.map +1 -0
  213. package/es/modules/unit/controls/ToolBar/index.d.ts +12 -0
  214. package/es/modules/unit/controls/ToolBar/index.js +54 -0
  215. package/es/modules/unit/controls/ToolBar/index.js.map +1 -0
  216. package/es/modules/unit/controls/ToolBar/index.less +18 -0
  217. package/es/modules/unit/controls/ToolBar/state.d.ts +40 -0
  218. package/es/modules/unit/controls/ToolBar/state.js +50 -0
  219. package/es/modules/unit/controls/ToolBar/state.js.map +1 -0
  220. package/es/modules/unit/controls/UnitTypeFilter/index.d.ts +3 -0
  221. package/es/modules/unit/controls/UnitTypeFilter/index.js +21 -0
  222. package/es/modules/unit/controls/UnitTypeFilter/index.js.map +1 -0
  223. package/es/modules/unit/controls/UnitTypeFilter/state.d.ts +18 -0
  224. package/es/modules/unit/controls/UnitTypeFilter/state.js +63 -0
  225. package/es/modules/unit/controls/UnitTypeFilter/state.js.map +1 -0
  226. package/es/modules/unit/data/ContactStore.d.ts +82 -0
  227. package/es/modules/unit/data/ContactStore.js +140 -0
  228. package/es/modules/unit/data/ContactStore.js.map +1 -0
  229. package/es/modules/unit/data/FileStore/FileContext.d.ts +6 -0
  230. package/es/modules/unit/data/FileStore/FileContext.js +40 -0
  231. package/es/modules/unit/data/FileStore/FileContext.js.map +1 -0
  232. package/es/modules/unit/data/FileStore/index.d.ts +1 -0
  233. package/es/modules/unit/data/FileStore/index.js +2 -0
  234. package/es/modules/unit/data/FileStore/index.js.map +1 -0
  235. package/es/modules/unit/data/StoreContext/index.d.ts +3 -0
  236. package/es/modules/unit/data/StoreContext/index.js +4 -0
  237. package/es/modules/unit/data/StoreContext/index.js.map +1 -0
  238. package/es/modules/unit/data/UnitContext/index.d.ts +20 -0
  239. package/es/modules/unit/data/UnitContext/index.js +32 -0
  240. package/es/modules/unit/data/UnitContext/index.js.map +1 -0
  241. package/es/modules/unit/data/hooks.d.ts +24 -0
  242. package/es/modules/unit/data/hooks.js +65 -0
  243. package/es/modules/unit/data/hooks.js.map +1 -0
  244. package/es/modules/unit/data/index.d.ts +3 -0
  245. package/es/modules/unit/data/index.js +3 -0
  246. package/es/modules/unit/data/index.js.map +1 -0
  247. package/es/modules/unit/data/interfaces/IAddress.d.ts +14 -0
  248. package/es/modules/unit/data/interfaces/IAddress.js +1 -0
  249. package/es/modules/unit/data/interfaces/IAddress.js.map +1 -0
  250. package/es/modules/unit/data/interfaces/IContact.d.ts +45 -0
  251. package/es/modules/unit/data/interfaces/IContact.js +1 -0
  252. package/es/modules/unit/data/interfaces/IContact.js.map +1 -0
  253. package/es/modules/unit/data/interfaces/IEntityName.d.ts +6 -0
  254. package/es/modules/unit/data/interfaces/IEntityName.js +1 -0
  255. package/es/modules/unit/data/interfaces/IEntityName.js.map +1 -0
  256. package/es/modules/unit/data/interfaces/index.d.ts +3 -0
  257. package/es/modules/unit/data/interfaces/index.js +1 -0
  258. package/es/modules/unit/data/interfaces/index.js.map +1 -0
  259. package/es/modules/unit/pages/UnitDefaultView/index.d.ts +3 -0
  260. package/es/modules/unit/pages/UnitDefaultView/index.js +47 -0
  261. package/es/modules/unit/pages/UnitDefaultView/index.js.map +1 -0
  262. package/es/modules/unit/pages/UnitDefaultView/index.less +17 -0
  263. package/es/modules/unit/pages/UnitListView/index.d.ts +3 -0
  264. package/es/modules/unit/pages/UnitListView/index.js +10 -0
  265. package/es/modules/unit/pages/UnitListView/index.js.map +1 -0
  266. package/es/modules/unit/pages/UnitTreeView/index.d.ts +3 -0
  267. package/es/modules/unit/pages/UnitTreeView/index.js +47 -0
  268. package/es/modules/unit/pages/UnitTreeView/index.js.map +1 -0
  269. package/es/modules/unit/pages/UnitTreeView/index.less +31 -0
  270. package/es/modules/unit/pages/UnitTreeView/state.d.ts +5 -0
  271. package/es/modules/unit/pages/UnitTreeView/state.js +14 -0
  272. package/es/modules/unit/pages/UnitTreeView/state.js.map +1 -0
  273. package/es/pages/TreeViewPage/index.js +27 -20
  274. package/es/pages/TreeViewPage/index.js.map +1 -1
  275. package/es/pages/TreeViewPage/index.less +28 -19
  276. package/es/pages/TreeViewPage/state.d.ts +5 -0
  277. package/es/pages/TreeViewPage/state.js +14 -0
  278. package/es/pages/TreeViewPage/state.js.map +1 -0
  279. package/es/routes.d.ts +18 -0
  280. package/es/routes.js +40 -1
  281. package/es/routes.js.map +1 -1
  282. package/package.json +5 -3
  283. package/es/controls/DocumentTypeFilter/index.js +0 -54
  284. package/es/controls/DocumentTypeFilter/index.js.map +0 -1
  285. package/es/data/metas.js.map +0 -1
  286. package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.d.ts +0 -14
  287. package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.js +0 -28
  288. package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.js.map +0 -1
  289. package/es/modules/unit/components/QuickDataIcon/index.js +0 -45
  290. package/es/modules/unit/components/QuickDataIcon/index.js.map +0 -1
  291. package/es/modules/unit/components/UnitItem/index.d.ts +0 -6
  292. package/es/modules/unit/components/UnitItem/index.js +0 -19
  293. package/es/modules/unit/components/UnitItem/index.js.map +0 -1
  294. /package/es/modules/unit/components/{QuickDataIcon → UnitList}/index.less +0 -0
  295. /package/es/{controls/DocumentTypeFilter/index.d.ts → modules/unit/components/UnitPropertiesView/index.less} +0 -0
  296. /package/es/modules/unit/{components → controls}/QuickDataIcon/UnitTeamsIcon/index.less +0 -0
@@ -0,0 +1,65 @@
1
+ import { useContactStore } from ".";
2
+ import { useCountedMapListEffect, useLoadCountedMapItem } from "@voplus/morpho-data";
3
+ import { useDeepDepEffect } from "@voplus/morpho-data";
4
+ /** React hook to retrieve a contact
5
+ * @param {string} id - id of the task
6
+ * @param {LoadContactOptions} options - options
7
+ */
8
+ export const useContact = (id, options) => {
9
+ options = options ? options : {};
10
+ const store = useContactStore();
11
+ return useLoadCountedMapItem(id, store.items, () => store.load(id, options), options);
12
+ };
13
+ /** React hook to retrieve a contact or return a default empty contact if id is empty.
14
+ * @param {string} id - id of the task
15
+ * @param {LoadContactOptions} options - options
16
+ */
17
+ export const useContactOrDefault = (id, options) => {
18
+ options = options ? options : {};
19
+ const store = useContactStore();
20
+ const item = useLoadCountedMapItem(id ? id : "empty_id", store.items, id ? () => store.load(id, options) : () => Promise.resolve({}), options);
21
+ // delete the id if original id passed in is empty.
22
+ if (!id) {
23
+ delete item["id"];
24
+ }
25
+ return item;
26
+ };
27
+ /** React hook to retrieve a list of tasks
28
+ * @param effect - Effect callback to be ran after successful retrieved the list.
29
+ * @param options - Optional task list loading options.
30
+ */
31
+ export const useContactListEffect = (list, effect, options) => {
32
+ const deps = options ? options : {};
33
+ const contacts = useContactStore();
34
+ // Call useContactListEffect and ensure won't load twice for same loading options.
35
+ // return useCountedMapListEffect(list, effect, contacts.items, () => contacts.loadList(options), [deps]);
36
+ return useCountedMapListEffect(effect ? innerEffect : effect, contacts.items, () => contacts.loadList(options), [deps], {
37
+ preload: () => {
38
+ if (list)
39
+ list.loading = true;
40
+ },
41
+ postload: () => {
42
+ if (list)
43
+ list.loading = false;
44
+ }
45
+ });
46
+ function innerEffect(result) {
47
+ if (list && result.length < list.filters.paging.PageSize)
48
+ list.hasMore = false;
49
+ effect(result);
50
+ }
51
+ };
52
+ /** React hook to retrieve a list of activities of a contact.
53
+ * @param id - the id of the contact.
54
+ * @param effect - Effect callback to be ran after successful retrieved the list.
55
+ * @param options - Optional task list loading options.
56
+ */
57
+ export const useContactActivityListEffect = (id, effect, options) => {
58
+ const deps = options ? options : {};
59
+ const store = useContactStore();
60
+ // Call useDeepDepEffect directly because returned links do not need to be stored in counted map.
61
+ useDeepDepEffect(() => {
62
+ store.loadContactActivityList(id, options).then(effect);
63
+ }, [deps]);
64
+ };
65
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/modules/unit/data/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./ContactStore";
2
+ export * from "./interfaces";
3
+ export * from "./hooks";
@@ -0,0 +1,3 @@
1
+ export * from "./ContactStore";
2
+ export * from "./hooks";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/unit/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface IAddress {
2
+ /** Address line 1 */
3
+ line1: string;
4
+ /** Address line 2 */
5
+ line2?: string;
6
+ /** City of the address*/
7
+ city?: string;
8
+ /** Province/State of the address */
9
+ state?: string;
10
+ /** Postal code of the address */
11
+ postalCode?: string;
12
+ /** Country of the address */
13
+ country: string;
14
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAddress.js","sourceRoot":"","sources":["../../../../../src/modules/unit/data/interfaces/IAddress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { IAddress } from "./IAddress";
2
+ import { ILoadable } from "@voplus/morpho-data";
3
+ export interface ILegalIdentities {
4
+ /** Number of the identity document. */
5
+ number: string;
6
+ /** Name appear on the legal identity.*/
7
+ name: string;
8
+ /** Type of the legal identity */
9
+ type: "IdentityCard" | "Passport" | "BusinessRegistrationNo";
10
+ /** Country issued the identity */
11
+ country: string;
12
+ }
13
+ export interface IContact extends ILoadable {
14
+ /** Id of the contact */
15
+ id: string;
16
+ /** containerId of the contact */
17
+ containerId: string;
18
+ /** Name of the contact */
19
+ name: string;
20
+ /** Whether the contact is a group or not. */
21
+ isGroup?: boolean;
22
+ /** Email of the contact. */
23
+ email?: string;
24
+ /** Phone of the contact. */
25
+ phone?: string;
26
+ /** Nationality of the contact */
27
+ nationality?: string;
28
+ /** Birthday of the contact */
29
+ birthday?: Date;
30
+ /** Gender of the contact */
31
+ gender?: "Male" | "Female";
32
+ /** Address of the contact. */
33
+ address: IAddress;
34
+ /** Site of the contact. */
35
+ site?: string;
36
+ /** Primary legal identity of the contact if has. */
37
+ primaryLegalIdentity: ILegalIdentities;
38
+ /** Type of the contact. */
39
+ type: string;
40
+ /** path of the contact */
41
+ path?: {
42
+ id: string;
43
+ name: string;
44
+ }[];
45
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IContact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IContact.js","sourceRoot":"","sources":["../../../../../src/modules/unit/data/interfaces/IContact.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IEntityId {
2
+ id: string;
3
+ }
4
+ export interface IEntityName extends IEntityId {
5
+ name: string;
6
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IEntityName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEntityName.js","sourceRoot":"","sources":["../../../../../src/modules/unit/data/interfaces/IEntityName.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "./IContact";
2
+ export * from "./IEntityName";
3
+ export * from "./IAddress";
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/data/interfaces/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UnitDefaultView: () => JSX.Element;
3
+ export default UnitDefaultView;
@@ -0,0 +1,47 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import { useLayout, useTabItem } from "@voplus/morpho-data";
3
+ import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
4
+ import BreadCrumbsHeader from "../../components/BreadCrumbsHeader";
5
+ import UnitDetails from "../../components/UnitDetails";
6
+ import UnitHead from "../../components/UnitHead";
7
+ import UnitTabs from "../../components/UnitTabs";
8
+ import styles from "./index.less";
9
+ import { useContact } from "../../data";
10
+ import { useObserver } from "mobx-react-lite";
11
+ import { useRouteMatch } from "react-router";
12
+ const UnitDefaultView = () => {
13
+ const [asideContext] = useState(AsideContent.createContext());
14
+ const match = useRouteMatch();
15
+ const id = match.params.id;
16
+ const [loaded, setLoaded] = useState(true);
17
+ const task = useContact(id);
18
+ const layout = useLayout();
19
+ const tab = useTabItem();
20
+ tab.title = task.name;
21
+ useEffect(() => {
22
+ asideContext.openAside(AsideElement, { span: 12 });
23
+ }, []);
24
+ const AsideElement = (React.createElement("div", { className: "module-tab-view_aside" },
25
+ React.createElement(UnitTabs, { id: id })));
26
+ return useObserver(() => (React.createElement("div", { className: "module-tab-view" },
27
+ React.createElement("div", { className: styles["breadcrumb-header"] },
28
+ React.createElement(BreadCrumbsHeader, { id: id, onBreadCrumb: toPath })),
29
+ React.createElement(AsideContent, { context: asideContext },
30
+ React.createElement("div", { className: styles["unit-default-view"] }, loaded && (React.createElement("div", { className: "unit-default-details" },
31
+ React.createElement(UnitHead, { id: id, onReload: onReload, onExpand: () => asideContext.asideContent
32
+ ? asideContext.closeAside()
33
+ : asideContext.openAside(AsideElement, { span: 12 }) }),
34
+ React.createElement(UnitDetails, { id: id }))))))));
35
+ function toPath(id) {
36
+ layout.history.push(`/units/${id}`);
37
+ }
38
+ /** reload data */
39
+ function onReload() {
40
+ setLoaded(false);
41
+ setTimeout(() => {
42
+ setLoaded(true);
43
+ }, 100);
44
+ }
45
+ };
46
+ export default UnitDefaultView;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/pages/UnitDefaultView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,YAAY,MAAM,qDAAqD,CAAC;AAC/E,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,aAAa,EAAkB,CAAC;IAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,CACpB,6BAAK,SAAS,EAAC,uBAAuB;QACrC,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,CACf,CACN,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,iBAAiB;QAC/B,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;YAC1C,oBAAC,iBAAiB,IAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,GAAI,CAC9C;QACN,oBAAC,YAAY,IAAC,OAAO,EAAE,YAAY;YAClC,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,IACzC,MAAM,IAAI,CACV,6BAAK,SAAS,EAAC,sBAAsB;gBACpC,oBAAC,QAAQ,IACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CACd,YAAY,CAAC,YAAY;wBACxB,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE;wBAC3B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAErD;gBACF,oBAAC,WAAW,IAAC,EAAE,EAAE,EAAE,GAAI,CAClB,CACN,CACI,CACQ,CACV,CACN,CAAC,CAAC;IAEH,SAAS,MAAM,CAAC,EAAU;QACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB;IAClB,SAAS,QAAQ;QAChB,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,EAAE;YACf,SAAS,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,17 @@
1
+ .unit-default-view {
2
+ height: 100%;
3
+ background: #ffffff;
4
+ :global {
5
+ .unit-default-details {
6
+ display: flex;
7
+ flex-direction: column;
8
+ height: 100%;
9
+ }
10
+ }
11
+ }
12
+
13
+ .breadcrumb-header {
14
+ background: #fff;
15
+ padding: 5px 20px;
16
+ border-bottom: 1px solid #d9d9d9;
17
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UnitListView: () => JSX.Element;
3
+ export default UnitListView;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import UnitList from "../../components/UnitList";
3
+ import { useTabItem } from "@voplus/morpho-data";
4
+ const UnitListView = () => {
5
+ const tab = useTabItem();
6
+ tab.title = "Unit";
7
+ return React.createElement(UnitList, null);
8
+ };
9
+ export default UnitListView;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/pages/UnitListView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;IAEnB,OAAO,oBAAC,QAAQ,OAAG,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const UnitTreeView: () => JSX.Element;
3
+ export default UnitTreeView;
@@ -0,0 +1,47 @@
1
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
2
+ import React, { useState } from "react";
3
+ import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
4
+ import BreadCrumbsHeader from "../../components/BreadCrumbsHeader";
5
+ import ListHeader from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeader";
6
+ import { State } from "./state";
7
+ import UnitPropertiesView from "../../components/UnitPropertiesView";
8
+ import UnitSortableTree from "../../components/UnitSortableTree";
9
+ import UnitTypeFilter from "../../controls/UnitTypeFilter";
10
+ import styles from "./index.less";
11
+ import { useLayout } from "@voplus/morpho-data";
12
+ import { useObserver } from "mobx-react-lite";
13
+ import { useRouteMatch } from "react-router";
14
+ const UnitTreeView = () => {
15
+ const match = useRouteMatch();
16
+ const [asideContext] = useState(AsideContent.createContext());
17
+ const id = match.params.id;
18
+ const layout = useLayout();
19
+ const [state] = useState(new State());
20
+ /** 建立 ListView 和useTaskListEffect所需的ListDataState. 会根据parentId重建所以不需reset. */
21
+ const list = useCreateListDataState({}, []);
22
+ return useObserver(() => (React.createElement("div", { className: styles["tree-view"] },
23
+ React.createElement(ListDataContext.Provider, { value: list },
24
+ React.createElement(ListHeader, { header: React.createElement(BreadCrumbsHeader, { id: id, onBreadCrumb: toPath }), filterViewProps: {
25
+ columns: [React.createElement(UnitTypeFilter, { key: "unitTypeFilter" })],
26
+ /** story 顯示值用, 組件如無必要,不需提供onFilter, ListView2會自動呼叫filter. */
27
+ onFilter: c => {
28
+ var _a;
29
+ c.filter();
30
+ state.filterType = (_a = c === null || c === void 0 ? void 0 : c.options.Filters) === null || _a === void 0 ? void 0 : _a.filter(item => item.c === "Type")[0];
31
+ },
32
+ onReset: c => {
33
+ c.reset();
34
+ state.filterType = undefined;
35
+ }
36
+ }, sortable: false, addAble: false })),
37
+ React.createElement(AsideContent, { context: asideContext },
38
+ React.createElement(UnitSortableTree, { id: id, filterType: state.filterType, onUnitSelected: onUnitSelected })))));
39
+ function toPath(id) {
40
+ layout.history.push(`/unit-tree/${id}`);
41
+ }
42
+ function onUnitSelected(id) {
43
+ asideContext.openAside(React.createElement(UnitPropertiesView, { id: id }), { span: 12 });
44
+ }
45
+ };
46
+ export default UnitTreeView;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/pages/UnitTreeView/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ .tree-view {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ :global {
6
+ .list-view-header {
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: center;
10
+ padding: 10px 20px;
11
+ border-bottom: 1px solid #f2f2f2;
12
+ .view-title {
13
+ color: #000;
14
+ font-size: 16px;
15
+ font-weight: 600;
16
+ }
17
+ .plus-icon {
18
+ display: inline-block;
19
+ padding: 4px;
20
+ margin-left: 10px;
21
+ font-size: 13px;
22
+ line-height: 1px;
23
+ background: #1abc9c;
24
+ cursor: pointer;
25
+ }
26
+ .margin-left-10 {
27
+ margin-left: 10px;
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,5 @@
1
+ import { FilterOption } from "@voplus/morpho-data";
2
+ export declare class State {
3
+ types: string[];
4
+ filterType: FilterOption | undefined;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ this.types = [];
6
+ }
7
+ }
8
+ __decorate([
9
+ observable
10
+ ], State.prototype, "types", void 0);
11
+ __decorate([
12
+ observable
13
+ ], State.prototype, "filterType", void 0);
14
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/unit/pages/UnitTreeView/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,KAAK;IAAlB;QACoB,UAAK,GAAa,EAAE,CAAC;IAEzC,CAAC;CAAA;AAFY;IAAX,UAAU;oCAA6B;AAC5B;IAAX,UAAU;yCAA6C"}
@@ -1,37 +1,44 @@
1
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
1
2
  import React, { useState } from "react";
2
3
  import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
3
- import { Breadcrumb } from "@voplus/antd";
4
+ import BreadCrumbsHeader from "../../components/BreadCrumbsHeader";
4
5
  import DocumentSortableTree from "../../components/DocumentSortableTree";
6
+ import { DocumentTypeFilter } from "../../controls/filters";
7
+ import ListHeader from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeader";
5
8
  import PropertiesView from "../../components/PropertiesView";
6
- import classnames from "classnames";
9
+ import { State } from "./state";
7
10
  import styles from "./index.less";
8
- import { useDocument } from "../../data";
9
11
  import { useLayout } from "@voplus/morpho-data";
10
12
  import { useObserver } from "mobx-react-lite";
11
13
  import { useRouteMatch } from "react-router";
12
- // import DocumentTypeFilter from "../../controls/DocumentTypeFilter";
13
14
  const TreeViewPage = () => {
14
15
  const match = useRouteMatch();
15
16
  const [asideContext] = useState(AsideContent.createContext());
16
17
  const id = match.params.id;
17
18
  const layout = useLayout();
18
- const doc = useDocument(id, { reload: true, includes: "path" });
19
- const subStrName = (name) => {
20
- return doc.path && doc.path.length > 4 && name.length > 30
21
- ? name.substr(0, 20) + "..."
22
- : name;
23
- };
24
- const toPath = (id) => {
25
- layout.history.push(`/tree-view/${id}`);
26
- };
27
- return useObserver(() => (React.createElement(React.Fragment, null,
28
- !!(doc.path && doc.path.length) && (React.createElement("div", { className: styles["breadcrumb-container"] },
29
- React.createElement(Breadcrumb, { separator: ">" }, [...doc.path, { id: id, name: doc.name }].map((item) => (React.createElement(Breadcrumb.Item, { key: item.id, onClick: () => toPath(item.id) },
30
- React.createElement("span", { title: item.name, className: classnames("breadcrumb-name", {
31
- "breadcrumb-active": item.id === id
32
- }) }, subStrName(item.name)))))))),
19
+ const [state] = useState(new State());
20
+ /** 建立 ListView 和useTaskListEffect所需的ListDataState. 会根据parentId重建所以不需reset. */
21
+ const list = useCreateListDataState({}, []);
22
+ return useObserver(() => (React.createElement("div", { className: styles["tree-view"] },
23
+ React.createElement(ListDataContext.Provider, { value: list },
24
+ React.createElement(ListHeader, { header: React.createElement(BreadCrumbsHeader, { id: id, onBreadCrumb: toPath }), filterViewProps: {
25
+ columns: [React.createElement(DocumentTypeFilter, { key: "DocumentTypeFilter" })],
26
+ /** story 顯示值用, 組件如無必要,不需提供onFilter, ListView2會自動呼叫filter. */
27
+ onFilter: c => {
28
+ var _a;
29
+ c.filter();
30
+ state.filterType = (_a = c === null || c === void 0 ? void 0 : c.options.Filters) === null || _a === void 0 ? void 0 : _a.filter(item => item.c === "Type")[0];
31
+ },
32
+ onReset: c => {
33
+ c.reset();
34
+ state.filterType = undefined;
35
+ }
36
+ }, sortable: false, addAble: false })),
33
37
  React.createElement(AsideContent, { context: asideContext },
34
- React.createElement(DocumentSortableTree, { id: match.params.id, onDocumentSelected: onDocumentSelected })))));
38
+ React.createElement(DocumentSortableTree, { id: match.params.id, filterType: state.filterType, onDocumentSelected: onDocumentSelected })))));
39
+ function toPath(id) {
40
+ layout.history.push(`/tree-view/${id}`);
41
+ }
35
42
  function onDocumentSelected(id) {
36
43
  asideContext.openAside(React.createElement(PropertiesView, { id: id }), { span: 12 });
37
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/TreeViewPage/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pages/TreeViewPage/index.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,31 @@
1
- @import "../../components/styles/common.less";
2
- .breadcrumb-container {
3
- background: #fff;
4
- padding: 5px 20px;
5
- border-bottom: 1px solid #d9d9d9;
6
- cursor: pointer;
1
+ .tree-view {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
7
5
  :global {
8
- .ant-breadcrumb span {
9
- display: inline-block;
10
- vertical-align: middle;
11
- }
12
- .breadcrumb-name {
13
- display: inline-block;
14
- overflow: hidden;
15
- text-overflow: ellipsis;
16
- white-space: nowrap;
17
- }
18
- .breadcrumb-active {
19
- color: @primary-color;
6
+ .list-view-header {
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: center;
10
+ padding: 10px 20px;
11
+ border-bottom: 1px solid #f2f2f2;
12
+ .view-title {
13
+ color: #000;
14
+ font-size: 16px;
15
+ font-weight: 600;
16
+ }
17
+ .plus-icon {
18
+ display: inline-block;
19
+ padding: 4px;
20
+ margin-left: 10px;
21
+ font-size: 13px;
22
+ line-height: 1px;
23
+ background: #1abc9c;
24
+ cursor: pointer;
25
+ }
26
+ .margin-left-10 {
27
+ margin-left: 10px;
28
+ }
20
29
  }
21
30
  }
22
- }
31
+ }
@@ -0,0 +1,5 @@
1
+ import { FilterOption } from "@voplus/morpho-data";
2
+ export declare class State {
3
+ types: string[];
4
+ filterType: FilterOption | undefined;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ this.types = [];
6
+ }
7
+ }
8
+ __decorate([
9
+ observable
10
+ ], State.prototype, "types", void 0);
11
+ __decorate([
12
+ observable
13
+ ], State.prototype, "filterType", void 0);
14
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/pages/TreeViewPage/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,KAAK;IAAlB;QACoB,UAAK,GAAa,EAAE,CAAC;IAEzC,CAAC;CAAA;AAFY;IAAX,UAAU;oCAA6B;AAC5B;IAAX,UAAU;yCAA6C"}
package/es/routes.d.ts CHANGED
@@ -36,6 +36,24 @@ declare const Routes: {
36
36
  getUrl: (id: string) => string;
37
37
  component: () => JSX.Element;
38
38
  };
39
+ UnitList: {
40
+ route: string;
41
+ tabPattern: RegExp;
42
+ getUrl: (id?: string | undefined) => string;
43
+ component: () => JSX.Element;
44
+ };
45
+ Unit: {
46
+ route: string;
47
+ tabPattern: RegExp;
48
+ getUrl: (id?: string | undefined) => string;
49
+ component: () => JSX.Element;
50
+ };
51
+ UnitTree: {
52
+ route: string;
53
+ tabPattern: RegExp;
54
+ getUrl: (id: string) => string;
55
+ component: () => JSX.Element;
56
+ };
39
57
  addRoutes: () => void;
40
58
  };
41
59
  export default Routes;