@things-factory/dataset 5.0.2 → 5.0.5
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.
- package/client/pages/data-key-set/data-key-item-list.js +196 -0
- package/client/pages/data-key-set/data-key-set-importer.js +107 -0
- package/client/pages/data-key-set/data-key-set-list-page.js +354 -0
- package/client/pages/data-ooc/data-ooc-list-page.js +60 -0
- package/client/pages/data-sample/data-sample-list-page.js +55 -16
- package/client/pages/data-sample/data-sample-search-page.js +402 -0
- package/client/pages/data-sample/data-sample-view.js +48 -33
- package/client/pages/data-set/data-set-list-page.js +20 -1
- package/client/route.js +9 -1
- package/dist-server/controllers/create-data-sample.js +15 -3
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-item-type.js +58 -0
- package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-mutation.js +179 -0
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-query.js +110 -0
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-type.js +94 -0
- package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set.js +101 -0
- package/dist-server/service/data-key-set/data-key-set.js.map +1 -0
- package/dist-server/service/data-key-set/index.js +9 -0
- package/dist-server/service/data-key-set/index.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc.js +32 -0
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +29 -1
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +42 -0
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js +1 -1
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +14 -0
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +14 -6
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +32 -54
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/index.js +4 -1
- package/dist-server/service/index.js.map +1 -1
- package/package.json +2 -2
- package/server/controllers/create-data-sample.ts +19 -12
- package/server/service/data-key-set/data-key-item-type.ts +31 -0
- package/server/service/data-key-set/data-key-set-mutation.ts +198 -0
- package/server/service/data-key-set/data-key-set-query.ts +65 -0
- package/server/service/data-key-set/data-key-set-type.ts +57 -0
- package/server/service/data-key-set/data-key-set.ts +81 -0
- package/server/service/data-key-set/index.ts +6 -0
- package/server/service/data-ooc/data-ooc.ts +20 -0
- package/server/service/data-sample/data-sample-query.ts +29 -0
- package/server/service/data-sample/data-sample.ts +34 -0
- package/server/service/data-set/data-item-type.ts +1 -1
- package/server/service/data-set/data-set-query.ts +11 -0
- package/server/service/data-set/data-set-type.ts +6 -0
- package/server/service/data-set/data-set.ts +24 -48
- package/server/service/index.ts +4 -1
- package/things-factory.config.js +8 -0
- package/translations/en.json +11 -0
- package/translations/ko.json +11 -0
- package/translations/ms.json +12 -1
- package/translations/zh.json +11 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
|
2
|
+
import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
|
3
|
+
import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
|
4
|
+
|
5
|
+
import { DataKeyItemPatch } from './data-key-item-type'
|
6
|
+
import { DataKeySet } from './data-key-set'
|
7
|
+
|
8
|
+
@InputType()
|
9
|
+
export class NewDataKeySet {
|
10
|
+
@Field()
|
11
|
+
name: string
|
12
|
+
|
13
|
+
@Field({ nullable: true })
|
14
|
+
description?: string
|
15
|
+
|
16
|
+
@Field({ nullable: true })
|
17
|
+
active?: boolean
|
18
|
+
|
19
|
+
@Field(type => [DataKeyItemPatch], { nullable: true })
|
20
|
+
dataKeyItems?: DataKeyItemPatch[]
|
21
|
+
|
22
|
+
@Field(type => GraphQLUpload, { nullable: true })
|
23
|
+
thumbnail?: FileUpload
|
24
|
+
}
|
25
|
+
|
26
|
+
@InputType()
|
27
|
+
export class DataKeySetPatch {
|
28
|
+
@Field(type => ID, { nullable: true })
|
29
|
+
id?: string
|
30
|
+
|
31
|
+
@Field({ nullable: true })
|
32
|
+
name?: string
|
33
|
+
|
34
|
+
@Field({ nullable: true })
|
35
|
+
description?: string
|
36
|
+
|
37
|
+
@Field({ nullable: true })
|
38
|
+
active?: boolean
|
39
|
+
|
40
|
+
@Field(type => [DataKeyItemPatch], { nullable: true })
|
41
|
+
dataKeyItems?: DataKeyItemPatch[]
|
42
|
+
|
43
|
+
@Field(type => GraphQLUpload, { nullable: true })
|
44
|
+
thumbnail?: FileUpload
|
45
|
+
|
46
|
+
@Field({ nullable: true })
|
47
|
+
cuFlag?: string
|
48
|
+
}
|
49
|
+
|
50
|
+
@ObjectType()
|
51
|
+
export class DataKeySetList {
|
52
|
+
@Field(type => [DataKeySet])
|
53
|
+
items: DataKeySet[]
|
54
|
+
|
55
|
+
@Field(type => Int)
|
56
|
+
total: number
|
57
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import { Field, ID, ObjectType } from 'type-graphql'
|
2
|
+
import {
|
3
|
+
Column,
|
4
|
+
CreateDateColumn,
|
5
|
+
Entity,
|
6
|
+
Index,
|
7
|
+
ManyToOne,
|
8
|
+
PrimaryGeneratedColumn,
|
9
|
+
RelationId,
|
10
|
+
UpdateDateColumn
|
11
|
+
} from 'typeorm'
|
12
|
+
|
13
|
+
import { User } from '@things-factory/auth-base'
|
14
|
+
import { Domain } from '@things-factory/shell'
|
15
|
+
|
16
|
+
import { DataKeyItem } from './data-key-item-type'
|
17
|
+
|
18
|
+
@Entity()
|
19
|
+
@Index('ix_data_key_set_0', (dataKeySet: DataKeySet) => [dataKeySet.domain, dataKeySet.name], { unique: true })
|
20
|
+
@ObjectType({ description: 'Entity for DataKeySet' })
|
21
|
+
export class DataKeySet {
|
22
|
+
@PrimaryGeneratedColumn('uuid')
|
23
|
+
@Field(type => ID)
|
24
|
+
readonly id: string
|
25
|
+
|
26
|
+
@ManyToOne(type => Domain)
|
27
|
+
@Field({ nullable: true })
|
28
|
+
domain?: Domain
|
29
|
+
|
30
|
+
@RelationId((dataKeySet: DataKeySet) => dataKeySet.domain)
|
31
|
+
domainId?: string
|
32
|
+
|
33
|
+
@Column()
|
34
|
+
@Field()
|
35
|
+
name: string
|
36
|
+
|
37
|
+
@Column({
|
38
|
+
nullable: true
|
39
|
+
})
|
40
|
+
@Field({ nullable: true })
|
41
|
+
description?: string
|
42
|
+
|
43
|
+
@Column({
|
44
|
+
nullable: true
|
45
|
+
})
|
46
|
+
@Field({ nullable: true })
|
47
|
+
active?: boolean
|
48
|
+
|
49
|
+
@Column('simple-json', { nullable: true })
|
50
|
+
@Field(type => [DataKeyItem], { nullable: true })
|
51
|
+
dataKeyItems: DataKeyItem[]
|
52
|
+
|
53
|
+
@CreateDateColumn()
|
54
|
+
@Field({ nullable: true })
|
55
|
+
createdAt?: Date
|
56
|
+
|
57
|
+
@UpdateDateColumn()
|
58
|
+
@Field({ nullable: true })
|
59
|
+
updatedAt?: Date
|
60
|
+
|
61
|
+
@ManyToOne(type => User, {
|
62
|
+
nullable: true
|
63
|
+
})
|
64
|
+
@Field({ nullable: true })
|
65
|
+
creator?: User
|
66
|
+
|
67
|
+
@RelationId((dataKeySet: DataKeySet) => dataKeySet.creator)
|
68
|
+
creatorId?: string
|
69
|
+
|
70
|
+
@ManyToOne(type => User, {
|
71
|
+
nullable: true
|
72
|
+
})
|
73
|
+
@Field({ nullable: true })
|
74
|
+
updater?: User
|
75
|
+
|
76
|
+
@RelationId((dataKeySet: DataKeySet) => dataKeySet.creator)
|
77
|
+
updaterId?: string
|
78
|
+
|
79
|
+
@Field(type => String, { nullable: true })
|
80
|
+
thumbnail?: string
|
81
|
+
}
|
@@ -109,6 +109,26 @@ export class DataOoc {
|
|
109
109
|
@Field({ nullable: true })
|
110
110
|
useCase?: string
|
111
111
|
|
112
|
+
@Column({ nullable: true, default: '' })
|
113
|
+
@Field({ nullable: true })
|
114
|
+
key01?: string = ''
|
115
|
+
|
116
|
+
@Column({ nullable: true, default: '' })
|
117
|
+
@Field({ nullable: true })
|
118
|
+
key02?: string = ''
|
119
|
+
|
120
|
+
@Column({ nullable: true, default: '' })
|
121
|
+
@Field({ nullable: true })
|
122
|
+
key03?: string = ''
|
123
|
+
|
124
|
+
@Column({ nullable: true, default: '' })
|
125
|
+
@Field({ nullable: true })
|
126
|
+
key04?: string = ''
|
127
|
+
|
128
|
+
@Column({ nullable: true, default: '' })
|
129
|
+
@Field({ nullable: true })
|
130
|
+
key05?: string = ''
|
131
|
+
|
112
132
|
@Column('simple-json', { nullable: true })
|
113
133
|
@Field(type => ScalarObject, { nullable: true })
|
114
134
|
partitionKeys?: ScalarObject
|
@@ -4,6 +4,7 @@ import { getRepository } from 'typeorm'
|
|
4
4
|
import { User } from '@things-factory/auth-base'
|
5
5
|
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
6
6
|
|
7
|
+
import { DataKeySet } from '../data-key-set/data-key-set'
|
7
8
|
import { DataSetHistory } from '../data-set-history/data-set-history'
|
8
9
|
import { DataItem } from '../data-set/data-item-type'
|
9
10
|
import { DataSet } from '../data-set/data-set'
|
@@ -39,6 +40,34 @@ export class DataSampleQuery {
|
|
39
40
|
return { items, total }
|
40
41
|
}
|
41
42
|
|
43
|
+
@Directive('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)')
|
44
|
+
@Query(returns => DataSampleList, { description: 'To fetch multiple data samples by data key set' })
|
45
|
+
async dataSamplesByDataKeySet(
|
46
|
+
@Arg('dataKeySetId') dataKeySetId: string,
|
47
|
+
@Args() params: ListParam,
|
48
|
+
@Ctx() context: any
|
49
|
+
): Promise<DataSampleList> {
|
50
|
+
const { domain } = context.state
|
51
|
+
|
52
|
+
const dataKeySet = await getRepository(DataKeySet).findOne(dataKeySetId)
|
53
|
+
const dataKeyItems = dataKeySet?.dataKeyItems || []
|
54
|
+
const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)
|
55
|
+
|
56
|
+
const queryBuilder = getQueryBuilderFromListParams({
|
57
|
+
repository: getRepository(DataSample),
|
58
|
+
params,
|
59
|
+
domain,
|
60
|
+
alias: 'dks',
|
61
|
+
searchables: ['name', 'description'].concat(searchables)
|
62
|
+
}).innerJoin('dks.dataSet', 'ds', 'ds.dataKeySet = :dataKeySetId', {
|
63
|
+
dataKeySetId
|
64
|
+
})
|
65
|
+
|
66
|
+
const [items, total] = await queryBuilder.getManyAndCount()
|
67
|
+
|
68
|
+
return { items, total }
|
69
|
+
}
|
70
|
+
|
42
71
|
@FieldResolver(type => [DataItem])
|
43
72
|
async dataItems(@Root() dataSample: DataSample): Promise<DataItem[]> {
|
44
73
|
const dataSetHistory: DataSetHistory = await getRepository(DataSetHistory).findOne({
|
@@ -25,6 +25,20 @@ const DATABASE_TYPE = ORMCONFIG.type
|
|
25
25
|
(dataSample: DataSample) => [dataSample.domain, dataSample.dataSet, dataSample.collectedAt],
|
26
26
|
{ unique: false }
|
27
27
|
)
|
28
|
+
@Index(
|
29
|
+
'ix_data_sample_1',
|
30
|
+
(dataSample: DataSample) => [
|
31
|
+
dataSample.domain,
|
32
|
+
dataSample.dataSet,
|
33
|
+
dataSample.key01,
|
34
|
+
dataSample.key02,
|
35
|
+
dataSample.key03,
|
36
|
+
dataSample.key04,
|
37
|
+
dataSample.key05,
|
38
|
+
dataSample.collectedAt
|
39
|
+
],
|
40
|
+
{ unique: false }
|
41
|
+
)
|
28
42
|
@ObjectType({ description: 'Entity for DataSample' })
|
29
43
|
export class DataSample {
|
30
44
|
@PrimaryGeneratedColumn('uuid')
|
@@ -116,6 +130,26 @@ export class DataSample {
|
|
116
130
|
@Field({ nullable: true })
|
117
131
|
oos?: boolean
|
118
132
|
|
133
|
+
@Column({ nullable: true, default: '' })
|
134
|
+
@Field({ nullable: true })
|
135
|
+
key01?: string = ''
|
136
|
+
|
137
|
+
@Column({ nullable: true, default: '' })
|
138
|
+
@Field({ nullable: true })
|
139
|
+
key02?: string = ''
|
140
|
+
|
141
|
+
@Column({ nullable: true, default: '' })
|
142
|
+
@Field({ nullable: true })
|
143
|
+
key03?: string = ''
|
144
|
+
|
145
|
+
@Column({ nullable: true, default: '' })
|
146
|
+
@Field({ nullable: true })
|
147
|
+
key04?: string = ''
|
148
|
+
|
149
|
+
@Column({ nullable: true, default: '' })
|
150
|
+
@Field({ nullable: true })
|
151
|
+
key05?: string = ''
|
152
|
+
|
119
153
|
@Column({ nullable: true })
|
120
154
|
@Field({ nullable: true })
|
121
155
|
workDate?: string
|
@@ -7,6 +7,7 @@ import { Board } from '@things-factory/board-service'
|
|
7
7
|
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
8
8
|
|
9
9
|
import { DataItem } from '../data-item/data-item'
|
10
|
+
import { DataKeySet } from '../data-key-set/data-key-set'
|
10
11
|
import { DataSample } from '../data-sample/data-sample'
|
11
12
|
import { DataSet } from './data-set'
|
12
13
|
import { DataSetList } from './data-set-type'
|
@@ -147,6 +148,16 @@ export class DataSetQuery {
|
|
147
148
|
}
|
148
149
|
}
|
149
150
|
|
151
|
+
@FieldResolver(type => DataKeySet, { nullable: true })
|
152
|
+
async dataKeySet(@Root() dataSet: DataSet) {
|
153
|
+
return (
|
154
|
+
dataSet.dataKeySet ||
|
155
|
+
(await getRepository(DataKeySet).findOne({
|
156
|
+
id: dataSet.dataKeySetId
|
157
|
+
}))
|
158
|
+
)
|
159
|
+
}
|
160
|
+
|
150
161
|
@FieldResolver(type => Domain)
|
151
162
|
async domain(@Root() dataSet: DataSet): Promise<Domain> {
|
152
163
|
return await getRepository(Domain).findOne(dataSet.domainId)
|
@@ -15,6 +15,9 @@ export class NewDataSet {
|
|
15
15
|
@Field({ nullable: true })
|
16
16
|
description?: string
|
17
17
|
|
18
|
+
@Field(type => ObjectRef, { nullable: true })
|
19
|
+
dataKeySet?: ObjectRef
|
20
|
+
|
18
21
|
@Field(type => ObjectRef, { nullable: true })
|
19
22
|
entryRole?: ObjectRef
|
20
23
|
|
@@ -75,6 +78,9 @@ export class DataSetPatch {
|
|
75
78
|
@Field({ nullable: true })
|
76
79
|
description?: string
|
77
80
|
|
81
|
+
@Field(type => ObjectRef, { nullable: true })
|
82
|
+
dataKeySet?: ObjectRef
|
83
|
+
|
78
84
|
@Field(type => ObjectRef, { nullable: true })
|
79
85
|
supervisoryRole?: ObjectRef
|
80
86
|
|
@@ -14,6 +14,7 @@ import {
|
|
14
14
|
import { Role, User } from '@things-factory/auth-base'
|
15
15
|
import { Domain, ScalarObject } from '@things-factory/shell'
|
16
16
|
|
17
|
+
import { DataKeySet } from '../data-key-set/data-key-set'
|
17
18
|
import { DataItem } from './data-item-type'
|
18
19
|
|
19
20
|
export enum DataSetEntryType {
|
@@ -71,9 +72,7 @@ export class DataSet {
|
|
71
72
|
@Field()
|
72
73
|
name: string
|
73
74
|
|
74
|
-
@Column({
|
75
|
-
nullable: true
|
76
|
-
})
|
75
|
+
@Column({ nullable: true })
|
77
76
|
@Field({ nullable: true })
|
78
77
|
description?: string
|
79
78
|
|
@@ -81,78 +80,63 @@ export class DataSet {
|
|
81
80
|
@Field({ nullable: true })
|
82
81
|
version?: number = 1
|
83
82
|
|
84
|
-
@Column({
|
85
|
-
nullable: true
|
86
|
-
})
|
83
|
+
@Column({ nullable: true })
|
87
84
|
@Field({ nullable: true })
|
88
85
|
active?: boolean
|
89
86
|
|
90
|
-
@ManyToOne(type =>
|
91
|
-
|
92
|
-
|
87
|
+
@ManyToOne(type => DataKeySet, { nullable: true })
|
88
|
+
@Field(type => DataKeySet, { nullable: true })
|
89
|
+
dataKeySet?: Role
|
90
|
+
|
91
|
+
@RelationId((dataSet: DataSet) => dataSet.dataKeySet)
|
92
|
+
dataKeySetId?: string
|
93
|
+
|
94
|
+
@ManyToOne(type => Role, { nullable: true })
|
93
95
|
@Field(type => Role, { nullable: true })
|
94
96
|
entryRole?: Role
|
95
97
|
|
96
98
|
@RelationId((dataSet: DataSet) => dataSet.entryRole)
|
97
99
|
entryRoleId?: string
|
98
100
|
|
99
|
-
@ManyToOne(type => Role, {
|
100
|
-
nullable: true
|
101
|
-
})
|
101
|
+
@ManyToOne(type => Role, { nullable: true })
|
102
102
|
@Field(type => Role, { nullable: true })
|
103
103
|
supervisoryRole?: Role
|
104
104
|
|
105
105
|
@RelationId((dataSet: DataSet) => dataSet.supervisoryRole)
|
106
106
|
supervisoryRoleId?: string
|
107
107
|
|
108
|
-
@Column({
|
109
|
-
nullable: true
|
110
|
-
})
|
108
|
+
@Column({ nullable: true })
|
111
109
|
@Field({ nullable: true })
|
112
110
|
type?: 'manual' | 'automatic' | string
|
113
111
|
|
114
|
-
@Column({
|
115
|
-
nullable: true
|
116
|
-
})
|
112
|
+
@Column({ nullable: true })
|
117
113
|
@Field({ nullable: true })
|
118
114
|
entryType?: DataSetEntryType
|
119
115
|
|
120
|
-
@Column({
|
121
|
-
nullable: true
|
122
|
-
})
|
116
|
+
@Column({ nullable: true })
|
123
117
|
@Field({ nullable: true })
|
124
118
|
entryView?: string
|
125
119
|
|
126
|
-
@Column({
|
127
|
-
nullable: true
|
128
|
-
})
|
120
|
+
@Column({ nullable: true })
|
129
121
|
@Field({ nullable: true })
|
130
122
|
monitorType?: DataSetMonitorType
|
131
123
|
|
132
|
-
@Column({
|
133
|
-
nullable: true
|
134
|
-
})
|
124
|
+
@Column({ nullable: true })
|
135
125
|
@Field({ nullable: true })
|
136
126
|
monitorView?: string
|
137
127
|
|
138
|
-
@Column({
|
139
|
-
nullable: true
|
140
|
-
})
|
128
|
+
@Column({ nullable: true })
|
141
129
|
@Field({ nullable: true })
|
142
130
|
reportType?: DataSetReportType
|
143
131
|
|
144
|
-
@Column({
|
145
|
-
nullable: true
|
146
|
-
})
|
132
|
+
@Column({ nullable: true })
|
147
133
|
@Field({ nullable: true })
|
148
134
|
reportView?: string
|
149
135
|
|
150
136
|
@Field({ nullable: true })
|
151
137
|
reportTemplate?: string
|
152
138
|
|
153
|
-
@Column({
|
154
|
-
nullable: true
|
155
|
-
})
|
139
|
+
@Column({ nullable: true })
|
156
140
|
@Field({ nullable: true })
|
157
141
|
useCase?: string
|
158
142
|
|
@@ -164,15 +148,11 @@ export class DataSet {
|
|
164
148
|
@Field(type => [DataItem], { nullable: true })
|
165
149
|
dataItems: DataItem[]
|
166
150
|
|
167
|
-
@Column({
|
168
|
-
nullable: true
|
169
|
-
})
|
151
|
+
@Column({ nullable: true })
|
170
152
|
@Field({ nullable: true })
|
171
153
|
schedule?: string
|
172
154
|
|
173
|
-
@Column({
|
174
|
-
nullable: true
|
175
|
-
})
|
155
|
+
@Column({ nullable: true })
|
176
156
|
@Field({ nullable: true })
|
177
157
|
timezone?: string
|
178
158
|
|
@@ -184,18 +164,14 @@ export class DataSet {
|
|
184
164
|
@Field({ nullable: true })
|
185
165
|
updatedAt?: Date
|
186
166
|
|
187
|
-
@ManyToOne(type => User, {
|
188
|
-
nullable: true
|
189
|
-
})
|
167
|
+
@ManyToOne(type => User, { nullable: true })
|
190
168
|
@Field({ nullable: true })
|
191
169
|
creator?: User
|
192
170
|
|
193
171
|
@RelationId((dataSet: DataSet) => dataSet.creator)
|
194
172
|
creatorId?: string
|
195
173
|
|
196
|
-
@ManyToOne(type => User, {
|
197
|
-
nullable: true
|
198
|
-
})
|
174
|
+
@ManyToOne(type => User, { nullable: true })
|
199
175
|
@Field({ nullable: true })
|
200
176
|
updater?: User
|
201
177
|
|
package/server/service/index.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { entities as DataItemEntities } from './data-item'
|
2
|
-
|
2
|
+
import { entities as DataKeySetEntities, resolvers as DataKeySetResolvers } from './data-key-set'
|
3
3
|
import { entities as DataOocEntities, resolvers as DataOocResolvers } from './data-ooc'
|
4
4
|
import { entities as DataSampleEntities, resolvers as DataSampleResolvers } from './data-sample'
|
5
5
|
import { entities as DataSensorEntities, resolvers as DataSensorResolvers } from './data-sensor'
|
@@ -12,6 +12,7 @@ import {
|
|
12
12
|
import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
|
13
13
|
|
14
14
|
/* EXPORT ENTITY TYPES */
|
15
|
+
export * from './data-key-set/data-key-set'
|
15
16
|
export * from './data-ooc/data-ooc'
|
16
17
|
export * from './data-sensor/data-sensor'
|
17
18
|
export * from './data-sample/data-sample'
|
@@ -22,6 +23,7 @@ export * from './data-spec/data-spec'
|
|
22
23
|
|
23
24
|
export const entities = [
|
24
25
|
/* ENTITIES */
|
26
|
+
...DataKeySetEntities,
|
25
27
|
...DataItemEntities,
|
26
28
|
...DataOocEntities,
|
27
29
|
...DataSensorEntities,
|
@@ -39,6 +41,7 @@ export const subscribers = [
|
|
39
41
|
export const schema = {
|
40
42
|
resolverClasses: [
|
41
43
|
/* RESOLVER CLASSES */
|
44
|
+
...DataKeySetResolvers,
|
42
45
|
...DataOocResolvers,
|
43
46
|
...DataSensorResolvers,
|
44
47
|
...DataSampleResolvers,
|
package/things-factory.config.js
CHANGED
@@ -16,6 +16,10 @@ export default {
|
|
16
16
|
tagname: 'data-sample-list-page',
|
17
17
|
page: 'data-sample-list'
|
18
18
|
},
|
19
|
+
{
|
20
|
+
tagname: 'data-sample-search-page',
|
21
|
+
page: 'data-sample-search'
|
22
|
+
},
|
19
23
|
{
|
20
24
|
tagname: 'data-ooc-list-page',
|
21
25
|
page: 'data-ooc-list'
|
@@ -44,6 +48,10 @@ export default {
|
|
44
48
|
tagname: 'data-report-embed-page',
|
45
49
|
page: 'data-report-embed'
|
46
50
|
},
|
51
|
+
{
|
52
|
+
tagname: 'data-key-set-list-page',
|
53
|
+
page: 'data-key-set-list'
|
54
|
+
}
|
47
55
|
],
|
48
56
|
bootstrap
|
49
57
|
}
|
package/translations/en.json
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
"field.corrector": "corrector",
|
8
8
|
"field.corrected-at": "corrected at",
|
9
9
|
"field.data": "data",
|
10
|
+
"field.data-key": "data key",
|
11
|
+
"field.data-key-set": "data key set",
|
10
12
|
"field.data-sample": "data sample",
|
11
13
|
"field.data-set": "data set",
|
12
14
|
"field.device-id": "device id",
|
@@ -14,6 +16,11 @@
|
|
14
16
|
"field.entry-type": "entry type",
|
15
17
|
"field.entry-view": "entry view",
|
16
18
|
"field.hidden": "hidden",
|
19
|
+
"field.key-01": "key 1",
|
20
|
+
"field.key-02": "key 2",
|
21
|
+
"field.key-03": "key 3",
|
22
|
+
"field.key-04": "key 4",
|
23
|
+
"field.key-05": "key 5",
|
17
24
|
"field.latest-collected-at": "latest collected at",
|
18
25
|
"field.monitor-type": "monitor type",
|
19
26
|
"field.monitor-view": "monitor view",
|
@@ -34,6 +41,7 @@
|
|
34
41
|
"field.spec": "spec",
|
35
42
|
"field.status": "status",
|
36
43
|
"field.supervisory-role": "supervisory role",
|
44
|
+
"field.t-key": "translation key",
|
37
45
|
"field.tag": "tag name",
|
38
46
|
"field.unit": "unit",
|
39
47
|
"field.use-case": "use case",
|
@@ -51,12 +59,15 @@
|
|
51
59
|
"text.manually collected": "manually collected",
|
52
60
|
"title.data-entry-form": "data entry form",
|
53
61
|
"title.data-entry list": "data entry list",
|
62
|
+
"title.data-key-item list": "data key item list",
|
63
|
+
"title.data-key-set list": "data key set list",
|
54
64
|
"title.data-item list": "data item list",
|
55
65
|
"title.data-monitor-view": "data monitor view",
|
56
66
|
"title.data-report-view": "data report view",
|
57
67
|
"title.data-ooc list": "data OOC list",
|
58
68
|
"title.data-ooc view": "data OOC view",
|
59
69
|
"title.data-sample list": "data sample list",
|
70
|
+
"title.data-sample search": "data sample search",
|
60
71
|
"title.data-sample view": "data sample view",
|
61
72
|
"title.data-sensor list": "data sensor list",
|
62
73
|
"title.data-set list": "data set list",
|
package/translations/ko.json
CHANGED
@@ -9,11 +9,18 @@
|
|
9
9
|
"field.data-sample": "데이타 샘플",
|
10
10
|
"field.data-set": "데이타셋",
|
11
11
|
"field.data": "데이타",
|
12
|
+
"field.data-key": "데이타 키",
|
13
|
+
"field.data-key-set": "데이타 키셋",
|
12
14
|
"field.device-id": "디바이스 아이디",
|
13
15
|
"field.entry-role": "입력담당 역할",
|
14
16
|
"field.entry-type": "입력용 화면종류",
|
15
17
|
"field.entry-view": "입력용 화면",
|
16
18
|
"field.hidden": "숨기기",
|
19
|
+
"field.key-01": "데이타키 1",
|
20
|
+
"field.key-02": "데이타키 2",
|
21
|
+
"field.key-03": "데이타키 3",
|
22
|
+
"field.key-04": "데이타키 4",
|
23
|
+
"field.key-05": "데이타키 5",
|
17
24
|
"field.latest-collected-at": "최근 수집 시간",
|
18
25
|
"field.monitor-type": "모니터용 화면종류",
|
19
26
|
"field.monitor-view": "모니터용 화면",
|
@@ -34,6 +41,7 @@
|
|
34
41
|
"field.spec": "명세",
|
35
42
|
"field.status": "상태",
|
36
43
|
"field.supervisory-role": "관리자 역할",
|
44
|
+
"field.t-key": "번역 키",
|
37
45
|
"field.tag": "태그이름",
|
38
46
|
"field.unit": "단위",
|
39
47
|
"field.use-case": "사용 사례",
|
@@ -50,12 +58,15 @@
|
|
50
58
|
"text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
|
51
59
|
"text.manually collected": "수동 수집",
|
52
60
|
"title.data-entry-form": "데이타 입력",
|
61
|
+
"title.data-key-item list": "데이타 키 상세",
|
62
|
+
"title.data-key-set list": "데이타 키셋 조회",
|
53
63
|
"title.data-item list": "데이타 아이템 조회",
|
54
64
|
"title.data-monitor-view": "데이타 모니터",
|
55
65
|
"title.data-ooc list": "데이타 이탈점 조회",
|
56
66
|
"title.data-ooc view": "데이타 이탈점 상세",
|
57
67
|
"title.data-report-view": "데이타 리포트",
|
58
68
|
"title.data-sample list": "데이타 샘플 조회",
|
69
|
+
"title.data-sample search": "데이타 샘플 검색",
|
59
70
|
"title.data-sample view": "데이타 샘플 상세",
|
60
71
|
"title.data-sensor list": "데이타 센서 조회",
|
61
72
|
"title.data-set list": "데이타 셋 조회",
|
package/translations/ms.json
CHANGED
@@ -7,12 +7,20 @@
|
|
7
7
|
"field.corrector": "corrector",
|
8
8
|
"field.corrected-at": "corrected at",
|
9
9
|
"field.data": "data",
|
10
|
+
"field.data-key": "data key",
|
11
|
+
"field.data-key-set": "data key set",
|
10
12
|
"field.data-sample": "data sample",
|
11
13
|
"field.data-set": "data set",
|
12
14
|
"field.device-id": "device id",
|
13
15
|
"field.entry-role": "entry role",
|
14
16
|
"field.entry-type": "entry type",
|
15
17
|
"field.entry-view": "entry view",
|
18
|
+
"field.hidden": "hidden",
|
19
|
+
"field.key-01": "key 1",
|
20
|
+
"field.key-02": "key 2",
|
21
|
+
"field.key-03": "key 3",
|
22
|
+
"field.key-04": "key 4",
|
23
|
+
"field.key-05": "key 5",
|
16
24
|
"field.latest-collected-at": "latest collected at",
|
17
25
|
"field.monitor-type": "monitor type",
|
18
26
|
"field.monitor-view": "monitor view",
|
@@ -21,7 +29,6 @@
|
|
21
29
|
"field.oos": "out of critical limit",
|
22
30
|
"field.ooc": "out of control limit",
|
23
31
|
"field.options": "options",
|
24
|
-
"field.hidden": "hidden",
|
25
32
|
"field.partition-keys": "partition keys",
|
26
33
|
"field.prev-schedule": "previous schedule",
|
27
34
|
"field.quota": "sampling #",
|
@@ -33,6 +40,7 @@
|
|
33
40
|
"field.spec": "spec",
|
34
41
|
"field.status": "keadaan",
|
35
42
|
"field.supervisory-role": "supervisory role",
|
43
|
+
"field.t-key": "translation key",
|
36
44
|
"field.tag": "tag name",
|
37
45
|
"field.unit": "unit",
|
38
46
|
"field.use-case": "use case",
|
@@ -49,12 +57,15 @@
|
|
49
57
|
"text.data ooc updated successfully": "a data ooc updated successfully",
|
50
58
|
"text.manually collected": "manually collected",
|
51
59
|
"title.data-entry-form": "data entry form",
|
60
|
+
"title.data-key-item list": "data key item list",
|
61
|
+
"title.data-key-set list": "data key set list",
|
52
62
|
"title.data-item list": "data item list",
|
53
63
|
"title.data-monitor-view": "data monitor view",
|
54
64
|
"title.data-report-view": "data report view",
|
55
65
|
"title.data-ooc list": "data OOC list",
|
56
66
|
"title.data-ooc view": "data OOC view",
|
57
67
|
"title.data-sample list": "data sample list",
|
68
|
+
"title.data-sample search": "data sample search",
|
58
69
|
"title.data-sample view": "data sample view",
|
59
70
|
"title.data-sensor list": "data sensor list",
|
60
71
|
"title.data-set list": "data set list",
|