@ministryofjustice/hmpps-mpop-frontend-components-lib 0.0.6 → 0.0.8
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/dist/MPoPComponents.d.ts +2 -0
- package/dist/index.cjs.js +50 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +139 -0
- package/dist/index.esm.js +50 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/mpop/components/supervision-package/_supervision-package.scss +6 -0
- package/dist/mpop/components/supervision-package/partials/_early-engagement.njk +9 -1
- package/dist/mpop/components/supervision-package/partials/_progress-bar.njk +1 -1
- package/dist/mpop/components/supervision-package/partials/_tags.njk +1 -1
- package/dist/mpop/components/supervision-package/template.njk +28 -10
- package/dist/types/PersonSchedule.d.ts +138 -0
- package/dist/utils/hasBreachedSentence.d.ts +8 -0
- package/dist/utils/hasBreachedSentence.test.d.ts +1 -0
- package/dist/utils/isEligibleForDiscretionaryAppointments.d.ts +6 -0
- package/dist/utils/isEligibleForDiscretionaryAppointments.test.d.ts +1 -0
- package/package.json +1 -1
package/dist/MPoPComponents.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { MPoPComponentsConfig } from './types/MPoPComponentsConfig';
|
|
|
5
5
|
import type { LatestTierResponse, TierTag } from './types/TierCalculation';
|
|
6
6
|
import type { PersonalDetailsResponse } from './types/PersonalDetails';
|
|
7
7
|
import type { SupervisionPackageResponse } from './types/SupervisionPackage';
|
|
8
|
+
import { PersonScheduleResponse } from './types/PersonSchedule';
|
|
8
9
|
export declare const tierTags: Record<string, TierTag>;
|
|
9
10
|
export default class MPoPComponents {
|
|
10
11
|
private readonly tierApiRestClient;
|
|
@@ -14,4 +15,5 @@ export default class MPoPComponents {
|
|
|
14
15
|
getTierDetails(authOptions: AuthOptions | string, crn: string): Promise<LatestTierResponse>;
|
|
15
16
|
getPersonalDetails(authOptions: AuthOptions | string, crn: string): Promise<PersonalDetailsResponse>;
|
|
16
17
|
getSupervisionPackage(authOptions: AuthOptions | string, crn: string): Promise<SupervisionPackageResponse>;
|
|
18
|
+
getPersonSchedule(authOptions: AuthOptions | string, crn: string, type?: 'upcoming' | 'previous', page?: string, size?: string, sortBy?: string): Promise<PersonScheduleResponse>;
|
|
17
19
|
}
|
package/dist/index.cjs.js
CHANGED
|
@@ -164,6 +164,38 @@ class MPoPComponents {
|
|
|
164
164
|
error,
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
|
+
async getPersonSchedule(authOptions, crn, type = 'upcoming', page = '0', size = '1', sortBy = '&sortBy=date&ascending=true') {
|
|
168
|
+
let error = null;
|
|
169
|
+
let personScheduleResponse;
|
|
170
|
+
try {
|
|
171
|
+
const queryParameters = `?${new URLSearchParams({ size, page }).toString()}${sortBy !== null && sortBy !== void 0 ? sortBy : ''}`;
|
|
172
|
+
const response = await this.masApiRestClient.get(`/schedule/${crn}/${type}${queryParameters}`, authOptions);
|
|
173
|
+
if (!response) {
|
|
174
|
+
personScheduleResponse = {
|
|
175
|
+
personSchedule: null,
|
|
176
|
+
httpStatus: 404,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
personScheduleResponse = {
|
|
181
|
+
personSchedule: response,
|
|
182
|
+
httpStatus: 200,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
const responseStatus = err === null || err === void 0 ? void 0 : err.responseStatus;
|
|
188
|
+
error = err instanceof Error ? err : new Error('500 Internal Server Error');
|
|
189
|
+
personScheduleResponse = {
|
|
190
|
+
personSchedule: null,
|
|
191
|
+
httpStatus: responseStatus !== null && responseStatus !== void 0 ? responseStatus : 500,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
...personScheduleResponse,
|
|
196
|
+
error,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
167
199
|
}
|
|
168
200
|
|
|
169
201
|
const govukTime = (datetimeString) => {
|
|
@@ -189,13 +221,30 @@ const dateWithYear = (datetimeString, showTime = false) => {
|
|
|
189
221
|
const toTitleCase = (value) => {
|
|
190
222
|
if (!value)
|
|
191
223
|
return '';
|
|
224
|
+
const preservedWords = ['(NS)', '(Non', 'NS)'];
|
|
192
225
|
const lower = value.toLowerCase();
|
|
193
|
-
|
|
226
|
+
const titleCased = `${lower.charAt(0).toUpperCase()}${lower.substring(1)}`;
|
|
227
|
+
return preservedWords.reduce((result, word) => {
|
|
228
|
+
const escaped = word.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
229
|
+
return result.replace(new RegExp(escaped, 'gi'), word);
|
|
230
|
+
}, titleCased);
|
|
194
231
|
};
|
|
195
232
|
|
|
233
|
+
const hasBreachedSentence = (sentences) => Array.isArray(sentences) &&
|
|
234
|
+
sentences.some(sentence => { var _a; return ((_a = sentence === null || sentence === void 0 ? void 0 : sentence.supervisionPackage) === null || _a === void 0 ? void 0 : _a.code) !== 'SPX' && (sentence === null || sentence === void 0 ? void 0 : sentence.inBreach) === true; });
|
|
235
|
+
|
|
236
|
+
const eligibleTiers = ['C', 'D', 'E', 'F', 'G'];
|
|
237
|
+
const isEligibleForDiscretionaryAppointments = (inputs, tierScore) => (inputs === null || inputs === void 0 ? void 0 : inputs.gender) === 'Female' &&
|
|
238
|
+
!(inputs === null || inputs === void 0 ? void 0 : inputs.integratedOffenderManagementRedRated) &&
|
|
239
|
+
!!tierScore &&
|
|
240
|
+
eligibleTiers.includes(tierScore);
|
|
241
|
+
|
|
196
242
|
const mpopNunjucksSetup = (env) => {
|
|
197
243
|
env.addFilter('dateWithYear', dateWithYear);
|
|
244
|
+
env.addFilter('govukTime', govukTime);
|
|
198
245
|
env.addFilter('toTitleCase', toTitleCase);
|
|
246
|
+
env.addFilter('hasBreachedSentence', hasBreachedSentence);
|
|
247
|
+
env.addFilter('isEligibleForDiscretionaryAppointments', isEligibleForDiscretionaryAppointments);
|
|
199
248
|
};
|
|
200
249
|
|
|
201
250
|
exports.MPoPComponents = MPoPComponents;
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/SuppressingRestClient.ts","../src/utils/isBlank.ts","../src/utils/yearsSince.ts","../src/MPoPComponents.ts","../src/utils/govukTime.ts","../src/utils/dateWithYear.ts","../src/utils/toTitleCase.ts","../src/utils/nunjucksFilters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["DateTime","RestClient"],"mappings":";;;;;MAGa,qBAAqB,CAAA;IAChC,WAAA,CACmB,UAAsB,EACtB,MAAwB,EAAA;QADxB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,MAAM,GAAN,MAAM;IACtB;AAEH,IAAA,MAAM,GAAG,CAAI,IAAY,EAAE,WAAiC,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB;YACE,IAAI;YACJ,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,KAAI;AAC3C,gBAAA,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,iCAAA,EAAoC,MAAM,CAAA,EAAA,EAAK,WAAW,CAAA,CAAE,CAAC;AAC/E,oBAAA,OAAO,IAAI;gBACb;AACA,gBAAA,MAAM,KAAK;YACb,CAAC;SACF,EACD,WAAW,CACZ;IACH;AACD;;ACxBM,MAAM,OAAO,GAAG,CAAC,GAAW,KAAc,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;;ACGnE,MAAM,UAAU,GAAG,CAAC,cAAsB,KAAmB;AAClE,IAAA,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;AAAE,QAAA,OAAO,IAAI;AAE3D,IAAA,MAAM,EAAE,GAAGA,cAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAACA,cAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,IAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;AACzB,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/SuppressingRestClient.ts","../src/utils/isBlank.ts","../src/utils/yearsSince.ts","../src/MPoPComponents.ts","../src/utils/govukTime.ts","../src/utils/dateWithYear.ts","../src/utils/toTitleCase.ts","../src/utils/hasBreachedSentence.ts","../src/utils/isEligibleForDiscretionaryAppointments.ts","../src/utils/nunjucksFilters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["DateTime","RestClient"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -120,6 +120,144 @@ type SupervisionPackageResponse = {
|
|
|
120
120
|
error?: Error | null;
|
|
121
121
|
};
|
|
122
122
|
|
|
123
|
+
type PersonSchedule = {
|
|
124
|
+
personSummary: {
|
|
125
|
+
name: {
|
|
126
|
+
forename: string;
|
|
127
|
+
middleName?: string;
|
|
128
|
+
surname: string;
|
|
129
|
+
username?: string;
|
|
130
|
+
};
|
|
131
|
+
crn: string;
|
|
132
|
+
offenderId?: number;
|
|
133
|
+
pnc?: string;
|
|
134
|
+
dateOfBirth: string;
|
|
135
|
+
preferredLanguage?: string;
|
|
136
|
+
};
|
|
137
|
+
personSchedule: {
|
|
138
|
+
size: number;
|
|
139
|
+
page: number;
|
|
140
|
+
totalResults: number;
|
|
141
|
+
totalPages: number;
|
|
142
|
+
appointments: Array<Activity>;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
type PersonScheduleResponse = {
|
|
146
|
+
personSchedule: PersonSchedule | null;
|
|
147
|
+
httpStatus: number;
|
|
148
|
+
error?: Error | null;
|
|
149
|
+
};
|
|
150
|
+
type Activity = {
|
|
151
|
+
id: string;
|
|
152
|
+
eventNumber?: string;
|
|
153
|
+
type: string;
|
|
154
|
+
displayName?: string;
|
|
155
|
+
startDateTime: string;
|
|
156
|
+
endDateTime?: string;
|
|
157
|
+
rarToolKit?: string;
|
|
158
|
+
appointmentNotes?: Array<Note>;
|
|
159
|
+
appointmentNote?: Note;
|
|
160
|
+
isSensitive?: boolean;
|
|
161
|
+
hasOutcome?: boolean;
|
|
162
|
+
wasAbsent?: boolean;
|
|
163
|
+
officer?: {
|
|
164
|
+
code?: string;
|
|
165
|
+
name?: {
|
|
166
|
+
forename: string;
|
|
167
|
+
middleName?: string;
|
|
168
|
+
surname: string;
|
|
169
|
+
username?: string;
|
|
170
|
+
};
|
|
171
|
+
teamCode?: string;
|
|
172
|
+
providerCode?: string;
|
|
173
|
+
username?: string;
|
|
174
|
+
};
|
|
175
|
+
isInitial?: boolean;
|
|
176
|
+
isNationalStandard?: boolean;
|
|
177
|
+
location?: {
|
|
178
|
+
code?: string;
|
|
179
|
+
providerCode?: string;
|
|
180
|
+
teamCode?: string;
|
|
181
|
+
officeName?: string;
|
|
182
|
+
buildingName?: string;
|
|
183
|
+
buildingNumber?: string;
|
|
184
|
+
streetName?: string;
|
|
185
|
+
district?: string;
|
|
186
|
+
town?: string;
|
|
187
|
+
county?: string;
|
|
188
|
+
postcode?: string;
|
|
189
|
+
ldu?: string;
|
|
190
|
+
telephoneNumber?: string;
|
|
191
|
+
};
|
|
192
|
+
rescheduled?: boolean;
|
|
193
|
+
rescheduledStaff?: boolean;
|
|
194
|
+
rescheduledPop?: boolean;
|
|
195
|
+
didTheyComply?: boolean;
|
|
196
|
+
absentWaitingEvidence?: boolean;
|
|
197
|
+
enforcementAction?: {
|
|
198
|
+
responseByDate: string;
|
|
199
|
+
};
|
|
200
|
+
rearrangeOrCancelReason?: string;
|
|
201
|
+
rescheduledBy?: {
|
|
202
|
+
forename: string;
|
|
203
|
+
middleName?: string;
|
|
204
|
+
surname: string;
|
|
205
|
+
username?: string;
|
|
206
|
+
};
|
|
207
|
+
repeating?: boolean;
|
|
208
|
+
nonComplianceReason?: string;
|
|
209
|
+
documents?: Array<Document>;
|
|
210
|
+
isRarRelated?: boolean;
|
|
211
|
+
rarCategory?: string;
|
|
212
|
+
acceptableAbsence?: boolean;
|
|
213
|
+
acceptableAbsenceReason?: string;
|
|
214
|
+
isAppointment?: boolean;
|
|
215
|
+
isCommunication?: boolean;
|
|
216
|
+
action?: string;
|
|
217
|
+
isSystemContact?: boolean;
|
|
218
|
+
isEmailOrTextFromPop?: boolean;
|
|
219
|
+
isPhoneCallFromPop?: boolean;
|
|
220
|
+
isEmailOrTextToPop?: boolean;
|
|
221
|
+
isPhoneCallToPop?: boolean;
|
|
222
|
+
isInPast?: boolean;
|
|
223
|
+
isPastAppointment?: boolean;
|
|
224
|
+
countsTowardsRAR?: boolean;
|
|
225
|
+
lastUpdated?: string;
|
|
226
|
+
lastUpdatedBy?: {
|
|
227
|
+
forename: string;
|
|
228
|
+
middleName?: string;
|
|
229
|
+
surname: string;
|
|
230
|
+
username?: string;
|
|
231
|
+
};
|
|
232
|
+
description?: string;
|
|
233
|
+
outcome?: string;
|
|
234
|
+
deliusManaged?: boolean;
|
|
235
|
+
isVisor?: boolean;
|
|
236
|
+
eventId?: number;
|
|
237
|
+
component?: {
|
|
238
|
+
id?: number;
|
|
239
|
+
description?: string;
|
|
240
|
+
type?: string;
|
|
241
|
+
};
|
|
242
|
+
nsiId?: number;
|
|
243
|
+
esupervisionId?: string;
|
|
244
|
+
externalReference?: string;
|
|
245
|
+
isUpdatableContact?: boolean;
|
|
246
|
+
};
|
|
247
|
+
type Note = {
|
|
248
|
+
id: number;
|
|
249
|
+
createdBy?: string;
|
|
250
|
+
createdByDate?: string;
|
|
251
|
+
note: string;
|
|
252
|
+
hasNoteBeenTruncated?: boolean;
|
|
253
|
+
};
|
|
254
|
+
type Document = {
|
|
255
|
+
id: string;
|
|
256
|
+
name: string;
|
|
257
|
+
lastUpdated?: string;
|
|
258
|
+
createdAt?: string;
|
|
259
|
+
};
|
|
260
|
+
|
|
123
261
|
declare class MPoPComponents {
|
|
124
262
|
private readonly tierApiRestClient;
|
|
125
263
|
private readonly masApiRestClient;
|
|
@@ -128,6 +266,7 @@ declare class MPoPComponents {
|
|
|
128
266
|
getTierDetails(authOptions: AuthOptions | string, crn: string): Promise<LatestTierResponse>;
|
|
129
267
|
getPersonalDetails(authOptions: AuthOptions | string, crn: string): Promise<PersonalDetailsResponse>;
|
|
130
268
|
getSupervisionPackage(authOptions: AuthOptions | string, crn: string): Promise<SupervisionPackageResponse>;
|
|
269
|
+
getPersonSchedule(authOptions: AuthOptions | string, crn: string, type?: 'upcoming' | 'previous', page?: string, size?: string, sortBy?: string): Promise<PersonScheduleResponse>;
|
|
131
270
|
}
|
|
132
271
|
|
|
133
272
|
declare const mpopNunjucksSetup: (env: Environment) => void;
|
package/dist/index.esm.js
CHANGED
|
@@ -162,6 +162,38 @@ class MPoPComponents {
|
|
|
162
162
|
error,
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
|
+
async getPersonSchedule(authOptions, crn, type = 'upcoming', page = '0', size = '1', sortBy = '&sortBy=date&ascending=true') {
|
|
166
|
+
let error = null;
|
|
167
|
+
let personScheduleResponse;
|
|
168
|
+
try {
|
|
169
|
+
const queryParameters = `?${new URLSearchParams({ size, page }).toString()}${sortBy !== null && sortBy !== void 0 ? sortBy : ''}`;
|
|
170
|
+
const response = await this.masApiRestClient.get(`/schedule/${crn}/${type}${queryParameters}`, authOptions);
|
|
171
|
+
if (!response) {
|
|
172
|
+
personScheduleResponse = {
|
|
173
|
+
personSchedule: null,
|
|
174
|
+
httpStatus: 404,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
personScheduleResponse = {
|
|
179
|
+
personSchedule: response,
|
|
180
|
+
httpStatus: 200,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
catch (err) {
|
|
185
|
+
const responseStatus = err === null || err === void 0 ? void 0 : err.responseStatus;
|
|
186
|
+
error = err instanceof Error ? err : new Error('500 Internal Server Error');
|
|
187
|
+
personScheduleResponse = {
|
|
188
|
+
personSchedule: null,
|
|
189
|
+
httpStatus: responseStatus !== null && responseStatus !== void 0 ? responseStatus : 500,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
...personScheduleResponse,
|
|
194
|
+
error,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
165
197
|
}
|
|
166
198
|
|
|
167
199
|
const govukTime = (datetimeString) => {
|
|
@@ -187,13 +219,30 @@ const dateWithYear = (datetimeString, showTime = false) => {
|
|
|
187
219
|
const toTitleCase = (value) => {
|
|
188
220
|
if (!value)
|
|
189
221
|
return '';
|
|
222
|
+
const preservedWords = ['(NS)', '(Non', 'NS)'];
|
|
190
223
|
const lower = value.toLowerCase();
|
|
191
|
-
|
|
224
|
+
const titleCased = `${lower.charAt(0).toUpperCase()}${lower.substring(1)}`;
|
|
225
|
+
return preservedWords.reduce((result, word) => {
|
|
226
|
+
const escaped = word.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
227
|
+
return result.replace(new RegExp(escaped, 'gi'), word);
|
|
228
|
+
}, titleCased);
|
|
192
229
|
};
|
|
193
230
|
|
|
231
|
+
const hasBreachedSentence = (sentences) => Array.isArray(sentences) &&
|
|
232
|
+
sentences.some(sentence => { var _a; return ((_a = sentence === null || sentence === void 0 ? void 0 : sentence.supervisionPackage) === null || _a === void 0 ? void 0 : _a.code) !== 'SPX' && (sentence === null || sentence === void 0 ? void 0 : sentence.inBreach) === true; });
|
|
233
|
+
|
|
234
|
+
const eligibleTiers = ['C', 'D', 'E', 'F', 'G'];
|
|
235
|
+
const isEligibleForDiscretionaryAppointments = (inputs, tierScore) => (inputs === null || inputs === void 0 ? void 0 : inputs.gender) === 'Female' &&
|
|
236
|
+
!(inputs === null || inputs === void 0 ? void 0 : inputs.integratedOffenderManagementRedRated) &&
|
|
237
|
+
!!tierScore &&
|
|
238
|
+
eligibleTiers.includes(tierScore);
|
|
239
|
+
|
|
194
240
|
const mpopNunjucksSetup = (env) => {
|
|
195
241
|
env.addFilter('dateWithYear', dateWithYear);
|
|
242
|
+
env.addFilter('govukTime', govukTime);
|
|
196
243
|
env.addFilter('toTitleCase', toTitleCase);
|
|
244
|
+
env.addFilter('hasBreachedSentence', hasBreachedSentence);
|
|
245
|
+
env.addFilter('isEligibleForDiscretionaryAppointments', isEligibleForDiscretionaryAppointments);
|
|
197
246
|
};
|
|
198
247
|
|
|
199
248
|
export { MPoPComponents, mpopNunjucksSetup as addFilters, mpopNunjucksSetup };
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/SuppressingRestClient.ts","../src/utils/isBlank.ts","../src/utils/yearsSince.ts","../src/MPoPComponents.ts","../src/utils/govukTime.ts","../src/utils/dateWithYear.ts","../src/utils/toTitleCase.ts","../src/utils/nunjucksFilters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;MAGa,qBAAqB,CAAA;IAChC,WAAA,CACmB,UAAsB,EACtB,MAAwB,EAAA;QADxB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,MAAM,GAAN,MAAM;IACtB;AAEH,IAAA,MAAM,GAAG,CAAI,IAAY,EAAE,WAAiC,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB;YACE,IAAI;YACJ,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,KAAI;AAC3C,gBAAA,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,iCAAA,EAAoC,MAAM,CAAA,EAAA,EAAK,WAAW,CAAA,CAAE,CAAC;AAC/E,oBAAA,OAAO,IAAI;gBACb;AACA,gBAAA,MAAM,KAAK;YACb,CAAC;SACF,EACD,WAAW,CACZ;IACH;AACD;;ACxBM,MAAM,OAAO,GAAG,CAAC,GAAW,KAAc,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;;ACGnE,MAAM,UAAU,GAAG,CAAC,cAAsB,KAAmB;AAClE,IAAA,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;AAAE,QAAA,OAAO,IAAI;AAE3D,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,IAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;AACzB,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/SuppressingRestClient.ts","../src/utils/isBlank.ts","../src/utils/yearsSince.ts","../src/MPoPComponents.ts","../src/utils/govukTime.ts","../src/utils/dateWithYear.ts","../src/utils/toTitleCase.ts","../src/utils/hasBreachedSentence.ts","../src/utils/isEligibleForDiscretionaryAppointments.ts","../src/utils/nunjucksFilters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,12 @@ $supervision-package-accent-colour: govuk-colour("blue");
|
|
|
12
12
|
padding-left: govuk-spacing(4);
|
|
13
13
|
|
|
14
14
|
margin-bottom: govuk-spacing(6);
|
|
15
|
+
|
|
16
|
+
.govuk-warning-text {
|
|
17
|
+
padding-top: 0;
|
|
18
|
+
padding-bottom: 10px;
|
|
19
|
+
margin-bottom: 0;
|
|
20
|
+
}
|
|
15
21
|
}
|
|
16
22
|
|
|
17
23
|
.app-tier-header {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
{% if params.forename and params.currentYear.appointments.allowance is defined and params.earlyEngagement.weeks is defined %}
|
|
6
6
|
<p class='govuk-body'>
|
|
7
|
-
Early engagement
|
|
7
|
+
Early engagement is expected to end on {{ params.phase.endDate | dateWithYear }}{% if params.forename and (params.earlyEngagement.completed | int < params.earlyEngagement.weeks | int) %} if {{ params.forename }} attends the required appointments by then{% endif %}.
|
|
8
8
|
</p>
|
|
9
9
|
{% endif %}
|
|
10
10
|
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
|
|
15
15
|
{% include './_progress-bar.njk' %}
|
|
16
16
|
|
|
17
|
+
{% if params.inputs.integratedOffenderManagementRedRated %}
|
|
18
|
+
<p class='govuk-body'>{{ params.forename }} has an IOM red RAG status. The maximum number of appointments is the same as tier A.</p>
|
|
19
|
+
{% endif %}
|
|
20
|
+
|
|
21
|
+
{% if params.inputs | isEligibleForDiscretionaryAppointments(params.tierScore) %}
|
|
22
|
+
<p class='govuk-body'>As a woman in tier {{ params.tierScore }}, {{ params.forename }} can have up to 5 additional discretionary appointments.</p>
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
17
25
|
{% if params.allAppointmentsHref %}
|
|
18
26
|
<p class='govuk-body'>
|
|
19
27
|
<a class='govuk-link govuk-link--no-visited-state' href='{{ params.allAppointmentsHref }}' >View all appointments</a>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
<div class='govuk-grid-row govuk-!-margin-top-4'>
|
|
24
24
|
<div class='govuk-grid-column-one-third'>
|
|
25
|
-
<p class='govuk-body govuk-!-margin-bottom-2'>Maximum</p>
|
|
25
|
+
<p class='govuk-body govuk-!-margin-bottom-2'>{{ 'Required' if params.phase.name.code == 'INIT' else 'Maximum' }}</p>
|
|
26
26
|
<p class='govuk-body-l govuk-!-font-weight-bold'>{{ allowance }}</p>
|
|
27
27
|
</div>
|
|
28
28
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<strong class='app-status-badge govuk-tag govuk-tag--red'>No appointments remaining</strong>
|
|
3
3
|
{% endif %}
|
|
4
4
|
|
|
5
|
-
{% if params.
|
|
5
|
+
{% if params.inputs.sentences | hasBreachedSentence %}
|
|
6
6
|
<strong class='app-status-badge govuk-tag govuk-tag--yellow'>In breach</strong>
|
|
7
7
|
{% endif %}
|
|
8
8
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% set standardAppointmentsComplete = params.currentYear.appointments.allowance is defined and params.currentYear.appointments.completed is defined and (params.currentYear.appointments.completed | int) >= (params.currentYear.appointments.allowance| int) %}
|
|
2
|
-
{% set hasSpecialStatus = params.inputs.offenderPersonalDisorderPathway or params.
|
|
2
|
+
{% set hasSpecialStatus = params.inputs.offenderPersonalDisorderPathway or params.inputs.sentences | hasBreachedSentence or params.isCustody or params.inputs.integratedOffenderManagementRedRated %}
|
|
3
3
|
|
|
4
4
|
<div class='govuk-width-container supervision-package'>
|
|
5
5
|
{% if standardAppointmentsComplete or hasSpecialStatus %}
|
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
|
|
14
14
|
<div class='govuk-grid-row'>
|
|
15
15
|
<div class='{{ "govuk-grid-column-one-half" if params.phase.name.description else "govuk-grid-column-two-thirds" }}'>
|
|
16
|
+
{% if params.inputs.sentences | hasBreachedSentence %}
|
|
17
|
+
<div class='govuk-warning-text'>
|
|
18
|
+
<span class='govuk-warning-text__icon' aria-hidden='true'>!</span>
|
|
19
|
+
<strong class='govuk-warning-text__text'>
|
|
20
|
+
<span class='govuk-visually-hidden'>Warning</span>
|
|
21
|
+
{{ params.forename }} is in breach. You should continue to offer appointments.
|
|
22
|
+
</strong>
|
|
23
|
+
</div>
|
|
24
|
+
{% endif %}
|
|
25
|
+
|
|
16
26
|
<div class='app-tier-header'>
|
|
17
27
|
<h3 class='govuk-heading-s govuk-!-margin-bottom-0'>
|
|
18
28
|
Tier {{ '' if params.tierScore == 'MISSING' else params.tierScore }}
|
|
@@ -46,11 +56,14 @@
|
|
|
46
56
|
</p>
|
|
47
57
|
{% endif %}
|
|
48
58
|
|
|
49
|
-
{%
|
|
59
|
+
{% set nextAppointmentDate = (params.nextAppointment and params.nextAppointment.date) | dateWithYear(true) %}
|
|
60
|
+
{% if params.nextAppointment and nextAppointmentDate and params.nextAppointment.description and params.nextAppointment.href %}
|
|
50
61
|
<h3 class='govuk-heading-s'>Next appointment</h3>
|
|
51
62
|
<p class='govuk-body'>
|
|
52
|
-
<a href='{{ params.
|
|
63
|
+
<a href='{{ params.nextAppointment.href }}' class='govuk-link govuk-link--no-visited-state'>{{ params.nextAppointment.description | toTitleCase }}: {{ nextAppointmentDate }}</a>
|
|
53
64
|
</p>
|
|
65
|
+
{% else %}
|
|
66
|
+
<p class='govuk-body'>No appointments scheduled</p>
|
|
54
67
|
{% endif %}
|
|
55
68
|
</div>
|
|
56
69
|
|
|
@@ -64,14 +77,19 @@
|
|
|
64
77
|
{% endif %}
|
|
65
78
|
</div>
|
|
66
79
|
|
|
67
|
-
{% if params.arrangeAppointmentHref and params.
|
|
80
|
+
{% if params.arrangeAppointmentHref or (params.crn and params.deliusBaseURL) %}
|
|
68
81
|
<div class='govuk-button-group'>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
82
|
+
{% if params.arrangeAppointmentHref %}
|
|
83
|
+
<a href='{{ params.arrangeAppointmentHref }}' role='button' draggable='false' class='govuk-button' data-module='govuk-button'>
|
|
84
|
+
Arrange an appointment
|
|
85
|
+
</a>
|
|
86
|
+
{% endif %}
|
|
87
|
+
|
|
88
|
+
{% if params.crn and params.deliusBaseURL %}
|
|
89
|
+
<a href='{{ params.deliusBaseURL }}/NDelius-war/delius/JSP/deeplink.xhtml?component=RegisterSummary&CRN={{params.crn}}' role='button' draggable='false' class='govuk-button govuk-button--secondary' data-module='govuk-button'>
|
|
90
|
+
Update NDelius risk flag
|
|
91
|
+
</a>
|
|
92
|
+
{% endif %}
|
|
75
93
|
</div>
|
|
76
94
|
{% endif %}
|
|
77
95
|
</div>
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
export type PersonSchedule = {
|
|
2
|
+
personSummary: {
|
|
3
|
+
name: {
|
|
4
|
+
forename: string;
|
|
5
|
+
middleName?: string;
|
|
6
|
+
surname: string;
|
|
7
|
+
username?: string;
|
|
8
|
+
};
|
|
9
|
+
crn: string;
|
|
10
|
+
offenderId?: number;
|
|
11
|
+
pnc?: string;
|
|
12
|
+
dateOfBirth: string;
|
|
13
|
+
preferredLanguage?: string;
|
|
14
|
+
};
|
|
15
|
+
personSchedule: {
|
|
16
|
+
size: number;
|
|
17
|
+
page: number;
|
|
18
|
+
totalResults: number;
|
|
19
|
+
totalPages: number;
|
|
20
|
+
appointments: Array<Activity>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type PersonScheduleResponse = {
|
|
24
|
+
personSchedule: PersonSchedule | null;
|
|
25
|
+
httpStatus: number;
|
|
26
|
+
error?: Error | null;
|
|
27
|
+
};
|
|
28
|
+
type Activity = {
|
|
29
|
+
id: string;
|
|
30
|
+
eventNumber?: string;
|
|
31
|
+
type: string;
|
|
32
|
+
displayName?: string;
|
|
33
|
+
startDateTime: string;
|
|
34
|
+
endDateTime?: string;
|
|
35
|
+
rarToolKit?: string;
|
|
36
|
+
appointmentNotes?: Array<Note>;
|
|
37
|
+
appointmentNote?: Note;
|
|
38
|
+
isSensitive?: boolean;
|
|
39
|
+
hasOutcome?: boolean;
|
|
40
|
+
wasAbsent?: boolean;
|
|
41
|
+
officer?: {
|
|
42
|
+
code?: string;
|
|
43
|
+
name?: {
|
|
44
|
+
forename: string;
|
|
45
|
+
middleName?: string;
|
|
46
|
+
surname: string;
|
|
47
|
+
username?: string;
|
|
48
|
+
};
|
|
49
|
+
teamCode?: string;
|
|
50
|
+
providerCode?: string;
|
|
51
|
+
username?: string;
|
|
52
|
+
};
|
|
53
|
+
isInitial?: boolean;
|
|
54
|
+
isNationalStandard?: boolean;
|
|
55
|
+
location?: {
|
|
56
|
+
code?: string;
|
|
57
|
+
providerCode?: string;
|
|
58
|
+
teamCode?: string;
|
|
59
|
+
officeName?: string;
|
|
60
|
+
buildingName?: string;
|
|
61
|
+
buildingNumber?: string;
|
|
62
|
+
streetName?: string;
|
|
63
|
+
district?: string;
|
|
64
|
+
town?: string;
|
|
65
|
+
county?: string;
|
|
66
|
+
postcode?: string;
|
|
67
|
+
ldu?: string;
|
|
68
|
+
telephoneNumber?: string;
|
|
69
|
+
};
|
|
70
|
+
rescheduled?: boolean;
|
|
71
|
+
rescheduledStaff?: boolean;
|
|
72
|
+
rescheduledPop?: boolean;
|
|
73
|
+
didTheyComply?: boolean;
|
|
74
|
+
absentWaitingEvidence?: boolean;
|
|
75
|
+
enforcementAction?: {
|
|
76
|
+
responseByDate: string;
|
|
77
|
+
};
|
|
78
|
+
rearrangeOrCancelReason?: string;
|
|
79
|
+
rescheduledBy?: {
|
|
80
|
+
forename: string;
|
|
81
|
+
middleName?: string;
|
|
82
|
+
surname: string;
|
|
83
|
+
username?: string;
|
|
84
|
+
};
|
|
85
|
+
repeating?: boolean;
|
|
86
|
+
nonComplianceReason?: string;
|
|
87
|
+
documents?: Array<Document>;
|
|
88
|
+
isRarRelated?: boolean;
|
|
89
|
+
rarCategory?: string;
|
|
90
|
+
acceptableAbsence?: boolean;
|
|
91
|
+
acceptableAbsenceReason?: string;
|
|
92
|
+
isAppointment?: boolean;
|
|
93
|
+
isCommunication?: boolean;
|
|
94
|
+
action?: string;
|
|
95
|
+
isSystemContact?: boolean;
|
|
96
|
+
isEmailOrTextFromPop?: boolean;
|
|
97
|
+
isPhoneCallFromPop?: boolean;
|
|
98
|
+
isEmailOrTextToPop?: boolean;
|
|
99
|
+
isPhoneCallToPop?: boolean;
|
|
100
|
+
isInPast?: boolean;
|
|
101
|
+
isPastAppointment?: boolean;
|
|
102
|
+
countsTowardsRAR?: boolean;
|
|
103
|
+
lastUpdated?: string;
|
|
104
|
+
lastUpdatedBy?: {
|
|
105
|
+
forename: string;
|
|
106
|
+
middleName?: string;
|
|
107
|
+
surname: string;
|
|
108
|
+
username?: string;
|
|
109
|
+
};
|
|
110
|
+
description?: string;
|
|
111
|
+
outcome?: string;
|
|
112
|
+
deliusManaged?: boolean;
|
|
113
|
+
isVisor?: boolean;
|
|
114
|
+
eventId?: number;
|
|
115
|
+
component?: {
|
|
116
|
+
id?: number;
|
|
117
|
+
description?: string;
|
|
118
|
+
type?: string;
|
|
119
|
+
};
|
|
120
|
+
nsiId?: number;
|
|
121
|
+
esupervisionId?: string;
|
|
122
|
+
externalReference?: string;
|
|
123
|
+
isUpdatableContact?: boolean;
|
|
124
|
+
};
|
|
125
|
+
type Note = {
|
|
126
|
+
id: number;
|
|
127
|
+
createdBy?: string;
|
|
128
|
+
createdByDate?: string;
|
|
129
|
+
note: string;
|
|
130
|
+
hasNoteBeenTruncated?: boolean;
|
|
131
|
+
};
|
|
132
|
+
type Document = {
|
|
133
|
+
id: string;
|
|
134
|
+
name: string;
|
|
135
|
+
lastUpdated?: string;
|
|
136
|
+
createdAt?: string;
|
|
137
|
+
};
|
|
138
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|