@things-factory/kpi 9.1.19 → 10.0.0-beta.2

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 (140) 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/service/index.d.ts +1 -1
  43. package/dist-server/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +18 -18
  45. package/client/tsconfig.json +0 -11
  46. package/dist-server/tsconfig.json +0 -10
  47. package/server/@types/index.d.ts +0 -11
  48. package/server/calculator/evaluator.ts +0 -45
  49. package/server/calculator/functions.ts +0 -67
  50. package/server/calculator/index.ts +0 -4
  51. package/server/calculator/parser.ts +0 -137
  52. package/server/calculator/provider.ts +0 -10
  53. package/server/controllers/index.ts +0 -2
  54. package/server/controllers/kpi-metric-value-provider.ts +0 -79
  55. package/server/controllers/kpi-value-provider.ts +0 -51
  56. package/server/index.ts +0 -6
  57. package/server/migrations/1752190849680-seed-kpi-metrics.ts +0 -124
  58. package/server/migrations/1752190849681-seed-kpi.ts +0 -356
  59. package/server/migrations/1752192090123-add-grades-to-kpi.ts +0 -67
  60. package/server/migrations/1752192090124-add-kpi-statistics.ts +0 -719
  61. package/server/migrations/1752192090128-seed-kpi-org-scope.ts +0 -132
  62. package/server/migrations/1752192090129-seed-kpi-values.ts +0 -207
  63. package/server/migrations/grade-data/x11-performance-table.json +0 -962
  64. package/server/migrations/grade-data/x12-performance-table.json +0 -611
  65. package/server/migrations/grade-data/x14-performance-table.json +0 -42
  66. package/server/migrations/grade-data/x21-performance-table.json +0 -889
  67. package/server/migrations/grade-data/x22-performance-table.json +0 -1064
  68. package/server/migrations/grade-data/x23-performance-table.json +0 -42
  69. package/server/migrations/grade-data/x31-performance-table.json +0 -644
  70. package/server/migrations/grade-data/x32-performance-table.json +0 -993
  71. package/server/migrations/grade-data/x33-performance-table.json +0 -195
  72. package/server/migrations/grade-data/x34-performance-table.json +0 -12
  73. package/server/migrations/grade-data/x35-performance-table.json +0 -42
  74. package/server/migrations/grade-data/x41-performance-table.json +0 -825
  75. package/server/migrations/grade-data/x42-performance-table.json +0 -786
  76. package/server/migrations/grade-data/x43-performance-table.json +0 -12
  77. package/server/migrations/grade-data/x44-performance-table.json +0 -42
  78. package/server/migrations/grade-data/x51-performance-table.json +0 -924
  79. package/server/migrations/grade-data/x52-performance-table.json +0 -42
  80. package/server/migrations/grade-data/x61-performance-table.json +0 -261
  81. package/server/migrations/grade-data/x62-performance-table.json +0 -42
  82. package/server/migrations/index.ts +0 -9
  83. package/server/migrations/seed-data/kpi-metrics-seed.json +0 -454
  84. package/server/migrations/seed-data/kpi-org-scope-seed.json +0 -1676
  85. package/server/migrations/seed-data/kpi-scopes-seed.json +0 -121
  86. package/server/migrations/seed-data/kpi-values-seed.json +0 -402
  87. package/server/migrations/seed-data/kpis-seed.json +0 -488
  88. package/server/migrations/seed-data/scope-definitions-seed.json +0 -90
  89. package/server/routes.ts +0 -81
  90. package/server/service/index.ts +0 -51
  91. package/server/service/kpi/aggregate-kpi.ts +0 -103
  92. package/server/service/kpi/event-subscriber.ts +0 -29
  93. package/server/service/kpi/index.ts +0 -9
  94. package/server/service/kpi/kpi-formula.service.ts +0 -164
  95. package/server/service/kpi/kpi-grade.types.ts +0 -28
  96. package/server/service/kpi/kpi-history.ts +0 -126
  97. package/server/service/kpi/kpi-mutation.ts +0 -553
  98. package/server/service/kpi/kpi-query.ts +0 -224
  99. package/server/service/kpi/kpi-type.ts +0 -151
  100. package/server/service/kpi/kpi.ts +0 -254
  101. package/server/service/kpi-alert/index.ts +0 -3
  102. package/server/service/kpi-alert/kpi-alert-query.ts +0 -59
  103. package/server/service/kpi-alert/kpi-alert-type.ts +0 -20
  104. package/server/service/kpi-metric/aggregate-kpi-metric.ts +0 -132
  105. package/server/service/kpi-metric/index.ts +0 -7
  106. package/server/service/kpi-metric/kpi-metric-mutation.ts +0 -309
  107. package/server/service/kpi-metric/kpi-metric-query.ts +0 -70
  108. package/server/service/kpi-metric/kpi-metric-type.ts +0 -111
  109. package/server/service/kpi-metric/kpi-metric.ts +0 -134
  110. package/server/service/kpi-metric-value/index.ts +0 -7
  111. package/server/service/kpi-metric-value/kpi-metric-value-mutation.ts +0 -270
  112. package/server/service/kpi-metric-value/kpi-metric-value-query.ts +0 -62
  113. package/server/service/kpi-metric-value/kpi-metric-value-type.ts +0 -82
  114. package/server/service/kpi-metric-value/kpi-metric-value.ts +0 -93
  115. package/server/service/kpi-org-scope/index.ts +0 -6
  116. package/server/service/kpi-org-scope/kpi-org-scope-mutation.ts +0 -173
  117. package/server/service/kpi-org-scope/kpi-org-scope-query.ts +0 -127
  118. package/server/service/kpi-org-scope/kpi-org-scope-type.ts +0 -68
  119. package/server/service/kpi-org-scope/kpi-org-scope.ts +0 -123
  120. package/server/service/kpi-scope/index.ts +0 -11
  121. package/server/service/kpi-scope/kpi-scope-mutation.ts +0 -129
  122. package/server/service/kpi-scope/kpi-scope-query.ts +0 -63
  123. package/server/service/kpi-scope/kpi-scope-type.ts +0 -96
  124. package/server/service/kpi-scope/kpi-scope.ts +0 -143
  125. package/server/service/kpi-statistic/index.ts +0 -7
  126. package/server/service/kpi-statistic/kpi-statistic-batch.service.ts +0 -231
  127. package/server/service/kpi-statistic/kpi-statistic-calculation.service.ts +0 -410
  128. package/server/service/kpi-statistic/kpi-statistic-mutation.ts +0 -291
  129. package/server/service/kpi-statistic/kpi-statistic-query.ts +0 -146
  130. package/server/service/kpi-statistic/kpi-statistic-type.ts +0 -152
  131. package/server/service/kpi-statistic/kpi-statistic.ts +0 -199
  132. package/server/service/kpi-value/index.ts +0 -7
  133. package/server/service/kpi-value/kpi-value-mutation.ts +0 -432
  134. package/server/service/kpi-value/kpi-value-query.ts +0 -61
  135. package/server/service/kpi-value/kpi-value-score.service.ts +0 -106
  136. package/server/service/kpi-value/kpi-value-type.ts +0 -122
  137. package/server/service/kpi-value/kpi-value.ts +0 -160
  138. package/server/service/utils/value-date-util.ts +0 -119
  139. package/server/tsconfig.json +0 -10
  140. 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
  }