@iapps/d2-web-sdk 1.0.2 → 1.0.3
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/package.json +1 -1
- package/src/lib/modules/tracker/queries/base-tracker.query.d.ts +14 -4
- package/src/lib/modules/tracker/queries/base-tracker.query.js +40 -60
- package/src/lib/modules/tracker/queries/base-tracker.query.js.map +1 -1
- package/src/lib/modules/tracker/queries/index.d.ts +1 -0
- package/src/lib/modules/tracker/queries/index.js +1 -0
- package/src/lib/modules/tracker/queries/index.js.map +1 -1
- package/src/lib/modules/tracker/queries/model-base-tracker.query.d.ts +11 -0
- package/src/lib/modules/tracker/queries/model-base-tracker.query.js +60 -0
- package/src/lib/modules/tracker/queries/model-base-tracker.query.js.map +1 -0
- package/src/lib/modules/tracker/tracker.module.d.ts +3 -2
- package/src/lib/modules/tracker/tracker.module.js +4 -1
- package/src/lib/modules/tracker/tracker.module.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
import { Program } from '../../program';
|
|
2
|
-
import { D2HttpClient, Pager } from '../../../shared';
|
|
2
|
+
import { D2HttpClient, D2HttpResponse, Pager } from '../../../shared';
|
|
3
3
|
import { D2TrackerResponse, ITrackedEntityInstance, ProgramDateType, TrackedEntityInstance, TrackerQueryFilter } from '../models';
|
|
4
4
|
export declare class BaseTrackerQuery<T extends TrackedEntityInstance> {
|
|
5
5
|
#private;
|
|
6
|
-
protected identifiable: ITrackedEntityInstance;
|
|
7
6
|
protected httpClient: D2HttpClient;
|
|
7
|
+
protected orgUnit?: string;
|
|
8
|
+
protected ouMode: 'ALL' | 'DESCENDANTS' | 'SELECTED';
|
|
9
|
+
protected program?: string;
|
|
10
|
+
protected trackedEntityType?: string;
|
|
11
|
+
protected filters?: TrackerQueryFilter[];
|
|
12
|
+
protected fields?: string;
|
|
13
|
+
protected enrollmentEnrolledAfter?: string;
|
|
14
|
+
protected enrollmentEnrolledBefore?: string;
|
|
15
|
+
protected trackedEntity?: string;
|
|
8
16
|
event?: string;
|
|
17
|
+
protected pager: Pager;
|
|
9
18
|
[key: string]: unknown;
|
|
10
19
|
instance: T;
|
|
11
|
-
|
|
12
|
-
|
|
20
|
+
identifiable: ITrackedEntityInstance;
|
|
21
|
+
constructor(httpClient: D2HttpClient);
|
|
13
22
|
setOrgUnit(orgUnitValue: string | string[]): BaseTrackerQuery<T>;
|
|
14
23
|
setOuMode(ouMode: 'ALL' | 'DESCENDANTS' | 'SELECTED'): BaseTrackerQuery<T>;
|
|
15
24
|
setProgram(program: string): BaseTrackerQuery<T>;
|
|
@@ -27,6 +36,7 @@ export declare class BaseTrackerQuery<T extends TrackedEntityInstance> {
|
|
|
27
36
|
value: string;
|
|
28
37
|
}[]>;
|
|
29
38
|
get(): Promise<D2TrackerResponse<T>>;
|
|
39
|
+
protected fetchData(): Promise<D2HttpResponse>;
|
|
30
40
|
save(): Promise<D2TrackerResponse<T>>;
|
|
31
41
|
getMetaData(): Promise<Program | null>;
|
|
32
42
|
}
|
|
@@ -2,66 +2,42 @@
|
|
|
2
2
|
// Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
|
|
3
3
|
// Use of this source code is governed by a BSD-style
|
|
4
4
|
// license that can be found in the LICENSE file.
|
|
5
|
-
var _BaseTrackerQuery_instances,
|
|
5
|
+
var _BaseTrackerQuery_instances, _BaseTrackerQuery_saveSelectedEvent, _BaseTrackerQuery_saveAll;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.BaseTrackerQuery = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
const shared_1 = require("../../../shared");
|
|
10
10
|
const models_1 = require("../models");
|
|
11
11
|
class BaseTrackerQuery {
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(httpClient) {
|
|
13
13
|
_BaseTrackerQuery_instances.add(this);
|
|
14
|
-
this.identifiable = identifiable;
|
|
15
14
|
this.httpClient = httpClient;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
_BaseTrackerQuery_filters.set(this, void 0);
|
|
21
|
-
_BaseTrackerQuery_fields.set(this, void 0);
|
|
22
|
-
_BaseTrackerQuery_enrollmentEnrolledAfter.set(this, void 0);
|
|
23
|
-
_BaseTrackerQuery_enrollmentEnrolledBefore.set(this, void 0);
|
|
24
|
-
_BaseTrackerQuery_trackedEntity.set(this, void 0);
|
|
25
|
-
_BaseTrackerQuery_pager.set(this, new shared_1.Pager());
|
|
26
|
-
this.instance = new identifiable();
|
|
27
|
-
this.setProgram(this.instance.program);
|
|
28
|
-
this.setTrackedEntityType(this.instance.trackedEntityType);
|
|
29
|
-
}
|
|
30
|
-
byId(id) {
|
|
31
|
-
// TODO: This is a hack to make sure attribute ID is dynamically set, find best way around this
|
|
32
|
-
this.instance.id = id;
|
|
33
|
-
const attributeProperty = (this.instance.fields || {})['id'];
|
|
34
|
-
if (!attributeProperty) {
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
this.setFilters([
|
|
38
|
-
new models_1.TrackerQueryFilter()
|
|
39
|
-
.setAttribute(attributeProperty.id)
|
|
40
|
-
.setCondition('EQ')
|
|
41
|
-
.setValue(id),
|
|
42
|
-
]);
|
|
43
|
-
return this;
|
|
15
|
+
this.ouMode = 'ALL';
|
|
16
|
+
this.pager = new shared_1.Pager();
|
|
17
|
+
this.identifiable =
|
|
18
|
+
models_1.TrackedEntityInstance;
|
|
44
19
|
}
|
|
45
20
|
setOrgUnit(orgUnitValue) {
|
|
46
21
|
if (orgUnitValue) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
22
|
+
this.orgUnit =
|
|
23
|
+
typeof orgUnitValue === 'object'
|
|
24
|
+
? orgUnitValue.join(';')
|
|
25
|
+
: orgUnitValue;
|
|
50
26
|
}
|
|
51
27
|
return this;
|
|
52
28
|
}
|
|
53
29
|
setOuMode(ouMode) {
|
|
54
|
-
|
|
30
|
+
this.ouMode = ouMode;
|
|
55
31
|
return this;
|
|
56
32
|
}
|
|
57
33
|
setProgram(program) {
|
|
58
|
-
|
|
34
|
+
this.program = program;
|
|
59
35
|
return this;
|
|
60
36
|
}
|
|
61
37
|
setStartDate(startDate, dateType = 'ENROLLED_ON') {
|
|
62
38
|
switch (dateType) {
|
|
63
39
|
case 'ENROLLED_ON':
|
|
64
|
-
|
|
40
|
+
this.enrollmentEnrolledAfter = startDate;
|
|
65
41
|
break;
|
|
66
42
|
default:
|
|
67
43
|
break;
|
|
@@ -71,7 +47,7 @@ class BaseTrackerQuery {
|
|
|
71
47
|
setEndDate(endDate, dateType = 'ENROLLED_ON') {
|
|
72
48
|
switch (dateType) {
|
|
73
49
|
case 'ENROLLED_ON':
|
|
74
|
-
|
|
50
|
+
this.enrollmentEnrolledBefore = endDate;
|
|
75
51
|
break;
|
|
76
52
|
default:
|
|
77
53
|
break;
|
|
@@ -79,23 +55,23 @@ class BaseTrackerQuery {
|
|
|
79
55
|
return this;
|
|
80
56
|
}
|
|
81
57
|
setTrackedEntity(trackedEntity) {
|
|
82
|
-
|
|
58
|
+
this.trackedEntity = trackedEntity;
|
|
83
59
|
return this;
|
|
84
60
|
}
|
|
85
61
|
setTrackedEntityType(trackedEntityType) {
|
|
86
|
-
|
|
62
|
+
this.trackedEntityType = trackedEntityType;
|
|
87
63
|
return this;
|
|
88
64
|
}
|
|
89
65
|
setFilters(filters) {
|
|
90
|
-
|
|
66
|
+
this.filters = filters;
|
|
91
67
|
return this;
|
|
92
68
|
}
|
|
93
69
|
setFields(fields) {
|
|
94
|
-
|
|
70
|
+
this.fields = fields;
|
|
95
71
|
return this;
|
|
96
72
|
}
|
|
97
73
|
setPagination(pagination) {
|
|
98
|
-
|
|
74
|
+
this.pager = pagination;
|
|
99
75
|
return this;
|
|
100
76
|
}
|
|
101
77
|
setData(data) {
|
|
@@ -133,21 +109,26 @@ class BaseTrackerQuery {
|
|
|
133
109
|
}
|
|
134
110
|
get() {
|
|
135
111
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
const response = yield this.
|
|
137
|
-
program: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_program, "f"),
|
|
138
|
-
trackedEntityType: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_trackedEntityType, "f"),
|
|
139
|
-
orgUnit: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_orgUnit, "f"),
|
|
140
|
-
ouMode: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_ouMode, "f"),
|
|
141
|
-
filters: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_filters, "f"),
|
|
142
|
-
fields: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_fields, "f"),
|
|
143
|
-
enrollmentEnrolledAfter: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_enrollmentEnrolledAfter, "f"),
|
|
144
|
-
enrollmentEnrolledBefore: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_enrollmentEnrolledBefore, "f"),
|
|
145
|
-
trackedEntity: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_trackedEntity, "f"),
|
|
146
|
-
pager: tslib_1.__classPrivateFieldGet(this, _BaseTrackerQuery_pager, "f"),
|
|
147
|
-
}).generate());
|
|
112
|
+
const response = yield this.fetchData();
|
|
148
113
|
return new models_1.D2TrackerResponse(response, this.identifiable);
|
|
149
114
|
});
|
|
150
115
|
}
|
|
116
|
+
fetchData() {
|
|
117
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
return yield this.httpClient.get(new models_1.TrackerUrlGenerator({
|
|
119
|
+
program: this.program,
|
|
120
|
+
trackedEntityType: this.trackedEntityType,
|
|
121
|
+
orgUnit: this.orgUnit,
|
|
122
|
+
ouMode: this.ouMode,
|
|
123
|
+
filters: this.filters,
|
|
124
|
+
fields: this.fields,
|
|
125
|
+
enrollmentEnrolledAfter: this.enrollmentEnrolledAfter,
|
|
126
|
+
enrollmentEnrolledBefore: this.enrollmentEnrolledBefore,
|
|
127
|
+
trackedEntity: this.trackedEntity,
|
|
128
|
+
pager: this.pager,
|
|
129
|
+
}).generate());
|
|
130
|
+
});
|
|
131
|
+
}
|
|
151
132
|
save() {
|
|
152
133
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
153
134
|
if (this.event) {
|
|
@@ -162,7 +143,7 @@ class BaseTrackerQuery {
|
|
|
162
143
|
const d2 = window.d2Web;
|
|
163
144
|
const metaDataResponse = yield Promise.all([
|
|
164
145
|
d2.programModule.program
|
|
165
|
-
.byId(this.
|
|
146
|
+
.byId(this.program)
|
|
166
147
|
.with(d2.programModule.programStage
|
|
167
148
|
.with(d2.programModule.programStageSection)
|
|
168
149
|
.with(d2.programModule.programStageDataElement.with(d2.dataElementModule.dataElement.with(d2.optionSetModule.optionSet.with(d2.optionSetModule.option), 'ToOne'), 'ToOne')))
|
|
@@ -179,7 +160,7 @@ class BaseTrackerQuery {
|
|
|
179
160
|
d2.programModule.programRule
|
|
180
161
|
.where({
|
|
181
162
|
attribute: 'program.id',
|
|
182
|
-
value: this.
|
|
163
|
+
value: this.program,
|
|
183
164
|
})
|
|
184
165
|
.with(d2.programModule.programRuleAction
|
|
185
166
|
.with(d2.dataElementModule.dataElement.select(['id', 'code', 'name']), 'ToOne')
|
|
@@ -202,13 +183,13 @@ class BaseTrackerQuery {
|
|
|
202
183
|
}
|
|
203
184
|
}
|
|
204
185
|
exports.BaseTrackerQuery = BaseTrackerQuery;
|
|
205
|
-
|
|
186
|
+
_BaseTrackerQuery_instances = new WeakSet(), _BaseTrackerQuery_saveSelectedEvent = function _BaseTrackerQuery_saveSelectedEvent() {
|
|
206
187
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
207
188
|
var _a;
|
|
208
189
|
const selectedEvent = (((_a = this.instance.latestEnrollment) === null || _a === void 0 ? void 0 : _a.events) || []).find((event) => event.event === this.event);
|
|
209
190
|
if (selectedEvent) {
|
|
210
191
|
const response = new shared_1.D2HttpResponse({});
|
|
211
|
-
new models_1.D2TrackerResponse(response, this.identifiable);
|
|
192
|
+
return new models_1.D2TrackerResponse(response, this.identifiable);
|
|
212
193
|
}
|
|
213
194
|
const data = yield this.httpClient.post('tracker?async=false', {
|
|
214
195
|
events: [selectedEvent.toObject()],
|
|
@@ -227,5 +208,4 @@ _BaseTrackerQuery_orgUnit = new WeakMap(), _BaseTrackerQuery_ouMode = new WeakMa
|
|
|
227
208
|
return new models_1.D2TrackerResponse(data, this.identifiable);
|
|
228
209
|
});
|
|
229
210
|
};
|
|
230
|
-
//action_plan_query.ts
|
|
231
211
|
//# sourceMappingURL=base-tracker.query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-tracker.query.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/queries/base-tracker.query.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;;;AAGjD,4CAAsE;AACtE,sCAOmB;AAGnB,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"base-tracker.query.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/queries/base-tracker.query.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./base-tracker.query"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./model-base-tracker.query"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./base-event.query"), exports);
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/queries/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/queries/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,qEAA2C;AAC3C,6DAAmC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { D2HttpClient } from '../../../shared';
|
|
2
|
+
import { ITrackedEntityInstance, TrackedEntityInstance } from '../models';
|
|
3
|
+
import { BaseTrackerQuery } from './base-tracker.query';
|
|
4
|
+
export declare class ModelBaseTrackerQuery<T extends TrackedEntityInstance> extends BaseTrackerQuery<T> {
|
|
5
|
+
constructor(httpClient: D2HttpClient, identifiable: ITrackedEntityInstance);
|
|
6
|
+
byId(id: string): ModelBaseTrackerQuery<T>;
|
|
7
|
+
generateReservedValues(): Promise<{
|
|
8
|
+
ownerUid: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}[]>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
|
|
3
|
+
// Use of this source code is governed by a BSD-style
|
|
4
|
+
// license that can be found in the LICENSE file.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ModelBaseTrackerQuery = void 0;
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const models_1 = require("../models");
|
|
9
|
+
const base_tracker_query_1 = require("./base-tracker.query");
|
|
10
|
+
class ModelBaseTrackerQuery extends base_tracker_query_1.BaseTrackerQuery {
|
|
11
|
+
constructor(httpClient, identifiable) {
|
|
12
|
+
super(httpClient);
|
|
13
|
+
this.identifiable = identifiable;
|
|
14
|
+
this.instance = new identifiable();
|
|
15
|
+
this.setProgram(this.instance.program);
|
|
16
|
+
this.setTrackedEntityType(this.instance.trackedEntityType);
|
|
17
|
+
}
|
|
18
|
+
byId(id) {
|
|
19
|
+
// TODO: This is a hack to make sure attribute ID is dynamically set, find best way around this
|
|
20
|
+
this.instance.id = id;
|
|
21
|
+
const attributeProperty = (this.instance.fields || {})['id'];
|
|
22
|
+
if (!attributeProperty) {
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
this.setFilters([
|
|
26
|
+
new models_1.TrackerQueryFilter()
|
|
27
|
+
.setAttribute(attributeProperty.id)
|
|
28
|
+
.setCondition('EQ')
|
|
29
|
+
.setValue(id),
|
|
30
|
+
]);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
generateReservedValues() {
|
|
34
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const fieldEntities = this.instance.fields || {};
|
|
36
|
+
const reservedAttributePromises = Object.keys(fieldEntities)
|
|
37
|
+
.map((key) => {
|
|
38
|
+
const availableValue = this.instance[key];
|
|
39
|
+
if (availableValue && availableValue.length > 0) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const field = fieldEntities[key];
|
|
43
|
+
if (!field || !field.generated) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return this.httpClient.get(`trackedEntityAttributes/${field.id}/generate.json`);
|
|
47
|
+
})
|
|
48
|
+
.filter((fieldPromise) => fieldPromise !== null);
|
|
49
|
+
if (reservedAttributePromises.length > 0) {
|
|
50
|
+
const reservedValueResponse = yield Promise.all(reservedAttributePromises);
|
|
51
|
+
return (reservedValueResponse || [])
|
|
52
|
+
.map((response) => response === null || response === void 0 ? void 0 : response.data)
|
|
53
|
+
.filter((data) => data);
|
|
54
|
+
}
|
|
55
|
+
return [];
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.ModelBaseTrackerQuery = ModelBaseTrackerQuery;
|
|
60
|
+
//# sourceMappingURL=model-base-tracker.query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-base-tracker.query.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/queries/model-base-tracker.query.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;;AAIjD,sCAOmB;AAEnB,6DAAwD;AAExD,MAAa,qBAEX,SAAQ,qCAAmB;IAC3B,YAAY,UAAwB,EAAE,YAAoC;QACxE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAK,YAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,EAAU;QACb,+FAA+F;QAC9F,IAAI,CAAC,QAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,UAAU,CAAC;YACd,IAAI,2BAAkB,EAAE;iBACrB,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;iBAClC,YAAY,CAAC,IAAW,CAAC;iBACzB,QAAQ,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEc,sBAAsB;;YAGnC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAEjD,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;iBACzD,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE;gBACnB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,2BAA2B,KAAK,CAAC,EAAE,gBAAgB,CACpD,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;YAEnD,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,yBAAyB,CAC1B,CAAC;gBAEF,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;qBACjC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAW,CAAC;qBACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;CACF;AAlED,sDAkEC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BaseTrackerQuery } from './queries';
|
|
1
|
+
import { BaseTrackerQuery, ModelBaseTrackerQuery } from './queries';
|
|
2
2
|
import { D2HttpClient } from '../../shared';
|
|
3
3
|
import { TrackedEntityInstance } from './models';
|
|
4
4
|
export declare class TrackerModule {
|
|
5
5
|
private httpClient;
|
|
6
6
|
constructor(httpClient: D2HttpClient);
|
|
7
|
-
|
|
7
|
+
get trackedEntity(): BaseTrackerQuery<TrackedEntityInstance>;
|
|
8
|
+
getTrackedEntityQuery<T extends TrackedEntityInstance>(model: T): ModelBaseTrackerQuery<T>;
|
|
8
9
|
}
|
|
@@ -6,8 +6,11 @@ class TrackerModule {
|
|
|
6
6
|
constructor(httpClient) {
|
|
7
7
|
this.httpClient = httpClient;
|
|
8
8
|
}
|
|
9
|
+
get trackedEntity() {
|
|
10
|
+
return new queries_1.BaseTrackerQuery(this.httpClient);
|
|
11
|
+
}
|
|
9
12
|
getTrackedEntityQuery(model) {
|
|
10
|
-
return new queries_1.
|
|
13
|
+
return new queries_1.ModelBaseTrackerQuery(this.httpClient, model);
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
16
|
exports.TrackerModule = TrackerModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.module.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/tracker.module.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"tracker.module.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/tracker.module.ts"],"names":[],"mappings":";;;AAAA,uCAAoE;AAIpE,MAAa,aAAa;IACxB,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAG,CAAC;IAEhD,IAAI,aAAa;QACf,OAAO,IAAI,0BAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,qBAAqB,CACnB,KAAQ;QAER,OAAO,IAAI,+BAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF;AAZD,sCAYC"}
|