@things-factory/kpi 9.2.5 → 10.0.0-beta.10

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 (139) hide show
  1. package/client/pages/kpi/kpi-list-page.ts +339 -525
  2. package/client/pages/kpi/kpi-tree-page.ts +135 -207
  3. package/client/pages/kpi-metric/kpi-metric-list-page.ts +146 -226
  4. package/client/pages/kpi-metric-value/kpi-metric-value-editor-page.ts +187 -295
  5. package/client/pages/kpi-metric-value/kpi-metric-value-list-page.ts +123 -194
  6. package/client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.ts +57 -91
  7. package/client/pages/kpi-statistic/kpi-statistic-editor-page.ts +180 -278
  8. package/client/pages/kpi-statistic/kpi-statistic-list-page.ts +186 -286
  9. package/client/pages/kpi-value/kpi-value-editor-page.ts +189 -292
  10. package/client/pages/kpi-value/kpi-value-list-page.ts +170 -264
  11. package/dist-client/pages/kpi/kpi-list-page.d.ts +0 -6
  12. package/dist-client/pages/kpi/kpi-list-page.js +150 -282
  13. package/dist-client/pages/kpi/kpi-list-page.js.map +1 -1
  14. package/dist-client/pages/kpi/kpi-tree-page.d.ts +1 -7
  15. package/dist-client/pages/kpi/kpi-tree-page.js +76 -127
  16. package/dist-client/pages/kpi/kpi-tree-page.js.map +1 -1
  17. package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +0 -6
  18. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +62 -116
  19. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -1
  20. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +1 -7
  21. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +82 -140
  22. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -1
  23. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +0 -6
  24. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +54 -98
  25. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -1
  26. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.d.ts +1 -7
  27. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +30 -57
  28. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +1 -1
  29. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.d.ts +1 -7
  30. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +91 -153
  31. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +1 -1
  32. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +0 -6
  33. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +81 -155
  34. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +1 -1
  35. package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +1 -7
  36. package/dist-client/pages/kpi-value/kpi-value-editor-page.js +80 -136
  37. package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +1 -1
  38. package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +0 -6
  39. package/dist-client/pages/kpi-value/kpi-value-list-page.js +73 -134
  40. package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
  41. package/dist-client/tsconfig.tsbuildinfo +1 -1
  42. package/dist-server/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +18 -18
  44. package/client/tsconfig.json +0 -11
  45. package/dist-server/tsconfig.json +0 -10
  46. package/server/@types/index.d.ts +0 -11
  47. package/server/calculator/evaluator.ts +0 -45
  48. package/server/calculator/functions.ts +0 -67
  49. package/server/calculator/index.ts +0 -4
  50. package/server/calculator/parser.ts +0 -137
  51. package/server/calculator/provider.ts +0 -10
  52. package/server/controllers/index.ts +0 -2
  53. package/server/controllers/kpi-metric-value-provider.ts +0 -79
  54. package/server/controllers/kpi-value-provider.ts +0 -51
  55. package/server/index.ts +0 -6
  56. package/server/migrations/1752190849680-seed-kpi-metrics.ts +0 -124
  57. package/server/migrations/1752190849681-seed-kpi.ts +0 -356
  58. package/server/migrations/1752192090123-add-grades-to-kpi.ts +0 -67
  59. package/server/migrations/1752192090124-add-kpi-statistics.ts +0 -719
  60. package/server/migrations/1752192090128-seed-kpi-org-scope.ts +0 -132
  61. package/server/migrations/1752192090129-seed-kpi-values.ts +0 -207
  62. package/server/migrations/grade-data/x11-performance-table.json +0 -962
  63. package/server/migrations/grade-data/x12-performance-table.json +0 -611
  64. package/server/migrations/grade-data/x14-performance-table.json +0 -42
  65. package/server/migrations/grade-data/x21-performance-table.json +0 -889
  66. package/server/migrations/grade-data/x22-performance-table.json +0 -1064
  67. package/server/migrations/grade-data/x23-performance-table.json +0 -42
  68. package/server/migrations/grade-data/x31-performance-table.json +0 -644
  69. package/server/migrations/grade-data/x32-performance-table.json +0 -993
  70. package/server/migrations/grade-data/x33-performance-table.json +0 -195
  71. package/server/migrations/grade-data/x34-performance-table.json +0 -12
  72. package/server/migrations/grade-data/x35-performance-table.json +0 -42
  73. package/server/migrations/grade-data/x41-performance-table.json +0 -825
  74. package/server/migrations/grade-data/x42-performance-table.json +0 -786
  75. package/server/migrations/grade-data/x43-performance-table.json +0 -12
  76. package/server/migrations/grade-data/x44-performance-table.json +0 -42
  77. package/server/migrations/grade-data/x51-performance-table.json +0 -924
  78. package/server/migrations/grade-data/x52-performance-table.json +0 -42
  79. package/server/migrations/grade-data/x61-performance-table.json +0 -261
  80. package/server/migrations/grade-data/x62-performance-table.json +0 -42
  81. package/server/migrations/index.ts +0 -9
  82. package/server/migrations/seed-data/kpi-metrics-seed.json +0 -454
  83. package/server/migrations/seed-data/kpi-org-scope-seed.json +0 -1676
  84. package/server/migrations/seed-data/kpi-scopes-seed.json +0 -121
  85. package/server/migrations/seed-data/kpi-values-seed.json +0 -402
  86. package/server/migrations/seed-data/kpis-seed.json +0 -488
  87. package/server/migrations/seed-data/scope-definitions-seed.json +0 -90
  88. package/server/routes.ts +0 -81
  89. package/server/service/index.ts +0 -51
  90. package/server/service/kpi/aggregate-kpi.ts +0 -103
  91. package/server/service/kpi/event-subscriber.ts +0 -29
  92. package/server/service/kpi/index.ts +0 -9
  93. package/server/service/kpi/kpi-formula.service.ts +0 -164
  94. package/server/service/kpi/kpi-grade.types.ts +0 -28
  95. package/server/service/kpi/kpi-history.ts +0 -126
  96. package/server/service/kpi/kpi-mutation.ts +0 -553
  97. package/server/service/kpi/kpi-query.ts +0 -224
  98. package/server/service/kpi/kpi-type.ts +0 -151
  99. package/server/service/kpi/kpi.ts +0 -254
  100. package/server/service/kpi-alert/index.ts +0 -3
  101. package/server/service/kpi-alert/kpi-alert-query.ts +0 -59
  102. package/server/service/kpi-alert/kpi-alert-type.ts +0 -20
  103. package/server/service/kpi-metric/aggregate-kpi-metric.ts +0 -132
  104. package/server/service/kpi-metric/index.ts +0 -7
  105. package/server/service/kpi-metric/kpi-metric-mutation.ts +0 -309
  106. package/server/service/kpi-metric/kpi-metric-query.ts +0 -70
  107. package/server/service/kpi-metric/kpi-metric-type.ts +0 -111
  108. package/server/service/kpi-metric/kpi-metric.ts +0 -134
  109. package/server/service/kpi-metric-value/index.ts +0 -7
  110. package/server/service/kpi-metric-value/kpi-metric-value-mutation.ts +0 -270
  111. package/server/service/kpi-metric-value/kpi-metric-value-query.ts +0 -62
  112. package/server/service/kpi-metric-value/kpi-metric-value-type.ts +0 -82
  113. package/server/service/kpi-metric-value/kpi-metric-value.ts +0 -93
  114. package/server/service/kpi-org-scope/index.ts +0 -6
  115. package/server/service/kpi-org-scope/kpi-org-scope-mutation.ts +0 -173
  116. package/server/service/kpi-org-scope/kpi-org-scope-query.ts +0 -127
  117. package/server/service/kpi-org-scope/kpi-org-scope-type.ts +0 -68
  118. package/server/service/kpi-org-scope/kpi-org-scope.ts +0 -123
  119. package/server/service/kpi-scope/index.ts +0 -11
  120. package/server/service/kpi-scope/kpi-scope-mutation.ts +0 -129
  121. package/server/service/kpi-scope/kpi-scope-query.ts +0 -63
  122. package/server/service/kpi-scope/kpi-scope-type.ts +0 -96
  123. package/server/service/kpi-scope/kpi-scope.ts +0 -143
  124. package/server/service/kpi-statistic/index.ts +0 -7
  125. package/server/service/kpi-statistic/kpi-statistic-batch.service.ts +0 -231
  126. package/server/service/kpi-statistic/kpi-statistic-calculation.service.ts +0 -410
  127. package/server/service/kpi-statistic/kpi-statistic-mutation.ts +0 -291
  128. package/server/service/kpi-statistic/kpi-statistic-query.ts +0 -146
  129. package/server/service/kpi-statistic/kpi-statistic-type.ts +0 -152
  130. package/server/service/kpi-statistic/kpi-statistic.ts +0 -199
  131. package/server/service/kpi-value/index.ts +0 -7
  132. package/server/service/kpi-value/kpi-value-mutation.ts +0 -432
  133. package/server/service/kpi-value/kpi-value-query.ts +0 -61
  134. package/server/service/kpi-value/kpi-value-score.service.ts +0 -106
  135. package/server/service/kpi-value/kpi-value-type.ts +0 -122
  136. package/server/service/kpi-value/kpi-value.ts +0 -160
  137. package/server/service/utils/value-date-util.ts +0 -119
  138. package/server/tsconfig.json +0 -10
  139. package/server/types/global.d.ts +0 -8
@@ -4,103 +4,82 @@ import './kpi-metric-value-manual-entry-form.js'
4
4
 
5
5
  import { css, html } from 'lit'
6
6
  import { customElement, property, query, state } from 'lit/decorators.js'
7
- import { connect } from 'pwa-helpers/connect-mixin'
8
7
  import { DataGrist } from '@operato/data-grist'
9
8
  import { client } from '@operato/graphql'
10
9
  import { i18next, localize } from '@operato/i18n'
11
10
  import { openPopup, notify } from '@operato/layout'
12
- import { PageView, store } from '@operato/shell'
11
+ import { PageView } from '@operato/shell'
13
12
  import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'
14
13
  import gql from 'graphql-tag'
15
14
 
16
15
  @customElement('kpi-metric-value-manual-entry-page')
17
- export class KpiMetricValueManualEntryPage extends connect(store)(localize(i18next)(PageView)) {
18
- static styles = [
16
+ export class KpiMetricValueManualEntryPage extends localize(i18next)(PageView) { static styles = [
19
17
  ScrollbarStyles,
20
18
  CommonHeaderStyles,
21
19
  css`
22
- :host {
23
- display: flex;
20
+ :host { display: flex;
24
21
  width: 100%;
25
- }
26
- ox-grist {
27
- overflow-y: auto;
22
+ }
23
+ ox-grist { overflow-y: auto;
28
24
  flex: 1;
29
- }
25
+ }
30
26
  `
31
27
  ]
32
28
 
33
- get context() {
34
- return {
35
- title: i18next.t('title.kpi metric value manual entry'),
36
- search: {
37
- handler: (search: string) => {
38
- this.grist.searchText = search
39
- },
29
+ get context() { return { title: i18next.t('title.kpi metric value manual entry'),
30
+ search: { handler: (search: string) => { this.grist.searchText = search
31
+ },
40
32
  value: this.grist.searchText
41
- },
42
- filter: {
43
- handler: () => {
44
- this.grist.toggleHeadroom()
45
- }
46
- },
33
+ },
34
+ filter: { handler: () => { this.grist.toggleHeadroom()
35
+ }
36
+ },
47
37
  help: 'kpi/kpi-metric-value'
48
- }
49
- }
38
+ }
39
+ }
50
40
 
51
41
  @state() private gristConfig: any
52
42
  @state() private metrics: any[] = []
53
43
  @query('ox-grist') private grist!: DataGrist
54
44
 
55
- render() {
56
- return html`
45
+ render() { return html`
57
46
  <ox-grist mode="CARD" .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}></ox-grist>
58
47
  `
59
- }
48
+ }
60
49
 
61
- async pageInitialized() {
62
- this.gristConfig = {
63
- list: {
64
- fields: ['name', 'description'],
50
+ async pageInitialized() { this.gristConfig = { list: { fields: ['name', 'description'],
65
51
  details: ['periodType', 'active']
66
- },
52
+ },
67
53
  columns: [
68
- {
69
- type: 'gutter',
54
+ { type: 'gutter',
70
55
  gutterName: 'button',
71
56
  icon: 'note_alt',
72
57
  iconOnly: false,
73
58
  width: 96,
74
59
  fixed: true,
75
60
  title: () => i18next.t('button.enter-kpi-metric-value'),
76
- handlers: {
77
- click: (columns, data, column, record, rowIndex) => {
78
- this.openManualEntryForm(record)
79
- }
80
- }
81
- },
82
- {
83
- type: 'string',
61
+ handlers: { click: (columns, data, column, record, rowIndex) => { this.openManualEntryForm(record)
62
+ }
63
+ }
64
+ },
65
+ { type: 'string',
84
66
  name: 'name',
85
67
  header: i18next.t('field.name'),
86
68
  record: { editable: false },
87
69
  filter: 'search',
88
70
  sortable: true,
89
71
  width: 150
90
- },
91
- {
92
- type: 'string',
72
+ },
73
+ { type: 'string',
93
74
  name: 'description',
94
75
  header: i18next.t('field.description'),
95
76
  record: { editable: false },
96
77
  width: 200
97
- },
98
- {
99
- type: 'select',
78
+ },
79
+ { type: 'select',
100
80
  name: 'periodType',
101
81
  header: '주기',
102
- record: {
103
- editable: true,
82
+ record: { editable: true,
104
83
  options: [
105
84
  { value: '', display: '' },
106
85
  { value: 'DAY', display: '일' },
@@ -111,75 +90,62 @@ export class KpiMetricValueManualEntryPage extends connect(store)(localize(i18ne
111
90
  { value: 'RANGE', display: '범위' },
112
91
  { value: 'ALLTIME', display: '전체' }
113
92
  ]
114
- },
93
+ },
115
94
  width: 80
116
- },
117
- {
118
- type: 'checkbox',
95
+ },
96
+ { type: 'checkbox',
119
97
  name: 'active',
120
98
  label: true,
121
99
  header: 'Active',
122
100
  record: { editable: false },
123
101
  width: 60
124
- }
102
+ }
125
103
  ],
126
- rows: {
127
- appendable: false,
104
+ rows: { appendable: false,
128
105
  editable: false,
129
- selectable: {
130
- multiple: false
131
- },
106
+ selectable: { multiple: false
107
+ },
132
108
  classifier: function (record, rowIndex) {}
133
- },
109
+ },
134
110
  sorters: [
135
- {
136
- name: 'name'
137
- }
111
+ { name: 'name'
112
+ }
138
113
  ]
139
- }
140
- }
114
+ }
115
+ }
141
116
 
142
- async fetchHandler({ page = 1, limit = 100, sortings = [], filters = [] }) {
143
- const response = await client.query({
144
- query: gql`
145
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
146
- responses: kpiMetrics(filters: $filters, pagination: $pagination, sortings: $sortings) {
147
- items {
148
- id
117
+ async fetchHandler({ page = 1, limit = 100, sortings = [], filters = [] }) { const response = await client.query({ query: gql`
118
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: kpiMetrics(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id
149
119
  name
150
120
  description
151
121
  periodType
152
122
  active
153
- }
123
+ }
154
124
  total
155
- }
156
- }
125
+ }
126
+ }
157
127
  `,
158
- variables: {
159
- filters,
128
+ variables: { filters,
160
129
  pagination: { page, limit },
161
130
  sortings
162
- }
163
- })
164
- return {
165
- total: response.data.responses.total || 0,
131
+ }
132
+ })
133
+ return { total: response.data.responses.total || 0,
166
134
  records: response.data.responses.items || []
167
- }
168
- }
135
+ }
136
+ }
169
137
 
170
- openManualEntryForm(metric) {
171
- openPopup(
138
+ openManualEntryForm(metric) { openPopup(
172
139
  html`
173
140
  <kpi-metric-value-manual-entry-form
174
141
  .metric=${metric}
175
142
  @saved=${() => this.grist.fetch()}
176
143
  ></kpi-metric-value-manual-entry-form>
177
144
  `,
178
- {
179
- backdrop: true,
145
+ { backdrop: true,
180
146
  size: 'medium',
181
147
  title: `${metric.name} - Metric 값 수동 입력`
182
- }
148
+ }
183
149
  )
184
- }
150
+ }
185
151
  }