@dssp/dkpi 1.0.0-alpha.6 → 1.0.0-alpha.61

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 (209) hide show
  1. package/KPI-STATISTICS-SERVICE.md +233 -0
  2. package/assets/favicon.ico +0 -0
  3. package/assets/images/project-image.png +0 -0
  4. package/assets/manifest/apple-1024.png +0 -0
  5. package/assets/manifest/apple-120.png +0 -0
  6. package/assets/manifest/apple-152.png +0 -0
  7. package/assets/manifest/apple-167.png +0 -0
  8. package/assets/manifest/apple-180.png +0 -0
  9. package/assets/manifest/apple-touch-icon.png +0 -0
  10. package/assets/manifest/badge-128x128.png +0 -0
  11. package/assets/manifest/chrome-splashscreen-icon-384x384.png +0 -0
  12. package/assets/manifest/chrome-touch-icon-192x192.png +0 -0
  13. package/assets/manifest/icon-128x128.png +0 -0
  14. package/assets/manifest/icon-192x192.png +0 -0
  15. package/assets/manifest/icon-512x512.png +0 -0
  16. package/assets/manifest/icon-72x72.png +0 -0
  17. package/assets/manifest/icon-96x96.png +0 -0
  18. package/assets/manifest/image-metaog.png +0 -0
  19. package/assets/manifest/maskable_icon.png +0 -0
  20. package/assets/manifest/ms-icon-144x144.png +0 -0
  21. package/assets/manifest/ms-touch-icon-144x144-precomposed.png +0 -0
  22. package/assets/videos/intro.mp4 +0 -0
  23. package/dist-client/bootstrap.js +64 -4
  24. package/dist-client/bootstrap.js.map +1 -1
  25. package/dist-client/components/kpi-boxplot-chart.d.ts +24 -0
  26. package/dist-client/components/kpi-boxplot-chart.js +264 -0
  27. package/dist-client/components/kpi-boxplot-chart.js.map +1 -0
  28. package/dist-client/components/kpi-lookup-chart.d.ts +29 -0
  29. package/dist-client/components/kpi-lookup-chart.js +434 -0
  30. package/dist-client/components/kpi-lookup-chart.js.map +1 -0
  31. package/dist-client/components/kpi-mini-trend-chart.d.ts +14 -0
  32. package/dist-client/components/kpi-mini-trend-chart.js +148 -0
  33. package/dist-client/components/kpi-mini-trend-chart.js.map +1 -0
  34. package/dist-client/components/kpi-radar-chart.d.ts +17 -0
  35. package/dist-client/components/kpi-radar-chart.js +235 -0
  36. package/dist-client/components/kpi-radar-chart.js.map +1 -0
  37. package/dist-client/components/kpi-single-boxplot-chart.d.ts +24 -0
  38. package/dist-client/components/kpi-single-boxplot-chart.js +333 -0
  39. package/dist-client/components/kpi-single-boxplot-chart.js.map +1 -0
  40. package/dist-client/components/kpi-trend-chart.d.ts +25 -0
  41. package/dist-client/components/kpi-trend-chart.js +220 -0
  42. package/dist-client/components/kpi-trend-chart.js.map +1 -0
  43. package/dist-client/components/sv-pagenation-control.d.ts +18 -0
  44. package/dist-client/components/sv-pagenation-control.js +142 -0
  45. package/dist-client/components/sv-pagenation-control.js.map +1 -0
  46. package/dist-client/google-map/common-google-map.d.ts +35 -0
  47. package/dist-client/google-map/common-google-map.js +343 -0
  48. package/dist-client/google-map/common-google-map.js.map +1 -0
  49. package/dist-client/google-map/google-map-loader.d.ts +6 -0
  50. package/dist-client/google-map/google-map-loader.js +23 -0
  51. package/dist-client/google-map/google-map-loader.js.map +1 -0
  52. package/dist-client/icons/menu-icons.d.ts +6 -0
  53. package/dist-client/icons/menu-icons.js +42 -0
  54. package/dist-client/icons/menu-icons.js.map +1 -1
  55. package/dist-client/menu.d.ts +23 -1
  56. package/dist-client/menu.js +57 -2
  57. package/dist-client/menu.js.map +1 -1
  58. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.d.ts +17 -0
  59. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +280 -0
  60. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -0
  61. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.d.ts +21 -0
  62. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +389 -0
  63. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -0
  64. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.d.ts +25 -0
  65. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +469 -0
  66. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +1 -0
  67. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.d.ts +8 -0
  68. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js +78 -0
  69. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js.map +1 -0
  70. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +34 -0
  71. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +642 -0
  72. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -0
  73. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +38 -0
  74. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +501 -0
  75. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -0
  76. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +26 -0
  77. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +439 -0
  78. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -0
  79. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.d.ts +18 -0
  80. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js +131 -0
  81. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js.map +1 -0
  82. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +36 -0
  83. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +572 -0
  84. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -0
  85. package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +59 -0
  86. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +1027 -0
  87. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -0
  88. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.d.ts +12 -0
  89. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js +82 -0
  90. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js.map +1 -0
  91. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.d.ts +11 -0
  92. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js +65 -0
  93. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js.map +1 -0
  94. package/dist-client/pages/kpi-dashboard/kpi-list-summary.d.ts +13 -0
  95. package/dist-client/pages/kpi-dashboard/kpi-list-summary.js +115 -0
  96. package/dist-client/pages/kpi-dashboard/kpi-list-summary.js.map +1 -0
  97. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.d.ts +15 -0
  98. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js +147 -0
  99. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js.map +1 -0
  100. package/dist-client/pages/kpi-dashboard/kpi-value-entry.d.ts +7 -0
  101. package/dist-client/pages/kpi-dashboard/kpi-value-entry.js +86 -0
  102. package/dist-client/pages/kpi-dashboard/kpi-value-entry.js.map +1 -0
  103. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +58 -0
  104. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +731 -0
  105. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -0
  106. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.d.ts +23 -0
  107. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js +76 -0
  108. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js.map +1 -0
  109. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +69 -0
  110. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +385 -0
  111. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -0
  112. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.d.ts +12 -0
  113. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js +174 -0
  114. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js.map +1 -0
  115. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.d.ts +41 -0
  116. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +191 -0
  117. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +1 -0
  118. package/dist-client/pages/kpi-value/kpi-value-importer.d.ts +23 -0
  119. package/dist-client/pages/kpi-value/kpi-value-importer.js +93 -0
  120. package/dist-client/pages/kpi-value/kpi-value-importer.js.map +1 -0
  121. package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +72 -0
  122. package/dist-client/pages/kpi-value/kpi-value-list-page.js +465 -0
  123. package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -0
  124. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.d.ts +14 -0
  125. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js +319 -0
  126. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js.map +1 -0
  127. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.d.ts +14 -0
  128. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.js +275 -0
  129. package/dist-client/pages/project-complete-tabs/pc-tab2-rating.js.map +1 -0
  130. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.d.ts +18 -0
  131. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js +307 -0
  132. package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js.map +1 -0
  133. package/dist-client/pages/sv-project-complete.d.ts +20 -0
  134. package/dist-client/pages/sv-project-complete.js +209 -0
  135. package/dist-client/pages/sv-project-complete.js.map +1 -0
  136. package/dist-client/pages/sv-project-completed-list.d.ts +27 -0
  137. package/dist-client/pages/sv-project-completed-list.js +416 -0
  138. package/dist-client/pages/sv-project-completed-list.js.map +1 -0
  139. package/dist-client/pages/sv-project-detail.d.ts +34 -0
  140. package/dist-client/pages/sv-project-detail.js +1081 -0
  141. package/dist-client/pages/sv-project-detail.js.map +1 -0
  142. package/dist-client/pages/sv-project-list.d.ts +165 -0
  143. package/dist-client/pages/sv-project-list.js +489 -0
  144. package/dist-client/pages/sv-project-list.js.map +1 -0
  145. package/dist-client/route.d.ts +1 -1
  146. package/dist-client/route.js +25 -1
  147. package/dist-client/route.js.map +1 -1
  148. package/dist-client/shared/complete-api.d.ts +8 -0
  149. package/dist-client/shared/complete-api.js +177 -0
  150. package/dist-client/shared/complete-api.js.map +1 -0
  151. package/dist-client/shared/func.d.ts +2 -0
  152. package/dist-client/shared/func.js +22 -0
  153. package/dist-client/shared/func.js.map +1 -0
  154. package/dist-client/themes/dark.css +24 -24
  155. package/dist-client/themes/light.css +23 -23
  156. package/dist-client/tsconfig.tsbuildinfo +1 -1
  157. package/dist-client/viewparts/menu-tools.d.ts +46 -1
  158. package/dist-client/viewparts/menu-tools.js +377 -15
  159. package/dist-client/viewparts/menu-tools.js.map +1 -1
  160. package/dist-server/index.d.ts +2 -0
  161. package/dist-server/index.js +5 -0
  162. package/dist-server/index.js.map +1 -1
  163. package/dist-server/migrations/index.d.ts +1 -0
  164. package/dist-server/migrations/index.js +12 -0
  165. package/dist-server/migrations/index.js.map +1 -0
  166. package/dist-server/scripts/calculate-kpi-scores.d.ts +10 -0
  167. package/dist-server/scripts/calculate-kpi-scores.js +271 -0
  168. package/dist-server/scripts/calculate-kpi-scores.js.map +1 -0
  169. package/dist-server/scripts/load-grade-data-migration.d.ts +10 -0
  170. package/dist-server/scripts/load-grade-data-migration.js +194 -0
  171. package/dist-server/scripts/load-grade-data-migration.js.map +1 -0
  172. package/dist-server/scripts/propagate-parent-kpi-values.d.ts +10 -0
  173. package/dist-server/scripts/propagate-parent-kpi-values.js +440 -0
  174. package/dist-server/scripts/propagate-parent-kpi-values.js.map +1 -0
  175. package/dist-server/service/index.d.ts +4 -0
  176. package/dist-server/service/index.js +20 -0
  177. package/dist-server/service/index.js.map +1 -0
  178. package/dist-server/service/kpi-metric-value/index.d.ts +4 -0
  179. package/dist-server/service/kpi-metric-value/index.js +8 -0
  180. package/dist-server/service/kpi-metric-value/index.js.map +1 -0
  181. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +62 -0
  182. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +572 -0
  183. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -0
  184. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.d.ts +7 -0
  185. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js +47 -0
  186. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js.map +1 -0
  187. package/dist-server/service/kpi-stat/index.d.ts +4 -0
  188. package/dist-server/service/kpi-stat/index.js +8 -0
  189. package/dist-server/service/kpi-stat/index.js.map +1 -0
  190. package/dist-server/service/kpi-stat/kpi-stat-query.d.ts +9 -0
  191. package/dist-server/service/kpi-stat/kpi-stat-query.js +443 -0
  192. package/dist-server/service/kpi-stat/kpi-stat-query.js.map +1 -0
  193. package/dist-server/service/kpi-stat/kpi-stat-types.d.ts +19 -0
  194. package/dist-server/service/kpi-stat/kpi-stat-types.js +130 -0
  195. package/dist-server/service/kpi-stat/kpi-stat-types.js.map +1 -0
  196. package/dist-server/service/kpi-value/index.d.ts +3 -0
  197. package/dist-server/service/kpi-value/index.js +7 -0
  198. package/dist-server/service/kpi-value/index.js.map +1 -0
  199. package/dist-server/service/kpi-value/kpi-value-query.d.ts +8 -0
  200. package/dist-server/service/kpi-value/kpi-value-query.js +69 -0
  201. package/dist-server/service/kpi-value/kpi-value-query.js.map +1 -0
  202. package/dist-server/tsconfig.tsbuildinfo +1 -1
  203. package/kpi-module-service-tests.md +1286 -0
  204. package/kpi-module-test-report.md +676 -0
  205. package/kpi-module-unit-test-detailed-report.md +925 -0
  206. package/kpi-module-unit-tests-detailed.md +1452 -0
  207. package/package.json +62 -51
  208. package/schema.graphql +11559 -3215
  209. package/things-factory.config.js +7 -1
@@ -0,0 +1,177 @@
1
+ import { gql } from '@apollo/client';
2
+ import { client } from '@operato/graphql';
3
+ export const getProject = async (projectId) => {
4
+ const response = await client.query({
5
+ query: gql `
6
+ query Project($id: String!) {
7
+ project(id: $id) {
8
+ id
9
+ name
10
+ startDate
11
+ endDate
12
+ state
13
+
14
+ completeReport {
15
+ id
16
+ name
17
+ fullpath
18
+ }
19
+
20
+ buildingComplex {
21
+ id
22
+ coverageRatio
23
+ floorAreaRatio
24
+ workerCount
25
+ designChangeCount
26
+ constructionCost
27
+ area
28
+ }
29
+ }
30
+ }
31
+ `,
32
+ variables: { id: projectId }
33
+ });
34
+ if (response.errors) {
35
+ return {};
36
+ }
37
+ return response.data.project;
38
+ };
39
+ export const getKpiMetrics = async () => {
40
+ const response = await client.query({
41
+ query: gql `
42
+ query KpiMetrics {
43
+ kpiMetrics {
44
+ items {
45
+ id
46
+ name
47
+ unit
48
+ periodType
49
+ }
50
+ }
51
+ }
52
+ `
53
+ });
54
+ if (response.errors) {
55
+ return [];
56
+ }
57
+ return response.data.kpiMetrics.items;
58
+ };
59
+ export const getKpiMetricValues = async (projectId) => {
60
+ const filters = [{ name: 'org', operator: 'eq', value: projectId }];
61
+ const response = await client.query({
62
+ query: gql `
63
+ query KpiMetricValues($filters: [Filter!]) {
64
+ kpiMetricValues(filters: $filters) {
65
+ items {
66
+ id
67
+ value
68
+ unit
69
+ periodType
70
+ metricId
71
+ }
72
+ }
73
+ }
74
+ `,
75
+ variables: {
76
+ filters
77
+ }
78
+ });
79
+ if (response.errors) {
80
+ return [];
81
+ }
82
+ return response.data.kpiMetricValues.items;
83
+ };
84
+ export const getKpiCategories = async () => {
85
+ const response = await client.query({
86
+ query: gql `
87
+ query {
88
+ kpiCategories: kpisLevel1 {
89
+ id
90
+ name
91
+ description
92
+ active
93
+ kpis: children {
94
+ id
95
+ name
96
+ description
97
+ formula
98
+ active
99
+ grades
100
+ }
101
+ }
102
+ }
103
+ `
104
+ });
105
+ if (response.errors) {
106
+ return [];
107
+ }
108
+ return response.data.kpiCategories;
109
+ };
110
+ export const updateProjectCompleteStep1 = async (patches) => {
111
+ const response = await client.mutate({
112
+ mutation: gql `
113
+ mutation UpdateKpiMetricValuesCumulative($patches: [KpiMetricValuePatch!]!) {
114
+ updateKpiMetricValuesCumulative(patches: $patches) {
115
+ id
116
+ }
117
+ }
118
+ `,
119
+ variables: {
120
+ patches
121
+ }
122
+ });
123
+ return response;
124
+ };
125
+ export const updateProjectCompleteStep2 = async (patches) => {
126
+ const response = await client.mutate({
127
+ mutation: gql `
128
+ mutation UpdateKpiMetricValuesAssessment($patches: [KpiMetricValuePatch!]!) {
129
+ updateKpiMetricValuesAssessment(patches: $patches) {
130
+ id
131
+ }
132
+ }
133
+ `,
134
+ variables: {
135
+ patches
136
+ }
137
+ });
138
+ return response;
139
+ };
140
+ export const updateProjectCompleteStep3 = async (file, projectId) => {
141
+ const response = await client.mutate({
142
+ mutation: gql `
143
+ mutation UpdateKpiMetricValuesSentiment($attachment: NewAttachment!) {
144
+ updateKpiMetricValuesSentiment(attachment: $attachment) {
145
+ id
146
+ name
147
+ fullpath
148
+ }
149
+ }
150
+ `,
151
+ variables: {
152
+ attachment: {
153
+ file,
154
+ refBy: projectId,
155
+ refType: 'ProjectCompleteReport'
156
+ }
157
+ },
158
+ context: {
159
+ hasUpload: true
160
+ }
161
+ });
162
+ return response;
163
+ };
164
+ export const updateProjectCompleteFinalize = async (projectId) => {
165
+ const response = await client.mutate({
166
+ mutation: gql `
167
+ mutation FinalizeProjectWithKpiRecalculation($projectId: String!) {
168
+ finalizeProjectWithKpiRecalculation(projectId: $projectId)
169
+ }
170
+ `,
171
+ variables: {
172
+ projectId
173
+ }
174
+ });
175
+ return response;
176
+ };
177
+ //# sourceMappingURL=complete-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete-api.js","sourceRoot":"","sources":["../../client/shared/complete-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { gql } from '@apollo/client'\nimport { client } from '@operato/graphql'\n\nexport const getProject = async (projectId: string) => {\n const response = await client.query({\n query: gql`\n query Project($id: String!) {\n project(id: $id) {\n id\n name\n startDate\n endDate\n state\n\n completeReport {\n id\n name\n fullpath\n }\n\n buildingComplex {\n id\n coverageRatio\n floorAreaRatio\n workerCount\n designChangeCount\n constructionCost\n area\n }\n }\n }\n `,\n variables: { id: projectId }\n })\n\n if (response.errors) {\n return {}\n }\n\n return response.data.project\n}\n\nexport const getKpiMetrics = async () => {\n const response = await client.query({\n query: gql`\n query KpiMetrics {\n kpiMetrics {\n items {\n id\n name\n unit\n periodType\n }\n }\n }\n `\n })\n\n if (response.errors) {\n return []\n }\n\n return response.data.kpiMetrics.items\n}\n\nexport const getKpiMetricValues = async (projectId: string) => {\n const filters = [{ name: 'org', operator: 'eq', value: projectId }]\n\n const response = await client.query({\n query: gql`\n query KpiMetricValues($filters: [Filter!]) {\n kpiMetricValues(filters: $filters) {\n items {\n id\n value\n unit\n periodType\n metricId\n }\n }\n }\n `,\n variables: {\n filters\n }\n })\n\n if (response.errors) {\n return []\n }\n\n return response.data.kpiMetricValues.items\n}\n\nexport const getKpiCategories = async () => {\n const response = await client.query({\n query: gql`\n query {\n kpiCategories: kpisLevel1 {\n id\n name\n description\n active\n kpis: children {\n id\n name\n description\n formula\n active\n grades\n }\n }\n }\n `\n })\n\n if (response.errors) {\n return []\n }\n\n return response.data.kpiCategories\n}\n\nexport const updateProjectCompleteStep1 = async (patches: any) => {\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateKpiMetricValuesCumulative($patches: [KpiMetricValuePatch!]!) {\n updateKpiMetricValuesCumulative(patches: $patches) {\n id\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n return response\n}\n\nexport const updateProjectCompleteStep2 = async (patches: any) => {\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateKpiMetricValuesAssessment($patches: [KpiMetricValuePatch!]!) {\n updateKpiMetricValuesAssessment(patches: $patches) {\n id\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n return response\n}\n\nexport const updateProjectCompleteStep3 = async (file: any, projectId: string) => {\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateKpiMetricValuesSentiment($attachment: NewAttachment!) {\n updateKpiMetricValuesSentiment(attachment: $attachment) {\n id\n name\n fullpath\n }\n }\n `,\n variables: {\n attachment: {\n file,\n refBy: projectId,\n refType: 'ProjectCompleteReport'\n }\n },\n context: {\n hasUpload: true\n }\n })\n\n return response\n}\n\nexport const updateProjectCompleteFinalize = async (projectId: string) => {\n const response = await client.mutate({\n mutation: gql`\n mutation FinalizeProjectWithKpiRecalculation($projectId: String!) {\n finalizeProjectWithKpiRecalculation(projectId: $projectId)\n }\n `,\n variables: {\n projectId\n }\n })\n\n return response\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const calcDiff: (a: string | number, b: string | number) => number;
2
+ export declare const calcDateDiff: (a: string, b: string) => number;
@@ -0,0 +1,22 @@
1
+ import moment from 'moment';
2
+ // a와 b의 차이를 계산하여 값과 클래스를 반환
3
+ export const calcDiff = (a, b) => {
4
+ const origin = Number(a || '0');
5
+ const complete = Number(b || '0');
6
+ const diff = complete - origin;
7
+ if (!isFinite(diff))
8
+ return 0;
9
+ return diff;
10
+ };
11
+ // a와 b의 날짜 차이를 계산하여 값과 클래스를 반환
12
+ export const calcDateDiff = (a, b) => {
13
+ const origin = moment(a, 'YYYY-MM-DD', true);
14
+ const complete = moment(b, 'YYYY-MM-DD', true);
15
+ if (!origin.isValid() || !complete.isValid())
16
+ return 0;
17
+ const diffDays = complete.diff(origin, 'days');
18
+ if (diffDays === 0)
19
+ return 0;
20
+ return diffDays;
21
+ };
22
+ //# sourceMappingURL=func.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"func.js","sourceRoot":"","sources":["../../client/shared/func.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAkB,EAAE,CAAkB,EAAU,EAAE;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,+BAA+B;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAE5B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA","sourcesContent":["import moment from 'moment'\n\n// a와 b의 차이를 계산하여 값과 클래스를 반환\nexport const calcDiff = (a: string | number, b: string | number): number => {\n const origin = Number(a || '0')\n const complete = Number(b || '0')\n const diff = complete - origin\n if (!isFinite(diff)) return 0\n return diff\n}\n\n// a와 b의 날짜 차이를 계산하여 값과 클래스를 반환\nexport const calcDateDiff = (a: string, b: string): number => {\n const origin = moment(a, 'YYYY-MM-DD', true)\n const complete = moment(b, 'YYYY-MM-DD', true)\n if (!origin.isValid() || !complete.isValid()) return 0\n\n const diffDays = complete.diff(origin, 'days')\n if (diffDays === 0) return 0\n\n return diffDays\n}\n"]}
@@ -1,17 +1,17 @@
1
1
  .dark {
2
- --md-sys-color-primary: rgb(174 198 255);
3
- --md-sys-color-surface-tint: rgb(174 198 255);
4
- --md-sys-color-on-primary: rgb(17 47 96);
5
- --md-sys-color-primary-container: rgb(44 70 120);
2
+ --md-sys-color-primary: rgb(173 198 255);
3
+ --md-sys-color-surface-tint: rgb(173 198 255);
4
+ --md-sys-color-on-primary: rgb(16 47 96);
5
+ --md-sys-color-primary-container: rgb(43 70 120);
6
6
  --md-sys-color-on-primary-container: rgb(216 226 255);
7
- --md-sys-color-secondary: rgb(191 198 220);
8
- --md-sys-color-on-secondary: rgb(41 48 65);
9
- --md-sys-color-secondary-container: rgb(63 71 89);
10
- --md-sys-color-on-secondary-container: rgb(219 226 249);
11
- --md-sys-color-tertiary: rgb(222 188 223);
12
- --md-sys-color-on-tertiary: rgb(64 40 67);
13
- --md-sys-color-tertiary-container: rgb(88 62 91);
14
- --md-sys-color-on-tertiary-container: rgb(252 215 251);
7
+ --md-sys-color-secondary: rgb(167 200 255);
8
+ --md-sys-color-on-secondary: rgb(4 48 95);
9
+ --md-sys-color-secondary-container: rgb(36 71 119);
10
+ --md-sys-color-on-secondary-container: rgb(213 227 255);
11
+ --md-sys-color-tertiary: rgb(234 181 238);
12
+ --md-sys-color-on-tertiary: rgb(72 32 79);
13
+ --md-sys-color-tertiary-container: rgb(96 55 103);
14
+ --md-sys-color-on-tertiary-container: rgb(254 214 255);
15
15
  --md-sys-color-error: rgb(255 180 171);
16
16
  --md-sys-color-on-error: rgb(105 0 5);
17
17
  --md-sys-color-error-container: rgb(147 0 10);
@@ -21,7 +21,7 @@
21
21
  --md-sys-color-surface: rgb(17 19 24);
22
22
  --md-sys-color-on-surface: rgb(226 226 233);
23
23
  --md-sys-color-surface-variant: rgb(68 71 79);
24
- --md-sys-color-on-surface-variant: rgb(197 198 208);
24
+ --md-sys-color-on-surface-variant: rgb(196 198 208);
25
25
  --md-sys-color-outline: rgb(142 144 153);
26
26
  --md-sys-color-outline-variant: rgb(68 71 79);
27
27
  --md-sys-color-shadow: rgb(0 0 0);
@@ -30,17 +30,17 @@
30
30
  --md-sys-color-inverse-on-surface: rgb(47 48 54);
31
31
  --md-sys-color-inverse-primary: rgb(68 94 145);
32
32
  --md-sys-color-primary-fixed: rgb(216 226 255);
33
- --md-sys-color-on-primary-fixed: rgb(0 26 66);
34
- --md-sys-color-primary-fixed-dim: rgb(174 198 255);
35
- --md-sys-color-on-primary-fixed-variant: rgb(44 70 120);
36
- --md-sys-color-secondary-fixed: rgb(219 226 249);
37
- --md-sys-color-on-secondary-fixed: rgb(20 27 44);
38
- --md-sys-color-secondary-fixed-dim: rgb(191 198 220);
39
- --md-sys-color-on-secondary-fixed-variant: rgb(63 71 89);
40
- --md-sys-color-tertiary-fixed: rgb(252 215 251);
41
- --md-sys-color-on-tertiary-fixed: rgb(41 19 45);
42
- --md-sys-color-tertiary-fixed-dim: rgb(222 188 223);
43
- --md-sys-color-on-tertiary-fixed-variant: rgb(88 62 91);
33
+ --md-sys-color-on-primary-fixed: rgb(0 26 65);
34
+ --md-sys-color-primary-fixed-dim: rgb(173 198 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(43 70 120);
36
+ --md-sys-color-secondary-fixed: rgb(213 227 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(0 27 60);
38
+ --md-sys-color-secondary-fixed-dim: rgb(167 200 255);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(36 71 119);
40
+ --md-sys-color-tertiary-fixed: rgb(254 214 255);
41
+ --md-sys-color-on-tertiary-fixed: rgb(48 9 57);
42
+ --md-sys-color-tertiary-fixed-dim: rgb(234 181 238);
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(96 55 103);
44
44
  --md-sys-color-surface-dim: rgb(17 19 24);
45
45
  --md-sys-color-surface-bright: rgb(55 57 62);
46
46
  --md-sys-color-surface-container-lowest: rgb(12 14 19);
@@ -1,17 +1,17 @@
1
1
  .light {
2
- --md-sys-color-primary: rgb(68 94 145);
2
+ --md-sys-color-primary: rgb(11 77 162);
3
3
  --md-sys-color-surface-tint: rgb(68 94 145);
4
4
  --md-sys-color-on-primary: rgb(255 255 255);
5
5
  --md-sys-color-primary-container: rgb(216 226 255);
6
- --md-sys-color-on-primary-container: rgb(44 70 120);
7
- --md-sys-color-secondary: rgb(87 94 113);
6
+ --md-sys-color-on-primary-container: rgb(43 70 120);
7
+ --md-sys-color-secondary: rgb(36, 41, 60);
8
8
  --md-sys-color-on-secondary: rgb(255 255 255);
9
- --md-sys-color-secondary-container: rgb(219 226 249);
10
- --md-sys-color-on-secondary-container: rgb(63 71 89);
11
- --md-sys-color-tertiary: rgb(113 85 115);
9
+ --md-sys-color-secondary-container: rgb(213 227 255);
10
+ --md-sys-color-on-secondary-container: rgb(36 71 119);
11
+ --md-sys-color-tertiary: rgb(122 79 128);
12
12
  --md-sys-color-on-tertiary: rgb(255 255 255);
13
- --md-sys-color-tertiary-container: rgb(252 215 251);
14
- --md-sys-color-on-tertiary-container: rgb(88 62 91);
13
+ --md-sys-color-tertiary-container: rgb(254 214 255);
14
+ --md-sys-color-on-tertiary-container: rgb(96 55 103);
15
15
  --md-sys-color-error: rgb(186 26 26);
16
16
  --md-sys-color-on-error: rgb(255 255 255);
17
17
  --md-sys-color-error-container: rgb(255 218 214);
@@ -23,29 +23,29 @@
23
23
  --md-sys-color-surface-variant: rgb(225 226 236);
24
24
  --md-sys-color-on-surface-variant: rgb(68 71 79);
25
25
  --md-sys-color-outline: rgb(117 119 127);
26
- --md-sys-color-outline-variant: rgb(197 198 208);
26
+ --md-sys-color-outline-variant: rgb(196 198 208);
27
27
  --md-sys-color-shadow: rgb(0 0 0);
28
28
  --md-sys-color-scrim: rgb(0 0 0);
29
29
  --md-sys-color-inverse-surface: rgb(47 48 54);
30
30
  --md-sys-color-inverse-on-surface: rgb(240 240 247);
31
- --md-sys-color-inverse-primary: rgb(174 198 255);
31
+ --md-sys-color-inverse-primary: rgb(173 198 255);
32
32
  --md-sys-color-primary-fixed: rgb(216 226 255);
33
- --md-sys-color-on-primary-fixed: rgb(0 26 66);
34
- --md-sys-color-primary-fixed-dim: rgb(174 198 255);
35
- --md-sys-color-on-primary-fixed-variant: rgb(44 70 120);
36
- --md-sys-color-secondary-fixed: rgb(219 226 249);
37
- --md-sys-color-on-secondary-fixed: rgb(20 27 44);
38
- --md-sys-color-secondary-fixed-dim: rgb(191 198 220);
39
- --md-sys-color-on-secondary-fixed-variant: rgb(63 71 89);
40
- --md-sys-color-tertiary-fixed: rgb(252 215 251);
41
- --md-sys-color-on-tertiary-fixed: rgb(41 19 45);
42
- --md-sys-color-tertiary-fixed-dim: rgb(222 188 223);
43
- --md-sys-color-on-tertiary-fixed-variant: rgb(88 62 91);
33
+ --md-sys-color-on-primary-fixed: rgb(0 26 65);
34
+ --md-sys-color-primary-fixed-dim: rgb(173 198 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(43 70 120);
36
+ --md-sys-color-secondary-fixed: rgb(213 227 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(0 27 60);
38
+ --md-sys-color-secondary-fixed-dim: rgb(167 200 255);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(36 71 119);
40
+ --md-sys-color-tertiary-fixed: rgb(254 214 255);
41
+ --md-sys-color-on-tertiary-fixed: rgb(48 9 57);
42
+ --md-sys-color-tertiary-fixed-dim: rgb(234 181 238);
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(96 55 103);
44
44
  --md-sys-color-surface-dim: rgb(217 217 224);
45
45
  --md-sys-color-surface-bright: rgb(249 249 255);
46
46
  --md-sys-color-surface-container-lowest: rgb(255 255 255);
47
47
  --md-sys-color-surface-container-low: rgb(243 243 250);
48
- --md-sys-color-surface-container: rgb(238 237 244);
49
- --md-sys-color-surface-container-high: rgb(232 231 239);
48
+ --md-sys-color-surface-container: rgb(237 237 244);
49
+ --md-sys-color-surface-container-high: rgb(232 231 238);
50
50
  --md-sys-color-surface-container-highest: rgb(226 226 233);
51
51
  }