@iapps/d2-web-sdk 1.1.9 → 1.1.14

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iapps/d2-web-sdk",
3
- "version": "1.1.9",
3
+ "version": "1.1.14",
4
4
  "dependencies": {
5
5
  "axios": "^1.8.1",
6
6
  "date-fns": "^4.1.0",
@@ -29,6 +29,7 @@ export declare class ProgramRuleEngine {
29
29
  setDataValues(dataValues: Record<string, unknown>): this;
30
30
  execute(options?: ExecuteOptions): IMetadataRuleAction[];
31
31
  /** Replace {var} with safe JS literals + resolve d2: functions */
32
+ /** Replace placeholders with safe JS literals + resolve d2: functions */
32
33
  private prepareExpression;
33
34
  private safeEvalBoolean;
34
35
  private safeEvalAny;
@@ -150,21 +150,22 @@ class ProgramRuleEngine {
150
150
  // });
151
151
  }
152
152
  /** Replace {var} with safe JS literals + resolve d2: functions */
153
+ /** Replace placeholders with safe JS literals + resolve d2: functions */
153
154
  prepareExpression(expression) {
154
155
  let exp = expression !== null && expression !== void 0 ? expression : '';
155
- // Replace {key} placeholders
156
- exp = exp.replace(/\{([^}]+)\}/g, (_m, keyRaw) => {
156
+ // Replace DHIS2 placeholders:
157
+ // A{attr} V{var} #{de} {plain}
158
+ exp = exp.replace(/(?:A|V|#)?\{([^}]+)\}/g, (_m, keyRaw) => {
157
159
  const key = String(keyRaw).trim();
158
160
  const val = this.dataValues[key];
159
- // Decide how to treat missing values:
160
- // In DHIS2 rules, missing often behaves like empty string
161
+ // missing behaves like empty string (DHIS2-ish)
161
162
  if (val === undefined)
162
163
  return "''";
163
164
  return toJsLiteral(val);
164
165
  });
165
166
  // Resolve d2: functions (after placeholders are resolved)
166
167
  if (exp.includes('d2:')) {
167
- exp = (0, run_d2_expression_util_1.dhisD2Functions)(exp, {}); // your util (fix its bugs below)
168
+ exp = (0, run_d2_expression_util_1.dhisD2Functions)(exp, {});
168
169
  }
169
170
  return exp;
170
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"program-rule.engine.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/program-rule.engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program-rule.engine.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/program-rule.engine.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Parses a coordinate value into a [longitude, latitude] pair of strings.
3
3
  *
4
- * Supported string inputs:
5
- * - "[39.319364,-6.069623]" // JSON-style
4
+ * Supported inputs:
5
+ * - "[39.319364,-6.069623]" // JSON-style string
6
6
  * - "39.319364,-6.069623" // comma-separated
7
7
  * - "39.319364 -6.069623" // space-separated
8
+ * - { type: "Point", coordinates: [39.192299, -6.164641] } // GeoJSON Point
8
9
  *
9
10
  * Returns:
10
11
  * - ["39.319364", "-6.069623"] when valid (lon, lat as strings)
@@ -14,4 +15,4 @@
14
15
  * - Follows GeoJSON convention: [longitude, latitude]
15
16
  * - Valid ranges: lon ∈ [-180, 180], lat ∈ [-90, 90]
16
17
  */
17
- export declare function parseCoordinates(value?: string | null): string[] | null;
18
+ export declare function parseCoordinates(input?: unknown | null): string[] | null;
@@ -1,13 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseCoordinates = parseCoordinates;
4
+ function isGeoJsonPointLike(candidate) {
5
+ return (!!candidate &&
6
+ typeof candidate === 'object' &&
7
+ candidate.type === 'Point' &&
8
+ Array.isArray(candidate.coordinates));
9
+ }
4
10
  /**
5
11
  * Parses a coordinate value into a [longitude, latitude] pair of strings.
6
12
  *
7
- * Supported string inputs:
8
- * - "[39.319364,-6.069623]" // JSON-style
13
+ * Supported inputs:
14
+ * - "[39.319364,-6.069623]" // JSON-style string
9
15
  * - "39.319364,-6.069623" // comma-separated
10
16
  * - "39.319364 -6.069623" // space-separated
17
+ * - { type: "Point", coordinates: [39.192299, -6.164641] } // GeoJSON Point
11
18
  *
12
19
  * Returns:
13
20
  * - ["39.319364", "-6.069623"] when valid (lon, lat as strings)
@@ -17,48 +24,54 @@ exports.parseCoordinates = parseCoordinates;
17
24
  * - Follows GeoJSON convention: [longitude, latitude]
18
25
  * - Valid ranges: lon ∈ [-180, 180], lat ∈ [-90, 90]
19
26
  */
20
- function parseCoordinates(value) {
21
- if (!value)
22
- return null;
23
- const trimmed = value.trim();
24
- if (!trimmed)
27
+ function parseCoordinates(input) {
28
+ if (input == null)
25
29
  return null;
26
- const validateAndNormalizePair = (parts) => {
27
- if (parts.length !== 2)
30
+ const normalizeLonLatPair = (coordinateParts) => {
31
+ if (!coordinateParts || coordinateParts.length !== 2)
28
32
  return null;
29
- const lonText = parts[0].trim();
30
- const latText = parts[1].trim();
31
- if (!lonText || !latText)
33
+ const longitudeText = String(coordinateParts[0]).trim();
34
+ const latitudeText = String(coordinateParts[1]).trim();
35
+ if (!longitudeText || !latitudeText)
32
36
  return null;
33
- const lonNum = Number(lonText);
34
- const latNum = Number(latText);
35
- if (!Number.isFinite(lonNum) || !Number.isFinite(latNum)) {
37
+ const longitude = Number(longitudeText);
38
+ const latitude = Number(latitudeText);
39
+ if (!Number.isFinite(longitude) || !Number.isFinite(latitude))
36
40
  return null;
37
- }
38
- const isLonValid = lonNum >= -180 && lonNum <= 180;
39
- const isLatValid = latNum >= -90 && latNum <= 90;
40
- if (!isLonValid || !isLatValid) {
41
+ const isLongitudeValid = longitude >= -180 && longitude <= 180;
42
+ const isLatitudeValid = latitude >= -90 && latitude <= 90;
43
+ if (!isLongitudeValid || !isLatitudeValid)
41
44
  return null;
42
- }
43
- return [lonText, latText];
45
+ return [longitudeText, latitudeText];
44
46
  };
45
- if (trimmed.startsWith('[') && trimmed.endsWith(']')) {
46
- const inner = trimmed.slice(1, -1);
47
- const parts = inner.split(',');
48
- const result = validateAndNormalizePair(parts);
49
- if (result)
50
- return result;
47
+ // GeoJSON Point support
48
+ if (isGeoJsonPointLike(input)) {
49
+ const geoJsonCoordinates = input.coordinates;
50
+ return normalizeLonLatPair(geoJsonCoordinates);
51
+ }
52
+ // String-based input handling
53
+ if (typeof input !== 'string')
54
+ return null;
55
+ const trimmedInput = input.trim();
56
+ if (!trimmedInput)
57
+ return null;
58
+ // "[lon,lat]" format
59
+ if (trimmedInput.startsWith('[') && trimmedInput.endsWith(']')) {
60
+ const bracketContent = trimmedInput.slice(1, -1);
61
+ const commaSeparatedValues = bracketContent
62
+ .split(',')
63
+ .map((value) => value.trim());
64
+ return normalizeLonLatPair(commaSeparatedValues);
51
65
  }
52
- if (trimmed.includes(',')) {
53
- const parts = trimmed.split(',');
54
- const result = validateAndNormalizePair(parts);
55
- if (result)
56
- return result;
66
+ // "lon,lat" format
67
+ if (trimmedInput.includes(',')) {
68
+ const commaSeparatedValues = trimmedInput
69
+ .split(',')
70
+ .map((value) => value.trim());
71
+ return normalizeLonLatPair(commaSeparatedValues);
57
72
  }
58
- const spaceParts = trimmed.split(/\s+/);
59
- const result = validateAndNormalizePair(spaceParts);
60
- if (result)
61
- return result;
62
- return null;
73
+ // "lon lat" format
74
+ const spaceSeparatedValues = trimmedInput.split(/\s+/);
75
+ return normalizeLonLatPair(spaceSeparatedValues);
63
76
  }
64
77
  //# sourceMappingURL=form.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.helper.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/helpers/form.helper.ts"],"names":[],"mappings":";;AAgBA,4CAiDC;AAjED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,gBAAgB,CAAC,KAAqB;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,wBAAwB,GAAG,CAAC,KAAe,EAAmB,EAAE;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC9B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"form.helper.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/helpers/form.helper.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,14 @@ export declare class Enrollment extends BaseTrackerSDKModel<Enrollment> implemen
70
70
  setDataValue(dataElement: string, value: string, programStage: string, eventId?: string): void;
71
71
  setEvent(event: IDHIS2Event): void;
72
72
  setGeometry(geometry: any): void;
73
+ /**
74
+ * Sets event geometry from a coordinate string input.
75
+ * Accepts formats like:
76
+ * - "[39.319364,-6.069623]"
77
+ * - "39.319364,-6.069623"
78
+ * - "39.319364 -6.069623"
79
+ * and stores as GeoJSON Point in this.geometry.
80
+ */
73
81
  getEventsByProgramStage(programStage: string): IDHIS2Event[];
74
82
  toObject(): IEnrollment;
75
83
  }
@@ -96,6 +96,27 @@ class Enrollment extends base_model_1.BaseTrackerSDKModel {
96
96
  setGeometry(geometry) {
97
97
  this.geometry = geometry;
98
98
  }
99
+ /**
100
+ * Sets event geometry from a coordinate string input.
101
+ * Accepts formats like:
102
+ * - "[39.319364,-6.069623]"
103
+ * - "39.319364,-6.069623"
104
+ * - "39.319364 -6.069623"
105
+ * and stores as GeoJSON Point in this.geometry.
106
+ */
107
+ // setGeometry(coordinateValue: any) {
108
+ // const parsed = parseCoordinates(coordinateValue);
109
+ // if (!parsed) {
110
+ // return;
111
+ // }
112
+ // const [lonText, latText] = parsed;
113
+ // const longitude = Number(lonText);
114
+ // const latitude = Number(latText);
115
+ // this.geometry = {
116
+ // type: 'Point',
117
+ // coordinates: [longitude, latitude],
118
+ // };
119
+ // }
99
120
  getEventsByProgramStage(programStage) {
100
121
  var _a;
101
122
  return (0, lodash_1.cloneDeep)(((_a = (this.programStageEvents || {})[programStage]) === null || _a === void 0 ? void 0 : _a.events) || []).sort((a, b) => {
@@ -1 +1 @@
1
- {"version":3,"file":"enrollment.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/enrollment.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enrollment.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/enrollment.model.ts"],"names":[],"mappings":"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"}
@@ -18,3 +18,4 @@ export * from './data-url-generator.model';
18
18
  export * from './data-order-criteria.model';
19
19
  export * from './index-db-config.model';
20
20
  export * from './index-db-query-schema.model';
21
+ export * from './linelist-row-action-filter-config.model';
@@ -24,4 +24,5 @@ tslib_1.__exportStar(require("./data-url-generator.model"), exports);
24
24
  tslib_1.__exportStar(require("./data-order-criteria.model"), exports);
25
25
  tslib_1.__exportStar(require("./index-db-config.model"), exports);
26
26
  tslib_1.__exportStar(require("./index-db-query-schema.model"), exports);
27
+ tslib_1.__exportStar(require("./linelist-row-action-filter-config.model"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,sEAA4C;AAC5C,+DAAqC;AACrC,kEAAwC;AACxC,wDAA8B;AAC9B,uDAA6B;AAC7B,oEAA0C;AAC1C,gEAAsC;AACtC,8DAAoC;AACpC,2DAAiC;AACjC,wDAA8B;AAC9B,8DAAoC;AACpC,yEAA+C;AAC/C,gEAAsC;AACtC,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,qEAA2C;AAC3C,sEAA4C;AAC5C,kEAAwC;AACxC,wEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,sEAA4C;AAC5C,+DAAqC;AACrC,kEAAwC;AACxC,wDAA8B;AAC9B,uDAA6B;AAC7B,oEAA0C;AAC1C,gEAAsC;AACtC,8DAAoC;AACpC,2DAAiC;AACjC,wDAA8B;AAC9B,8DAAoC;AACpC,yEAA+C;AAC/C,gEAAsC;AACtC,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,qEAA2C;AAC3C,sEAA4C;AAC5C,kEAAwC;AACxC,wEAA8C;AAC9C,oFAA0D"}
@@ -0,0 +1,37 @@
1
+ export type ActionKey = string;
2
+ export type GuardOperator = 'EXISTS' | 'NOT_EXISTS' | 'HAS_VALUE' | 'NO_VALUE' | 'EQ' | 'NEQ' | 'IN' | 'NOT_IN';
3
+ export interface ActionFilterRule {
4
+ id: string;
5
+ description?: string;
6
+ /** Which actions this rule affects */
7
+ actions: ActionKey[];
8
+ /** If rule matches, how to apply */
9
+ effect: 'HIDE' | 'SHOW_ONLY';
10
+ /** Optional: require enrollment for a program */
11
+ enrollment?: {
12
+ programId: string;
13
+ mustExist: boolean;
14
+ };
15
+ /** Optional: require an event existence for a stage (within that program enrollment) */
16
+ stageEvent?: {
17
+ programId: string;
18
+ programStageId: string;
19
+ mustExist: boolean;
20
+ };
21
+ /** Optional: attribute check */
22
+ attribute?: {
23
+ attributeId: string;
24
+ op: GuardOperator;
25
+ value?: string | string[];
26
+ };
27
+ /** Rule ordering */
28
+ priority?: number;
29
+ }
30
+ export interface LineListRowActionFilterConfig {
31
+ enabled: boolean;
32
+ /** If no rules match: keep original actions (your requirement) */
33
+ fallback: 'NO_FILTER' | 'HIDE_ALL';
34
+ /** Apply all matching rules or only the first (by priority) */
35
+ combine: 'APPLY_ALL' | 'FIRST_MATCH';
36
+ rules: ActionFilterRule[];
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=linelist-row-action-filter-config.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linelist-row-action-filter-config.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/linelist-row-action-filter-config.model.ts"],"names":[],"mappings":""}