@hmcts/ccd-case-ui-toolkit 7.3.99-innerhtml-security-update → 7.4.1
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/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +262 -126
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/index.d.ts +12 -5
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, Injectable, DOCUMENT, Inject, InjectionToken, Optional, ChangeDetectorRef, Directive, ViewChild, ChangeDetectionStrategy, Injector, ViewContainerRef, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, Injectable, DOCUMENT, Inject, InjectionToken, Optional, ChangeDetectorRef, Directive, ViewChild, ChangeDetectionStrategy, SecurityContext, Injector, ViewContainerRef, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, AsyncPipe, CurrencyPipe, formatDate } from '@angular/common';
|
|
5
5
|
import * as i1 from 'rpx-xui-translation';
|
|
@@ -31,7 +31,7 @@ import { MAT_LEGACY_DATE_LOCALE } from '@angular/material/legacy-core';
|
|
|
31
31
|
import * as i3 from '@hmcts/ccpay-web-component';
|
|
32
32
|
import { PaymentLibModule } from '@hmcts/ccpay-web-component';
|
|
33
33
|
import { v4 } from 'uuid';
|
|
34
|
-
import
|
|
34
|
+
import * as i1$5 from '@angular/platform-browser';
|
|
35
35
|
import * as i3$1 from 'ngx-editor';
|
|
36
36
|
import { Editor, NgxEditorModule } from 'ngx-editor';
|
|
37
37
|
import { nodes, marks } from 'ngx-editor/schema';
|
|
@@ -6308,7 +6308,7 @@ class FormValidatorsService {
|
|
|
6308
6308
|
// Matches: [text](url), , <img ...>, <a ...>...</a>
|
|
6309
6309
|
const inlineMarkdownPattern = /(?:!?\[[^\]]{0,500}\]\([^)]{0,500}\)|<(?:img\b[^>]{0,500}>|a\b[^>]{0,500}>[\s\S]*?<\/a>))/i;
|
|
6310
6310
|
// Matches: [text][id], ![alt][id], and the collapsed form [text][]
|
|
6311
|
-
const referenceBoxPattern = /(!)?\[((?:[^[\]\\]|\\.){0,500})\]\
|
|
6311
|
+
const referenceBoxPattern = /(!)?\[((?:[^[\]\\]|\\.){0,500})\]\[([^\]]{0,100})\](?!\s*\/)/;
|
|
6312
6312
|
// Matches: autolinks such as <http://example.com>
|
|
6313
6313
|
const autolinkPattern = /<(?:[A-Za-z][A-Za-z0-9+.-]*:[^ <>\n]*|[A-Za-z0-9.!#$%&'*+/=?^_`{|}~-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)+)>/;
|
|
6314
6314
|
// Matches: bare www.example.com autolinks
|
|
@@ -14132,57 +14132,67 @@ class WriteComplexFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14132
14132
|
const _c0$$ = ["writeComplexFieldComponent"];
|
|
14133
14133
|
const _c1$q = a0 => ({ "form-group-error": a0 });
|
|
14134
14134
|
const _c2$4 = a0 => ({ "govuk-input--error": a0 });
|
|
14135
|
-
function
|
|
14136
|
-
i0.ɵɵelementStart(0, "span",
|
|
14135
|
+
function WriteAddressFieldComponent_div_1_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
14136
|
+
i0.ɵɵelementStart(0, "span", 9);
|
|
14137
|
+
i0.ɵɵelement(1, "ccd-markdown", 10);
|
|
14138
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14139
|
+
i0.ɵɵelementEnd();
|
|
14140
|
+
} if (rf & 2) {
|
|
14141
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
14142
|
+
i0.ɵɵadvance();
|
|
14143
|
+
i0.ɵɵproperty("content", i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField.hint_text));
|
|
14144
|
+
} }
|
|
14145
|
+
function WriteAddressFieldComponent_div_1_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
14146
|
+
i0.ɵɵelementStart(0, "span", 17);
|
|
14137
14147
|
i0.ɵɵtext(1);
|
|
14138
14148
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14139
14149
|
i0.ɵɵelementEnd();
|
|
14140
14150
|
} if (rf & 2) {
|
|
14141
|
-
const
|
|
14151
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
14142
14152
|
i0.ɵɵadvance();
|
|
14143
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1,
|
|
14153
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.errorMessage));
|
|
14144
14154
|
} }
|
|
14145
|
-
function
|
|
14146
|
-
const
|
|
14147
|
-
i0.ɵɵelementStart(0, "div",
|
|
14155
|
+
function WriteAddressFieldComponent_div_1_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
14156
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
14157
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "label", 12)(2, "span", 13);
|
|
14148
14158
|
i0.ɵɵtext(3);
|
|
14149
14159
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
14150
14160
|
i0.ɵɵelementEnd()();
|
|
14151
|
-
i0.ɵɵtemplate(5,
|
|
14152
|
-
i0.ɵɵelement(6, "input",
|
|
14153
|
-
i0.ɵɵelementStart(7, "button",
|
|
14154
|
-
i0.ɵɵlistener("click", function
|
|
14161
|
+
i0.ɵɵtemplate(5, WriteAddressFieldComponent_div_1_div_5_span_5_Template, 3, 3, "span", 14);
|
|
14162
|
+
i0.ɵɵelement(6, "input", 15);
|
|
14163
|
+
i0.ɵɵelementStart(7, "button", 16);
|
|
14164
|
+
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_1_div_5_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.findAddress()); });
|
|
14155
14165
|
i0.ɵɵtext(8);
|
|
14156
14166
|
i0.ɵɵpipe(9, "rpxTranslate");
|
|
14157
14167
|
i0.ɵɵelementEnd()();
|
|
14158
14168
|
} if (rf & 2) {
|
|
14159
|
-
const
|
|
14160
|
-
i0.ɵɵproperty("id",
|
|
14169
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
14170
|
+
i0.ɵɵproperty("id", ctx_r0.createElementId("postcodeLookup"))("ngClass", i0.ɵɵpureFunction1(14, _c1$q, ctx_r0.missingPostcode));
|
|
14161
14171
|
i0.ɵɵadvance();
|
|
14162
|
-
i0.ɵɵproperty("for",
|
|
14172
|
+
i0.ɵɵproperty("for", ctx_r0.createElementId("postcodeInput"));
|
|
14163
14173
|
i0.ɵɵadvance(2);
|
|
14164
14174
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 10, "Enter a UK postcode"));
|
|
14165
14175
|
i0.ɵɵadvance(2);
|
|
14166
|
-
i0.ɵɵproperty("ngIf",
|
|
14176
|
+
i0.ɵɵproperty("ngIf", ctx_r0.missingPostcode);
|
|
14167
14177
|
i0.ɵɵadvance();
|
|
14168
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c2$4,
|
|
14178
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c2$4, ctx_r0.missingPostcode))("id", ctx_r0.createElementId("postcodeInput"))("formControl", ctx_r0.postcode);
|
|
14169
14179
|
i0.ɵɵadvance();
|
|
14170
|
-
i0.ɵɵproperty("disabled",
|
|
14180
|
+
i0.ɵɵproperty("disabled", ctx_r0.loadingAddresses);
|
|
14171
14181
|
i0.ɵɵadvance();
|
|
14172
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 12,
|
|
14182
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 12, ctx_r0.loadingAddresses ? "Finding addresses..." : "Find address"), " ");
|
|
14173
14183
|
} }
|
|
14174
|
-
function
|
|
14175
|
-
i0.ɵɵelementStart(0, "span",
|
|
14184
|
+
function WriteAddressFieldComponent_div_1_div_6_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
14185
|
+
i0.ɵɵelementStart(0, "span", 17);
|
|
14176
14186
|
i0.ɵɵtext(1);
|
|
14177
14187
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14178
14188
|
i0.ɵɵelementEnd();
|
|
14179
14189
|
} if (rf & 2) {
|
|
14180
|
-
const
|
|
14190
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
14181
14191
|
i0.ɵɵadvance();
|
|
14182
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1,
|
|
14192
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.errorMessage));
|
|
14183
14193
|
} }
|
|
14184
|
-
function
|
|
14185
|
-
i0.ɵɵelementStart(0, "option",
|
|
14194
|
+
function WriteAddressFieldComponent_div_1_div_6_option_7_Template(rf, ctx) { if (rf & 1) {
|
|
14195
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
14186
14196
|
i0.ɵɵtext(1);
|
|
14187
14197
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14188
14198
|
i0.ɵɵelementEnd();
|
|
@@ -14191,19 +14201,19 @@ function WriteAddressFieldComponent_div_1_div_5_option_7_Template(rf, ctx) { if
|
|
|
14191
14201
|
i0.ɵɵadvance();
|
|
14192
14202
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "No address found"), " ");
|
|
14193
14203
|
} }
|
|
14194
|
-
function
|
|
14195
|
-
i0.ɵɵelementStart(0, "option",
|
|
14204
|
+
function WriteAddressFieldComponent_div_1_div_6_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
14205
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
14196
14206
|
i0.ɵɵtext(1);
|
|
14197
14207
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14198
14208
|
i0.ɵɵelementEnd();
|
|
14199
14209
|
} if (rf & 2) {
|
|
14200
|
-
const
|
|
14210
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
14201
14211
|
i0.ɵɵproperty("ngValue", undefined);
|
|
14202
14212
|
i0.ɵɵadvance();
|
|
14203
|
-
i0.ɵɵtextInterpolate2(" ",
|
|
14213
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r0.addressOptions.length, " ", i0.ɵɵpipeBind1(2, 3, ctx_r0.addressOptions.length === 1 ? "address found" : "addresses found"), " ");
|
|
14204
14214
|
} }
|
|
14205
|
-
function
|
|
14206
|
-
i0.ɵɵelementStart(0, "option",
|
|
14215
|
+
function WriteAddressFieldComponent_div_1_div_6_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
14216
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
14207
14217
|
i0.ɵɵtext(1);
|
|
14208
14218
|
i0.ɵɵelementEnd();
|
|
14209
14219
|
} if (rf & 2) {
|
|
@@ -14212,39 +14222,39 @@ function WriteAddressFieldComponent_div_1_div_5_option_9_Template(rf, ctx) { if
|
|
|
14212
14222
|
i0.ɵɵadvance();
|
|
14213
14223
|
i0.ɵɵtextInterpolate1(" ", addressOption_r4.description, " ");
|
|
14214
14224
|
} }
|
|
14215
|
-
function
|
|
14225
|
+
function WriteAddressFieldComponent_div_1_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
14216
14226
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
14217
|
-
i0.ɵɵelementStart(0, "div",
|
|
14227
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "label", 12)(2, "span", 13);
|
|
14218
14228
|
i0.ɵɵtext(3);
|
|
14219
14229
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
14220
14230
|
i0.ɵɵelementEnd()();
|
|
14221
|
-
i0.ɵɵtemplate(5,
|
|
14222
|
-
i0.ɵɵelementStart(6, "select",
|
|
14223
|
-
i0.ɵɵlistener("change", function
|
|
14224
|
-
i0.ɵɵtemplate(7,
|
|
14231
|
+
i0.ɵɵtemplate(5, WriteAddressFieldComponent_div_1_div_6_span_5_Template, 3, 3, "span", 14);
|
|
14232
|
+
i0.ɵɵelementStart(6, "select", 19);
|
|
14233
|
+
i0.ɵɵlistener("change", function WriteAddressFieldComponent_div_1_div_6_Template_select_change_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.addressSelected()); });
|
|
14234
|
+
i0.ɵɵtemplate(7, WriteAddressFieldComponent_div_1_div_6_option_7_Template, 3, 4, "option", 20)(8, WriteAddressFieldComponent_div_1_div_6_option_8_Template, 3, 5, "option", 20)(9, WriteAddressFieldComponent_div_1_div_6_option_9_Template, 2, 2, "option", 21);
|
|
14225
14235
|
i0.ɵɵelementEnd()();
|
|
14226
14236
|
} if (rf & 2) {
|
|
14227
|
-
const
|
|
14228
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c1$q,
|
|
14237
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
14238
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c1$q, ctx_r0.noAddressSelected));
|
|
14229
14239
|
i0.ɵɵadvance();
|
|
14230
|
-
i0.ɵɵproperty("for",
|
|
14240
|
+
i0.ɵɵproperty("for", ctx_r0.createElementId("addressList"));
|
|
14231
14241
|
i0.ɵɵadvance(2);
|
|
14232
14242
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "Select an address"));
|
|
14233
14243
|
i0.ɵɵadvance(2);
|
|
14234
|
-
i0.ɵɵproperty("ngIf",
|
|
14244
|
+
i0.ɵɵproperty("ngIf", ctx_r0.noAddressSelected);
|
|
14235
14245
|
i0.ɵɵadvance();
|
|
14236
|
-
i0.ɵɵproperty("id",
|
|
14246
|
+
i0.ɵɵproperty("id", ctx_r0.createElementId("addressList"))("formControl", ctx_r0.addressList);
|
|
14237
14247
|
i0.ɵɵadvance();
|
|
14238
|
-
i0.ɵɵproperty("ngIf",
|
|
14248
|
+
i0.ɵɵproperty("ngIf", ctx_r0.addressOptions.length === 0);
|
|
14239
14249
|
i0.ɵɵadvance();
|
|
14240
|
-
i0.ɵɵproperty("ngIf",
|
|
14250
|
+
i0.ɵɵproperty("ngIf", ctx_r0.addressOptions.length > 0);
|
|
14241
14251
|
i0.ɵɵadvance();
|
|
14242
|
-
i0.ɵɵproperty("ngForOf",
|
|
14252
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.addressOptions);
|
|
14243
14253
|
} }
|
|
14244
|
-
function
|
|
14254
|
+
function WriteAddressFieldComponent_div_1_a_7_Template(rf, ctx) { if (rf & 1) {
|
|
14245
14255
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
14246
|
-
i0.ɵɵelementStart(0, "a",
|
|
14247
|
-
i0.ɵɵlistener("click", function
|
|
14256
|
+
i0.ɵɵelementStart(0, "a", 23);
|
|
14257
|
+
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_1_a_7_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.blankAddress(); return i0.ɵɵresetView($event.preventDefault()); });
|
|
14248
14258
|
i0.ɵɵtext(1);
|
|
14249
14259
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14250
14260
|
i0.ɵɵelementEnd();
|
|
@@ -14257,18 +14267,20 @@ function WriteAddressFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
14257
14267
|
i0.ɵɵtext(2);
|
|
14258
14268
|
i0.ɵɵpipe(3, "ccdFieldLabel");
|
|
14259
14269
|
i0.ɵɵelementEnd();
|
|
14260
|
-
i0.ɵɵtemplate(4,
|
|
14270
|
+
i0.ɵɵtemplate(4, WriteAddressFieldComponent_div_1_span_4_Template, 3, 3, "span", 5)(5, WriteAddressFieldComponent_div_1_div_5_Template, 10, 18, "div", 6)(6, WriteAddressFieldComponent_div_1_div_6_Template, 10, 13, "div", 7)(7, WriteAddressFieldComponent_div_1_a_7_Template, 3, 3, "a", 8);
|
|
14261
14271
|
i0.ɵɵelementEnd();
|
|
14262
14272
|
} if (rf & 2) {
|
|
14263
|
-
const
|
|
14273
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
14264
14274
|
i0.ɵɵadvance(2);
|
|
14265
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3,
|
|
14275
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, ctx_r0.caseField));
|
|
14266
14276
|
i0.ɵɵadvance(2);
|
|
14267
|
-
i0.ɵɵproperty("ngIf",
|
|
14277
|
+
i0.ɵɵproperty("ngIf", ctx_r0.caseField.hint_text);
|
|
14278
|
+
i0.ɵɵadvance();
|
|
14279
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.isExpanded);
|
|
14268
14280
|
i0.ɵɵadvance();
|
|
14269
|
-
i0.ɵɵproperty("ngIf",
|
|
14281
|
+
i0.ɵɵproperty("ngIf", ctx_r0.addressOptions);
|
|
14270
14282
|
i0.ɵɵadvance();
|
|
14271
|
-
i0.ɵɵproperty("ngIf", !
|
|
14283
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.shouldShowDetailFields());
|
|
14272
14284
|
} }
|
|
14273
14285
|
class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
14274
14286
|
isCompoundPipe;
|
|
@@ -14402,9 +14414,9 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14402
14414
|
let _t;
|
|
14403
14415
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.writeComplexFieldComponent = _t.first);
|
|
14404
14416
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.focusElementDirectives = _t);
|
|
14405
|
-
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 4, vars: 9, consts: [["writeComplexFieldComponent", ""], [1, "form-group", 3, "id"], [4, "ngIf"], [3, "hidden", "caseField", "renderLabel", "parent", "formGroup", "ignoreMandatory", "idPrefix"], [1, "heading-h2"], ["class", "form-group bottom-30 postcodeLookup", 3, "id", "ngClass", 4, "ngIf"], ["class", "form-group", "id", "selectAddress", 3, "ngClass", 4, "ngIf"], ["class", "manual-link bottom-30", "href", "#", 3, "click", 4, "ngIf"], [1, "form-group", "bottom-30", "postcodeLookup", 3, "id", "ngClass"], [3, "for"], [1, "form-label"], ["class", "error-message", 4, "ngIf"], ["type", "text", "name", "postcode", 1, "form-control", "postcodeinput", "inline-block", 3, "ngClass", "id", "formControl"], ["type", "button", 1, "button", "button-30", 3, "click", "disabled"], [1, "error-message"], ["id", "selectAddress", 1, "form-group", 3, "ngClass"], ["name", "address", "focusElement", "", 1, "form-control", "ccd-dropdown", "addressList", 3, "change", "id", "formControl"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "#", 1, "manual-link", "bottom-30", 3, "click"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14417
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 4, vars: 9, consts: [["writeComplexFieldComponent", ""], [1, "form-group", 3, "id"], [4, "ngIf"], [3, "hidden", "caseField", "renderLabel", "parent", "formGroup", "ignoreMandatory", "idPrefix"], [1, "heading-h2"], ["class", "form-hint", 4, "ngIf"], ["class", "form-group bottom-30 postcodeLookup", 3, "id", "ngClass", 4, "ngIf"], ["class", "form-group", "id", "selectAddress", 3, "ngClass", 4, "ngIf"], ["class", "manual-link bottom-30", "href", "#", 3, "click", 4, "ngIf"], [1, "form-hint"], [3, "content"], [1, "form-group", "bottom-30", "postcodeLookup", 3, "id", "ngClass"], [3, "for"], [1, "form-label"], ["class", "error-message", 4, "ngIf"], ["type", "text", "name", "postcode", 1, "form-control", "postcodeinput", "inline-block", 3, "ngClass", "id", "formControl"], ["type", "button", 1, "button", "button-30", 3, "click", "disabled"], [1, "error-message"], ["id", "selectAddress", 1, "form-group", 3, "ngClass"], ["name", "address", "focusElement", "", 1, "form-control", "ccd-dropdown", "addressList", 3, "change", "id", "formControl"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "#", 1, "manual-link", "bottom-30", 3, "click"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
14406
14418
|
i0.ɵɵelementStart(0, "div", 1);
|
|
14407
|
-
i0.ɵɵtemplate(1, WriteAddressFieldComponent_div_1_Template,
|
|
14419
|
+
i0.ɵɵtemplate(1, WriteAddressFieldComponent_div_1_Template, 8, 7, "div", 2);
|
|
14408
14420
|
i0.ɵɵelement(2, "ccd-write-complex-type-field", 3, 0);
|
|
14409
14421
|
i0.ɵɵelementEnd();
|
|
14410
14422
|
} if (rf & 2) {
|
|
@@ -14417,7 +14429,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
14417
14429
|
}
|
|
14418
14430
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteAddressFieldComponent, [{
|
|
14419
14431
|
type: Component,
|
|
14420
|
-
args: [{ selector: 'ccd-write-address-field', standalone: false, template: "<div class=\"form-group\" [id]=\"id()\">\n <div *ngIf=\"!isComplexWithHiddenFields()\">\n <h2 class=\"heading-h2\">{{caseField | ccdFieldLabel}}</h2>\n\n <div class=\"form-group bottom-30 postcodeLookup\" [id]=\"createElementId('postcodeLookup')\" [ngClass]=\"{'form-group-error': missingPostcode}\" *ngIf=\"!isExpanded\">\n <label [for]=\"createElementId('postcodeInput')\">\n <span class=\"form-label\">{{'Enter a UK postcode' | rpxTranslate}}</span>\n </label>\n <span class=\"error-message\" *ngIf=\"missingPostcode\">{{errorMessage | rpxTranslate}}</span>\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\"\n [id]=\"createElementId('postcodeInput')\" name=\"postcode\" class=\"form-control postcodeinput inline-block\" [formControl]=\"postcode\">\n <button type=\"button\" class=\"button button-30\" (click)=\"findAddress()\" [disabled]=\"loadingAddresses\">\n {{(loadingAddresses ? 'Finding addresses...' : 'Find address') | rpxTranslate}}\n </button>\n </div>\n\n <div class=\"form-group\" *ngIf=\"addressOptions\" id=\"selectAddress\" [ngClass]=\"{'form-group-error': noAddressSelected}\">\n <label [for]=\"createElementId('addressList')\">\n <span class=\"form-label\">{{'Select an address' | rpxTranslate}}</span>\n </label>\n <span class=\"error-message\" *ngIf=\"noAddressSelected\">{{errorMessage | rpxTranslate}}</span>\n <select class=\"form-control ccd-dropdown addressList\" [id]=\"createElementId('addressList')\" name=\"address\" [formControl]=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngIf=\"addressOptions.length === 0\" [ngValue]=\"undefined\">\n {{'No address found' | rpxTranslate}}\n </option>\n <option *ngIf=\"addressOptions.length > 0\" [ngValue]=\"undefined\">\n {{addressOptions.length}} {{(addressOptions.length === 1 ? 'address found' : 'addresses found') | rpxTranslate}}\n </option>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n\n <a class=\"manual-link bottom-30\" *ngIf=\"!shouldShowDetailFields()\" (click)=\"blankAddress(); $event.preventDefault()\" href=\"#\">\n {{\"I can't enter a UK postcode\" | rpxTranslate}}\n </a>\n </div>\n\n <ccd-write-complex-type-field\n [hidden]=\"!shouldShowDetailFields()\"\n [caseField]=\"caseField\"\n [renderLabel]=\"false\"\n [parent]=\"parent\"\n [formGroup]=\"formGroup\"\n [ignoreMandatory]=\"true\"\n [idPrefix]=\"buildIdPrefix('detail')\"\n #writeComplexFieldComponent>\n </ccd-write-complex-type-field>\n</div>\n", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline}\n"] }]
|
|
14432
|
+
args: [{ selector: 'ccd-write-address-field', standalone: false, template: "<div class=\"form-group\" [id]=\"id()\">\n <div *ngIf=\"!isComplexWithHiddenFields()\">\n <h2 class=\"heading-h2\">{{caseField | ccdFieldLabel}}</h2>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">\n <ccd-markdown [content]=\"caseField.hint_text | rpxTranslate\"></ccd-markdown>\n </span>\n\n <div class=\"form-group bottom-30 postcodeLookup\" [id]=\"createElementId('postcodeLookup')\" [ngClass]=\"{'form-group-error': missingPostcode}\" *ngIf=\"!isExpanded\">\n <label [for]=\"createElementId('postcodeInput')\">\n <span class=\"form-label\">{{'Enter a UK postcode' | rpxTranslate}}</span>\n </label>\n <span class=\"error-message\" *ngIf=\"missingPostcode\">{{errorMessage | rpxTranslate}}</span>\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\"\n [id]=\"createElementId('postcodeInput')\" name=\"postcode\" class=\"form-control postcodeinput inline-block\" [formControl]=\"postcode\">\n <button type=\"button\" class=\"button button-30\" (click)=\"findAddress()\" [disabled]=\"loadingAddresses\">\n {{(loadingAddresses ? 'Finding addresses...' : 'Find address') | rpxTranslate}}\n </button>\n </div>\n\n <div class=\"form-group\" *ngIf=\"addressOptions\" id=\"selectAddress\" [ngClass]=\"{'form-group-error': noAddressSelected}\">\n <label [for]=\"createElementId('addressList')\">\n <span class=\"form-label\">{{'Select an address' | rpxTranslate}}</span>\n </label>\n <span class=\"error-message\" *ngIf=\"noAddressSelected\">{{errorMessage | rpxTranslate}}</span>\n <select class=\"form-control ccd-dropdown addressList\" [id]=\"createElementId('addressList')\" name=\"address\" [formControl]=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngIf=\"addressOptions.length === 0\" [ngValue]=\"undefined\">\n {{'No address found' | rpxTranslate}}\n </option>\n <option *ngIf=\"addressOptions.length > 0\" [ngValue]=\"undefined\">\n {{addressOptions.length}} {{(addressOptions.length === 1 ? 'address found' : 'addresses found') | rpxTranslate}}\n </option>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n\n <a class=\"manual-link bottom-30\" *ngIf=\"!shouldShowDetailFields()\" (click)=\"blankAddress(); $event.preventDefault()\" href=\"#\">\n {{\"I can't enter a UK postcode\" | rpxTranslate}}\n </a>\n </div>\n\n <ccd-write-complex-type-field\n [hidden]=\"!shouldShowDetailFields()\"\n [caseField]=\"caseField\"\n [renderLabel]=\"false\"\n [parent]=\"parent\"\n [formGroup]=\"formGroup\"\n [ignoreMandatory]=\"true\"\n [idPrefix]=\"buildIdPrefix('detail')\"\n #writeComplexFieldComponent>\n </ccd-write-complex-type-field>\n</div>\n", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline}\n"] }]
|
|
14421
14433
|
}], () => [{ type: AddressesService }, { type: IsCompoundPipe }], { writeComplexFieldComponent: [{
|
|
14422
14434
|
type: ViewChild,
|
|
14423
14435
|
args: ['writeComplexFieldComponent', { static: false }]
|
|
@@ -26378,8 +26390,10 @@ function sanitiseRichTextHtml(value) {
|
|
|
26378
26390
|
}
|
|
26379
26391
|
|
|
26380
26392
|
class ReadRichTextAreaFieldComponent extends AbstractFieldReadComponent {
|
|
26381
|
-
|
|
26393
|
+
sanitizer;
|
|
26394
|
+
constructor(sanitizer) {
|
|
26382
26395
|
super();
|
|
26396
|
+
this.sanitizer = sanitizer;
|
|
26383
26397
|
}
|
|
26384
26398
|
sanitisedValue() {
|
|
26385
26399
|
const supportedHtml = sanitiseRichTextHtml(this.caseField.value || '');
|
|
@@ -26390,12 +26404,9 @@ class ReadRichTextAreaFieldComponent extends AbstractFieldReadComponent {
|
|
|
26390
26404
|
delete element.dataset.indent;
|
|
26391
26405
|
element.classList.add(`ccd-rich-text-indent-${indent}`);
|
|
26392
26406
|
});
|
|
26393
|
-
return
|
|
26394
|
-
ALLOWED_ATTR: ['align', 'class', 'start', 'type'],
|
|
26395
|
-
ALLOWED_TAGS: ['b', 'blockquote', 'br', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'li', 'ol', 'p', 'strong', 'u', 'ul']
|
|
26396
|
-
});
|
|
26407
|
+
return this.sanitizer.sanitize(SecurityContext.HTML, documentElement.body.innerHTML) || '';
|
|
26397
26408
|
}
|
|
26398
|
-
static ɵfac = function ReadRichTextAreaFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadRichTextAreaFieldComponent)(); };
|
|
26409
|
+
static ɵfac = function ReadRichTextAreaFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadRichTextAreaFieldComponent)(i0.ɵɵdirectiveInject(i1$5.DomSanitizer)); };
|
|
26399
26410
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadRichTextAreaFieldComponent, selectors: [["ccd-read-rich-text-area-field"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[1, "ccd-rich-text-area-read", 3, "innerHTML"]], template: function ReadRichTextAreaFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26400
26411
|
i0.ɵɵelement(0, "div", 0);
|
|
26401
26412
|
} if (rf & 2) {
|
|
@@ -26404,8 +26415,8 @@ class ReadRichTextAreaFieldComponent extends AbstractFieldReadComponent {
|
|
|
26404
26415
|
}
|
|
26405
26416
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadRichTextAreaFieldComponent, [{
|
|
26406
26417
|
type: Component,
|
|
26407
|
-
args: [{ selector: 'ccd-read-rich-text-area-field', template:
|
|
26408
|
-
}], () => [], null); })();
|
|
26418
|
+
args: [{ selector: 'ccd-read-rich-text-area-field', template: `<div class="ccd-rich-text-area-read" [innerHTML]="sanitisedValue()"></div>`, encapsulation: ViewEncapsulation.None, standalone: false, styles: ["@charset \"UTF-8\";.ccd-rich-text-area-read{font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal}.ccd-rich-text-area-read strong,.ccd-rich-text-area-read strong *,.ccd-rich-text-area-read b,.ccd-rich-text-area-read b *{font-weight:700}.ccd-rich-text-area-read strong u,.ccd-rich-text-area-read u strong,.ccd-rich-text-area-read b u,.ccd-rich-text-area-read u b{font-weight:700!important;text-decoration:underline}.ccd-rich-text-area-read p,.ccd-rich-text-area-read ul,.ccd-rich-text-area-read ol,.ccd-rich-text-area-read li{font-size:14px;margin-top:0;overflow-wrap:anywhere;word-break:normal}.ccd-rich-text-area-read p:empty:before{content:\"\\a0\"}.ccd-rich-text-area-read ul{list-style:disc outside;padding-left:25px}.ccd-rich-text-area-read ol{list-style:decimal outside;padding-left:25px}.ccd-rich-text-area-read ol[type=a]{list-style-type:lower-alpha}.ccd-rich-text-area-read ol[type=i]{list-style-type:lower-roman}.ccd-rich-text-area-read ol[type=i]>li::marker{content:\"(\" counter(list-item,lower-roman) \") \"}.ccd-rich-text-area-read li{display:list-item;margin-bottom:5px}.ccd-rich-text-area-read li>p{margin:0}.ccd-rich-text-area-read li>ul,.ccd-rich-text-area-read li>ol{margin-top:5px}.ccd-rich-text-area-read h1{font-size:20px;font-weight:700}.ccd-rich-text-area-read h2{font-size:18px;font-weight:700}.ccd-rich-text-area-read h3{font-size:16px;font-weight:700}.ccd-rich-text-area-read .ccd-rich-text-indent-1{margin-left:40px}.ccd-rich-text-area-read .ccd-rich-text-indent-2{margin-left:80px}.ccd-rich-text-area-read .ccd-rich-text-indent-3{margin-left:120px}.ccd-rich-text-area-read .ccd-rich-text-indent-4{margin-left:160px}.ccd-rich-text-area-read .ccd-rich-text-indent-5{margin-left:200px}.ccd-rich-text-area-read .ccd-rich-text-indent-6{margin-left:240px}\n"] }]
|
|
26419
|
+
}], () => [{ type: i1$5.DomSanitizer }], null); })();
|
|
26409
26420
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadRichTextAreaFieldComponent, { className: "ReadRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/read-rich-text-area-field.component.ts", lineNumber: 13 }); })();
|
|
26410
26421
|
|
|
26411
26422
|
const _c0$D = ["editorHost"];
|
|
@@ -26579,6 +26590,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
26579
26590
|
},
|
|
26580
26591
|
plugins: [
|
|
26581
26592
|
new Plugin({
|
|
26593
|
+
appendTransaction: (transactions, oldState, newState) => this.renumberContinuedOrderedLists(transactions, oldState, newState),
|
|
26582
26594
|
props: {
|
|
26583
26595
|
handlePaste: (_view, event) => this.handleEditorPaste(event),
|
|
26584
26596
|
handleDOMEvents: {
|
|
@@ -27062,6 +27074,71 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
27062
27074
|
? candidateOrder === adjacentOrder + adjacentList.childCount
|
|
27063
27075
|
: candidateOrder + candidateList.childCount === adjacentOrder;
|
|
27064
27076
|
}
|
|
27077
|
+
renumberContinuedOrderedLists(transactions, oldState, newState) {
|
|
27078
|
+
if (!transactions.some((transaction) => transaction.docChanged)) {
|
|
27079
|
+
return null;
|
|
27080
|
+
}
|
|
27081
|
+
const oldChildren = [];
|
|
27082
|
+
let oldPosition = 0;
|
|
27083
|
+
oldState.doc.forEach((node) => {
|
|
27084
|
+
oldChildren.push({ node, position: oldPosition });
|
|
27085
|
+
oldPosition += node.nodeSize;
|
|
27086
|
+
});
|
|
27087
|
+
const mapPosition = (position) => transactions.reduce((mappedPosition, transaction) => transaction.mapping.map(mappedPosition, 1), position);
|
|
27088
|
+
const effectiveOrders = new Map();
|
|
27089
|
+
let result = null;
|
|
27090
|
+
oldChildren.forEach(({ node: candidate, position: candidatePosition }, candidateIndex) => {
|
|
27091
|
+
if (candidate.type.name !== 'ordered_list') {
|
|
27092
|
+
return;
|
|
27093
|
+
}
|
|
27094
|
+
let previousIndex = candidateIndex - 1;
|
|
27095
|
+
while (previousIndex >= 0 &&
|
|
27096
|
+
this.isOrderedListContinuationSeparator(oldChildren[previousIndex].node, candidate)) {
|
|
27097
|
+
previousIndex--;
|
|
27098
|
+
}
|
|
27099
|
+
if (previousIndex < 0) {
|
|
27100
|
+
return;
|
|
27101
|
+
}
|
|
27102
|
+
const previous = oldChildren[previousIndex].node;
|
|
27103
|
+
const previousPosition = oldChildren[previousIndex].position;
|
|
27104
|
+
if (previous.type.name !== 'ordered_list' ||
|
|
27105
|
+
!this.hasMatchingListType(candidate, previous) ||
|
|
27106
|
+
candidate.attrs.indent !== previous.attrs.indent ||
|
|
27107
|
+
!this.isSequentialList(candidate, previous, 1)) {
|
|
27108
|
+
return;
|
|
27109
|
+
}
|
|
27110
|
+
const mappedPreviousPosition = mapPosition(previousPosition);
|
|
27111
|
+
const mappedCandidatePosition = mapPosition(candidatePosition);
|
|
27112
|
+
const newPrevious = newState.doc.nodeAt(mappedPreviousPosition);
|
|
27113
|
+
const newCandidate = newState.doc.nodeAt(mappedCandidatePosition);
|
|
27114
|
+
if (!newPrevious || !newCandidate ||
|
|
27115
|
+
newPrevious.type.name !== 'ordered_list' || newCandidate.type.name !== 'ordered_list' ||
|
|
27116
|
+
newPrevious.firstChild?.textContent !== previous.firstChild?.textContent ||
|
|
27117
|
+
newCandidate.firstChild?.textContent !== candidate.firstChild?.textContent ||
|
|
27118
|
+
!this.hasMatchingListType(newCandidate, newPrevious) ||
|
|
27119
|
+
newCandidate.attrs.indent !== newPrevious.attrs.indent) {
|
|
27120
|
+
return;
|
|
27121
|
+
}
|
|
27122
|
+
const previousOrder = effectiveOrders.get(previousPosition) ?? (Number(newPrevious.attrs.order) || 1);
|
|
27123
|
+
const expectedOrder = previousOrder + newPrevious.childCount;
|
|
27124
|
+
effectiveOrders.set(candidatePosition, expectedOrder);
|
|
27125
|
+
if (Number(newCandidate.attrs.order) === expectedOrder) {
|
|
27126
|
+
return;
|
|
27127
|
+
}
|
|
27128
|
+
result = (result || newState.tr).setNodeMarkup(mappedCandidatePosition, newCandidate.type, {
|
|
27129
|
+
...newCandidate.attrs,
|
|
27130
|
+
order: expectedOrder
|
|
27131
|
+
});
|
|
27132
|
+
});
|
|
27133
|
+
return result;
|
|
27134
|
+
}
|
|
27135
|
+
isOrderedListContinuationSeparator(node, candidate) {
|
|
27136
|
+
if (this.isEmptyParagraph(node) || this.isListSectionHeading(node)) {
|
|
27137
|
+
return true;
|
|
27138
|
+
}
|
|
27139
|
+
return this.isList(node) &&
|
|
27140
|
+
(Number(node.attrs.indent) || 0) > (Number(candidate.attrs.indent) || 0);
|
|
27141
|
+
}
|
|
27065
27142
|
hasListContinuation(list) {
|
|
27066
27143
|
return list.type.name === 'ordered_list' || Boolean(list.attrs.continuationOrder);
|
|
27067
27144
|
}
|
|
@@ -27327,7 +27404,10 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
27327
27404
|
this.removeUnsupportedMarkup(documentElement);
|
|
27328
27405
|
this.normaliseDateRangeSpacing(documentElement);
|
|
27329
27406
|
this.removeUnsupportedAttributes(documentElement);
|
|
27330
|
-
|
|
27407
|
+
const sanitisedValue = sanitiseRichTextDocument(documentElement);
|
|
27408
|
+
return this.hasMeaningfulRichTextContent(documentElement)
|
|
27409
|
+
? this.normalisePlainTextValue(sanitisedValue)
|
|
27410
|
+
: '';
|
|
27331
27411
|
}
|
|
27332
27412
|
normaliseRichTextValue(value) {
|
|
27333
27413
|
if (!value) {
|
|
@@ -27345,7 +27425,15 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
27345
27425
|
this.removeUnsupportedMarkup(documentElement);
|
|
27346
27426
|
this.normaliseDateRangeSpacing(documentElement);
|
|
27347
27427
|
this.removeUnsupportedAttributes(documentElement);
|
|
27348
|
-
|
|
27428
|
+
const sanitisedValue = sanitiseRichTextDocument(documentElement);
|
|
27429
|
+
return this.hasMeaningfulRichTextContent(documentElement)
|
|
27430
|
+
? this.normalisePlainTextValue(sanitisedValue)
|
|
27431
|
+
: '';
|
|
27432
|
+
}
|
|
27433
|
+
hasMeaningfulRichTextContent(documentElement) {
|
|
27434
|
+
const visibleText = (documentElement.body.textContent || '')
|
|
27435
|
+
.replace(/[\s\u00a0\u200b-\u200d\ufeff]/g, '');
|
|
27436
|
+
return visibleText.length > 0 || Boolean(documentElement.body.querySelector('hr'));
|
|
27349
27437
|
}
|
|
27350
27438
|
syncAccessibilityLater() {
|
|
27351
27439
|
setTimeout(() => this.syncAccessibilityState());
|
|
@@ -27458,13 +27546,31 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
27458
27546
|
}
|
|
27459
27547
|
this.isNormalisingValue = true;
|
|
27460
27548
|
try {
|
|
27461
|
-
this.richTextAreaControl.setValue(normalisedValue, {
|
|
27462
|
-
|
|
27549
|
+
this.richTextAreaControl.setValue(normalisedValue, {
|
|
27550
|
+
emitEvent: false,
|
|
27551
|
+
emitModelToViewChange: false
|
|
27552
|
+
});
|
|
27553
|
+
if (normalisedValue || this.editorHasMeaningfulRichTextContent()) {
|
|
27554
|
+
this.editor.setContent(normalisedValue || '');
|
|
27555
|
+
}
|
|
27463
27556
|
}
|
|
27464
27557
|
finally {
|
|
27465
27558
|
this.isNormalisingValue = false;
|
|
27466
27559
|
}
|
|
27467
27560
|
}
|
|
27561
|
+
editorHasMeaningfulRichTextContent() {
|
|
27562
|
+
const documentNode = this.editor.view.state.doc;
|
|
27563
|
+
const visibleText = documentNode.textContent.replace(/[\s\u00a0\u200b-\u200d\ufeff]/g, '');
|
|
27564
|
+
let hasHorizontalRule = false;
|
|
27565
|
+
documentNode.descendants((node) => {
|
|
27566
|
+
if (node.type.name === 'horizontal_rule') {
|
|
27567
|
+
hasHorizontalRule = true;
|
|
27568
|
+
return false;
|
|
27569
|
+
}
|
|
27570
|
+
return !hasHorizontalRule;
|
|
27571
|
+
});
|
|
27572
|
+
return visibleText.length > 0 || hasHorizontalRule;
|
|
27573
|
+
}
|
|
27468
27574
|
richTextRequiredValidator() {
|
|
27469
27575
|
return (control) => {
|
|
27470
27576
|
const textValue = this.htmlToText(control.value);
|
|
@@ -27478,8 +27584,9 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
27478
27584
|
};
|
|
27479
27585
|
}
|
|
27480
27586
|
htmlToText(value) {
|
|
27481
|
-
const
|
|
27482
|
-
|
|
27587
|
+
const container = document.createElement('div');
|
|
27588
|
+
container.innerHTML = value || '';
|
|
27589
|
+
return (container.textContent || '').replaceAll('\u00a0', ' ').trim();
|
|
27483
27590
|
}
|
|
27484
27591
|
isWordHtml(html) {
|
|
27485
27592
|
return /(class="?Mso|mso-|urn:schemas-microsoft-com:office:word|xmlns:o)/i.test(html);
|
|
@@ -28114,7 +28221,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28114
28221
|
}
|
|
28115
28222
|
return value
|
|
28116
28223
|
.replace(/!?\[([^\]]{0,500})\]\(([^)]{0,500})\)/g, (_match, text, url) => text || url)
|
|
28117
|
-
.replace(/!?\[((?:[^[\]\\]|\\.){0,500})\]\
|
|
28224
|
+
.replace(/!?\[((?:[^[\]\\]|\\.){0,500})\]\[[^\]]{0,100}\](?!\s*\/)/g, '$1');
|
|
28118
28225
|
}
|
|
28119
28226
|
unwrapElement(element) {
|
|
28120
28227
|
const parentNode = element.parentNode;
|
|
@@ -28133,6 +28240,8 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28133
28240
|
const state = {
|
|
28134
28241
|
listStack: [],
|
|
28135
28242
|
listParents: [],
|
|
28243
|
+
listRunDeclaredLevel: null,
|
|
28244
|
+
listRunVisualLevel: null,
|
|
28136
28245
|
resetListLevels: new Map(),
|
|
28137
28246
|
previousListId: null
|
|
28138
28247
|
};
|
|
@@ -28161,12 +28270,19 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28161
28270
|
resetWordListConversionState(state) {
|
|
28162
28271
|
state.listStack.length = 0;
|
|
28163
28272
|
state.listParents.length = 0;
|
|
28273
|
+
state.listRunDeclaredLevel = null;
|
|
28274
|
+
state.listRunVisualLevel = null;
|
|
28164
28275
|
state.resetListLevels.clear();
|
|
28165
28276
|
state.previousListId = null;
|
|
28166
28277
|
}
|
|
28167
28278
|
wordListRequestedLevel(paragraph, listId, wordListIndents, state) {
|
|
28168
28279
|
const declaredLevel = this.wordListDeclaredLevel(paragraph);
|
|
28169
|
-
|
|
28280
|
+
const visualLevel = this.wordListVisualLevel(paragraph, wordListIndents);
|
|
28281
|
+
if (state.listRunDeclaredLevel === null || state.listRunVisualLevel === null) {
|
|
28282
|
+
state.listRunDeclaredLevel = declaredLevel;
|
|
28283
|
+
state.listRunVisualLevel = visualLevel;
|
|
28284
|
+
}
|
|
28285
|
+
let requestedLevel = Math.max(1, declaredLevel - state.listRunDeclaredLevel + 1, visualLevel - state.listRunVisualLevel + 1);
|
|
28170
28286
|
const rememberedResetLevel = declaredLevel === 1 ? state.resetListLevels.get(listId) : null;
|
|
28171
28287
|
if (rememberedResetLevel) {
|
|
28172
28288
|
return Math.max(requestedLevel, rememberedResetLevel);
|
|
@@ -28187,7 +28303,8 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28187
28303
|
let currentList = state.listStack[stackIndex];
|
|
28188
28304
|
if (currentList?.tagName.toLowerCase() !== listType || currentList?.getAttribute('type') !== orderedListType ||
|
|
28189
28305
|
state.listParents[stackIndex] !== listParent) {
|
|
28190
|
-
|
|
28306
|
+
const rootIndent = level === 1 ? state.listRunVisualLevel - 1 : 0;
|
|
28307
|
+
currentList = this.createWordList(documentElement, paragraph, listType, orderedListType, parentListItem, rootIndent);
|
|
28191
28308
|
state.listStack[stackIndex] = currentList;
|
|
28192
28309
|
state.listParents[stackIndex] = listParent;
|
|
28193
28310
|
}
|
|
@@ -28195,15 +28312,18 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28195
28312
|
state.listParents.length = level;
|
|
28196
28313
|
return currentList;
|
|
28197
28314
|
}
|
|
28198
|
-
createWordList(documentElement, paragraph, listType, orderedListType, parentListItem) {
|
|
28315
|
+
createWordList(documentElement, paragraph, listType, orderedListType, parentListItem, rootIndent) {
|
|
28199
28316
|
const list = documentElement.createElement(listType);
|
|
28200
|
-
const listStart = this.wordListStart(paragraph);
|
|
28317
|
+
const listStart = this.wordListStart(paragraph, orderedListType);
|
|
28201
28318
|
if (listType === 'ol' && listStart > 1) {
|
|
28202
28319
|
list.setAttribute('start', listStart.toString());
|
|
28203
28320
|
}
|
|
28204
28321
|
if (orderedListType) {
|
|
28205
28322
|
list.setAttribute('type', orderedListType);
|
|
28206
28323
|
}
|
|
28324
|
+
if (rootIndent > 0) {
|
|
28325
|
+
list.dataset.indent = Math.min(6, rootIndent).toString();
|
|
28326
|
+
}
|
|
28207
28327
|
if (parentListItem) {
|
|
28208
28328
|
parentListItem.appendChild(list);
|
|
28209
28329
|
}
|
|
@@ -28262,11 +28382,10 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28262
28382
|
.find((element) => /mso-list:\s*Ignore/i.test(element.getAttribute('style') || ''));
|
|
28263
28383
|
return (markerElement ? markerElement.textContent : paragraph.textContent).trim();
|
|
28264
28384
|
}
|
|
28265
|
-
|
|
28266
|
-
const declaredLevel = this.wordListDeclaredLevel(paragraph);
|
|
28385
|
+
wordListVisualLevel(paragraph, wordListIndents) {
|
|
28267
28386
|
const indent = this.wordListIndent(paragraph);
|
|
28268
28387
|
const visualLevel = wordListIndents.indexOf(indent) + 1;
|
|
28269
|
-
return
|
|
28388
|
+
return visualLevel || 1;
|
|
28270
28389
|
}
|
|
28271
28390
|
wordListDeclaredLevel(paragraph) {
|
|
28272
28391
|
const match = (paragraph.getAttribute('style') || '').match(/mso-list:[^;]*\blevel(\d+)/i);
|
|
@@ -28287,9 +28406,18 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
28287
28406
|
const indent = Math.max(this.cssLengthToPixels(this.cssStyleLength(style, 'margin-left')), this.cssLengthToPixels(this.cssStyleLength(style, 'margin-inline-start')), this.cssLengthToPixels(this.cssStyleLength(style, 'mso-para-margin-left')), this.cssLengthToPixels(this.cssStyleLength(style, 'mso-margin-left-alt')), this.cssLengthToPixels(this.cssMarginLeftLength(style)));
|
|
28288
28407
|
return Math.round(indent);
|
|
28289
28408
|
}
|
|
28290
|
-
wordListStart(paragraph) {
|
|
28291
|
-
const match =
|
|
28292
|
-
|
|
28409
|
+
wordListStart(paragraph, orderedListType) {
|
|
28410
|
+
const match = /^\(?([a-z]+|\d+)[.)]/i.exec(this.wordListMarker(paragraph));
|
|
28411
|
+
if (!match) {
|
|
28412
|
+
return 1;
|
|
28413
|
+
}
|
|
28414
|
+
if (/^\d+$/.test(match[1])) {
|
|
28415
|
+
return Number(match[1]);
|
|
28416
|
+
}
|
|
28417
|
+
if (orderedListType === 'a') {
|
|
28418
|
+
return match[1].toLowerCase().split('').reduce((start, character) => (start * 26) + character.charCodeAt(0) - 96, 0);
|
|
28419
|
+
}
|
|
28420
|
+
return 1;
|
|
28293
28421
|
}
|
|
28294
28422
|
copyListItemContents(documentElement, paragraph, listItem) {
|
|
28295
28423
|
Array.prototype.slice.call(paragraph.childNodes).forEach((childNode) => {
|
|
@@ -29008,7 +29136,7 @@ class WriteRichTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
29008
29136
|
type: ViewChild,
|
|
29009
29137
|
args: ['editorHost']
|
|
29010
29138
|
}] }); })();
|
|
29011
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteRichTextAreaFieldComponent, { className: "WriteRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/write-rich-text-area-field.component.ts", lineNumber:
|
|
29139
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteRichTextAreaFieldComponent, { className: "WriteRichTextAreaFieldComponent", filePath: "lib/shared/components/palette/rich-text-area/write-rich-text-area-field.component.ts", lineNumber: 139 }); })();
|
|
29012
29140
|
|
|
29013
29141
|
class ReadTextFieldComponent extends AbstractFieldReadComponent {
|
|
29014
29142
|
static ɵfac = /*@__PURE__*/ (() => { let ɵReadTextFieldComponent_BaseFactory; return function ReadTextFieldComponent_Factory(__ngFactoryType__) { return (ɵReadTextFieldComponent_BaseFactory || (ɵReadTextFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadTextFieldComponent)))(__ngFactoryType__ || ReadTextFieldComponent); }; })();
|
|
@@ -31438,6 +31566,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
31438
31566
|
i0.ɵɵproperty("for", i0.ɵɵinterpolate1("flag-selection-", i_r4))("innerHTML", ctx_r0.sanitizeHtml(i0.ɵɵpipeBind1(3, 6, flagDisplay_r3)), i0.ɵɵsanitizeHtml);
|
|
31439
31567
|
} }
|
|
31440
31568
|
class ManageCaseFlagsComponent extends AbstractJourneyComponent {
|
|
31569
|
+
sanitizer;
|
|
31441
31570
|
formGroup;
|
|
31442
31571
|
flagsData;
|
|
31443
31572
|
caseTitle;
|
|
@@ -31452,8 +31581,9 @@ class ManageCaseFlagsComponent extends AbstractJourneyComponent {
|
|
|
31452
31581
|
selectedControlName = 'selectedManageCaseLocation';
|
|
31453
31582
|
excludedFlagStatuses = [CaseFlagStatus.INACTIVE, CaseFlagStatus.NOT_APPROVED];
|
|
31454
31583
|
cachedControls;
|
|
31455
|
-
constructor(multipageComponentStateService) {
|
|
31584
|
+
constructor(multipageComponentStateService, sanitizer) {
|
|
31456
31585
|
super(multipageComponentStateService);
|
|
31586
|
+
this.sanitizer = sanitizer;
|
|
31457
31587
|
}
|
|
31458
31588
|
ngOnInit() {
|
|
31459
31589
|
this.manageCaseFlagTitle = this.setManageCaseFlagTitle(this.displayContextParameter);
|
|
@@ -31703,9 +31833,9 @@ class ManageCaseFlagsComponent extends AbstractJourneyComponent {
|
|
|
31703
31833
|
}
|
|
31704
31834
|
// Ensure there is no dangerous HTML in the flag name or description that could lead to XSS vulnerabilities
|
|
31705
31835
|
sanitizeHtml(content) {
|
|
31706
|
-
return
|
|
31836
|
+
return this.sanitizer.sanitize(SecurityContext.HTML, content ?? '') ?? '';
|
|
31707
31837
|
}
|
|
31708
|
-
static ɵfac = function ManageCaseFlagsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ManageCaseFlagsComponent)(i0.ɵɵdirectiveInject(MultipageComponentStateService)); };
|
|
31838
|
+
static ɵfac = function ManageCaseFlagsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ManageCaseFlagsComponent)(i0.ɵɵdirectiveInject(MultipageComponentStateService), i0.ɵɵdirectiveInject(i1$5.DomSanitizer)); };
|
|
31709
31839
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 9, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "change", "id", "checked"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHTML"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
31710
31840
|
i0.ɵɵelementContainerStart(0, 0);
|
|
31711
31841
|
i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
|
|
@@ -31732,7 +31862,7 @@ class ManageCaseFlagsComponent extends AbstractJourneyComponent {
|
|
|
31732
31862
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageCaseFlagsComponent, [{
|
|
31733
31863
|
type: Component,
|
|
31734
31864
|
args: [{ selector: 'ccd-manage-case-flags', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"manage-case-flag-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"manage-case-flag-heading\" class=\"govuk-fieldset__heading\">\n {{manageCaseFlagTitle | rpxTranslate}}\n </h1>\n </legend>\n <div id=\"manage-case-flag-not-selected-error-message\" class=\"govuk-error-message\"\n *ngIf=\"manageCaseFlagSelectedErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{manageCaseFlagSelectedErrorMessage | rpxTranslate}}\n </div>\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let flagDisplay of flagsDisplayData; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-selection-{{i}}\"\n type=\"radio\"\n [checked]=\"isSelected(flagDisplay)\"\n (change)=\"onFlagSelectionChange(flagDisplay)\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-selection-{{i}}\" [innerHTML]=\"sanitizeHtml(flagDisplay | manageCaseFlagsLabelDisplay)\"></label>\n </div>\n </div>\n </fieldset>\n </div>\n</ng-container>", styles: [".flag-name-and-description{font-weight:700}\n"] }]
|
|
31735
|
-
}], () => [{ type: MultipageComponentStateService }], { formGroup: [{
|
|
31865
|
+
}], () => [{ type: MultipageComponentStateService }, { type: i1$5.DomSanitizer }], { formGroup: [{
|
|
31736
31866
|
type: Input
|
|
31737
31867
|
}], flagsData: [{
|
|
31738
31868
|
type: Input
|
|
@@ -34107,7 +34237,6 @@ function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (
|
|
|
34107
34237
|
i0.ɵɵelementStart(4, "a", 9);
|
|
34108
34238
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
34109
34239
|
i0.ɵɵlistener("click", function ReadComplexFieldCollectionTableComponent_th_10_Template_a_click_4_listener($event) { const heading_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.sortRowsByColumns(heading_r2); return i0.ɵɵresetView($event.preventDefault()); })("keyup.enter", function ReadComplexFieldCollectionTableComponent_th_10_Template_a_keyup_enter_4_listener() { const heading_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sortRowsByColumns(heading_r2)); });
|
|
34110
|
-
i0.ɵɵtext(6);
|
|
34111
34240
|
i0.ɵɵelementEnd()();
|
|
34112
34241
|
} if (rf & 2) {
|
|
34113
34242
|
const heading_r2 = ctx.$implicit;
|
|
@@ -34115,9 +34244,8 @@ function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (
|
|
|
34115
34244
|
i0.ɵɵadvance(2);
|
|
34116
34245
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, ctx_r2.columnsAllLabels[heading_r2].label));
|
|
34117
34246
|
i0.ɵɵadvance(2);
|
|
34247
|
+
i0.ɵɵproperty("innerHTML", ctx_r2.sortWidget(ctx_r2.columnsAllLabels[heading_r2]), i0.ɵɵsanitizeHtml);
|
|
34118
34248
|
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(5, 5, "Sort " + ctx_r2.columnsAllLabels[heading_r2].label));
|
|
34119
|
-
i0.ɵɵadvance(2);
|
|
34120
|
-
i0.ɵɵtextInterpolate(ctx_r2.sortWidget(ctx_r2.columnsAllLabels[heading_r2]));
|
|
34121
34249
|
} }
|
|
34122
34250
|
function ReadComplexFieldCollectionTableComponent_ng_container_12_ng_container_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
34123
34251
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -34327,11 +34455,15 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34327
34455
|
if (this.isHidden[row]) {
|
|
34328
34456
|
return 'assets/img/accordion-plus.png';
|
|
34329
34457
|
}
|
|
34330
|
-
|
|
34331
|
-
|
|
34458
|
+
else {
|
|
34459
|
+
if (this.isVerticleDataNotEmpty(row)) {
|
|
34460
|
+
return 'assets/img/accordion-minus.png';
|
|
34461
|
+
}
|
|
34462
|
+
else {
|
|
34463
|
+
this.isHidden[row] = true;
|
|
34464
|
+
return 'assets/img/accordion-plus.png';
|
|
34465
|
+
}
|
|
34332
34466
|
}
|
|
34333
|
-
this.isHidden[row] = true;
|
|
34334
|
-
return 'assets/img/accordion-plus.png';
|
|
34335
34467
|
}
|
|
34336
34468
|
/**
|
|
34337
34469
|
* Needs to be called before 'ccdFieldsFilter' pipe is used, as it needs a caseField value.
|
|
@@ -34356,7 +34488,7 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34356
34488
|
field_type: fieldType
|
|
34357
34489
|
});
|
|
34358
34490
|
}
|
|
34359
|
-
keepOriginalOrder = (a) => a.key;
|
|
34491
|
+
keepOriginalOrder = (a, b) => a.key;
|
|
34360
34492
|
sortRowsByColumns(column) {
|
|
34361
34493
|
const shouldSortInAscendingOrder = this.columnsHorizontalLabel[column].sortOrder === SortOrder$1.UNSORTED
|
|
34362
34494
|
|| this.columnsHorizontalLabel[column].sortOrder === SortOrder$1.DESCENDING;
|
|
@@ -34399,7 +34531,7 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34399
34531
|
}
|
|
34400
34532
|
}
|
|
34401
34533
|
sortWidget(column) {
|
|
34402
|
-
return
|
|
34534
|
+
return ReadComplexFieldCollectionTableComponent.isSortAscending(column) ? '▼' : '▲';
|
|
34403
34535
|
}
|
|
34404
34536
|
populateHorizontalLabels(labelsHorizontal, allLabels, labelsVertical) {
|
|
34405
34537
|
for (const id of this.columns) {
|
|
@@ -34443,7 +34575,7 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34443
34575
|
return result;
|
|
34444
34576
|
}
|
|
34445
34577
|
static ɵfac = /*@__PURE__*/ (() => { let ɵReadComplexFieldCollectionTableComponent_BaseFactory; return function ReadComplexFieldCollectionTableComponent_Factory(__ngFactoryType__) { return (ɵReadComplexFieldCollectionTableComponent_BaseFactory || (ɵReadComplexFieldCollectionTableComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldCollectionTableComponent)))(__ngFactoryType__ || ReadComplexFieldCollectionTableComponent); }; })();
|
|
34446
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadComplexFieldCollectionTableComponent, selectors: [["ccd-read-complex-field-collection-table"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 6, consts: [["showEmptyTd", ""], ["SimpleRow", ""], [1, "complex-panel", 3, "hidden"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex panel table", 1, "complex-panel-table"], ["scope", "col", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["scope", "col"], ["href", "#", 1, "sort-widget", 3, "click", "keyup.enter"], [1, "new-table-row", "accordion-heading", 3, "keyup", "click"], [2, "float", "right"], ["href", "#", 3, "click"], ["alt", "accordion-img", 1, "accordion-image", 3, "src"], [3, "hidden"], [3, "colSpan"], ["aria-describedby", "complex panel table expanded", 1, "complex-panel-table"], [4, "ngIf", "ngIfElse"], [3, "caseField", "context"], ["class", "complex-panel-simple-field accordion-body", 3, "hidden", 4, "ngIf"], [3, "hidden", 4, "ngIf"], [1, "complex-panel-simple-field", "accordion-body", 3, "hidden"], ["class", "text-16", 4, "ngIf"], ["colspan", "2"], ["class", "complex-panel-compound-field", 3, "hidden", 4, "ngIf", "ngIfElse"], [1, "complex-panel-compound-field", 3, "hidden"], [1, "complex-panel-nested-field", 3, "hidden"], [4, "ngIf"]], template: function ReadComplexFieldCollectionTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
34578
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadComplexFieldCollectionTableComponent, selectors: [["ccd-read-complex-field-collection-table"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 6, consts: [["showEmptyTd", ""], ["SimpleRow", ""], [1, "complex-panel", 3, "hidden"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex panel table", 1, "complex-panel-table"], ["scope", "col", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["scope", "col"], ["href", "#", 1, "sort-widget", 3, "click", "keyup.enter", "innerHTML"], [1, "new-table-row", "accordion-heading", 3, "keyup", "click"], [2, "float", "right"], ["href", "#", 3, "click"], ["alt", "accordion-img", 1, "accordion-image", 3, "src"], [3, "hidden"], [3, "colSpan"], ["aria-describedby", "complex panel table expanded", 1, "complex-panel-table"], [4, "ngIf", "ngIfElse"], [3, "caseField", "context"], ["class", "complex-panel-simple-field accordion-body", 3, "hidden", 4, "ngIf"], [3, "hidden", 4, "ngIf"], [1, "complex-panel-simple-field", "accordion-body", 3, "hidden"], ["class", "text-16", 4, "ngIf"], ["colspan", "2"], ["class", "complex-panel-compound-field", 3, "hidden", 4, "ngIf", "ngIfElse"], [1, "complex-panel-compound-field", 3, "hidden"], [1, "complex-panel-nested-field", 3, "hidden"], [4, "ngIf"]], template: function ReadComplexFieldCollectionTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
34447
34579
|
i0.ɵɵelementStart(0, "div", 2)(1, "dl", 3)(2, "dt")(3, "span", 4);
|
|
34448
34580
|
i0.ɵɵtext(4);
|
|
34449
34581
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
@@ -34451,7 +34583,7 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34451
34583
|
i0.ɵɵelement(6, "dd");
|
|
34452
34584
|
i0.ɵɵelementEnd();
|
|
34453
34585
|
i0.ɵɵelementStart(7, "table", 5)(8, "tbody")(9, "tr");
|
|
34454
|
-
i0.ɵɵtemplate(10, ReadComplexFieldCollectionTableComponent_th_10_Template,
|
|
34586
|
+
i0.ɵɵtemplate(10, ReadComplexFieldCollectionTableComponent_th_10_Template, 6, 7, "th", 6);
|
|
34455
34587
|
i0.ɵɵelement(11, "th");
|
|
34456
34588
|
i0.ɵɵelementEnd();
|
|
34457
34589
|
i0.ɵɵtemplate(12, ReadComplexFieldCollectionTableComponent_ng_container_12_Template, 15, 20, "ng-container", 7);
|
|
@@ -34468,7 +34600,7 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
34468
34600
|
}
|
|
34469
34601
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadComplexFieldCollectionTableComponent, [{
|
|
34470
34602
|
type: Component,
|
|
34471
|
-
args: [{ selector: 'ccd-read-complex-field-collection-table', standalone: false, template: "<div class=\"complex-panel\" [hidden]=\"caseField.hidden\">\n <dl class=\"complex-panel-title\">\n <dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt>\n <dd></dd>\n </dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table\">\n <tbody>\n <!-- <COMPLEX table field header>-->\n <tr>\n <th *ngFor=\"let heading of columns\" scope=\"col\">\n <span class=\"text-16\">{{columnsAllLabels[heading].label | rpxTranslate}}</span>\n <a href=\"#\"\n (click)=\"sortRowsByColumns(heading); $event.preventDefault()\"\n (keyup.enter)=\"sortRowsByColumns(heading)\"\n class=\"sort-widget\"\n [attr.aria-label]=\"'Sort ' + columnsAllLabels[heading].label | rpxTranslate\"\n
|
|
34603
|
+
args: [{ selector: 'ccd-read-complex-field-collection-table', standalone: false, template: "<div class=\"complex-panel\" [hidden]=\"caseField.hidden\">\n <dl class=\"complex-panel-title\">\n <dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt>\n <dd></dd>\n </dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table\">\n <tbody>\n <!-- <COMPLEX table field header>-->\n <tr>\n <th *ngFor=\"let heading of columns\" scope=\"col\">\n <span class=\"text-16\">{{columnsAllLabels[heading].label | rpxTranslate}}</span>\n <a href=\"#\"\n (click)=\"sortRowsByColumns(heading); $event.preventDefault()\"\n (keyup.enter)=\"sortRowsByColumns(heading)\"\n class=\"sort-widget\"\n [attr.aria-label]=\"'Sort ' + columnsAllLabels[heading].label | rpxTranslate\"\n [innerHTML]=\"sortWidget(columnsAllLabels[heading])\"></a>\n </th>\n <th></th>\n </tr>\n <!-- </COMPLEX table field header>-->\n <ng-container *ngFor=\"let item of rows; let i = index;\">\n <!-- <COMPLEX table collapsed view>-->\n <tr class=\"new-table-row accordion-heading\" (keyup)=\"$event.key === 'Enter' ? (isHidden[i] = !isHidden[i]) : null\" (click)=\"isHidden[i] = !isHidden[i]\"\n [class.last-accordion]=\"isHidden[i]\">\n <ng-container *ngFor=\"let heading of columns\">\n <td class=\"text-16\">\n <div *ngIf=\"item[heading]; else showEmptyTd\">\n <ccd-field-read\n [caseField]=\"toCaseField(heading, item[heading].label, columnsHorizontalLabel[heading].type, item[heading])\"\n [context]=\"context\"></ccd-field-read>\n </div>\n <ng-template #showEmptyTd>\n <div> </div>\n </ng-template>\n </td>\n </ng-container>\n <td>\n <div style=\"float: right;\">\n <a href=\"#\" (click)=\"$event.preventDefault()\"> <img src=\"{{ getImage(i) }}\" alt=\"accordion-img\" class=\"accordion-image\"/></a>\n </div>\n </td>\n </tr>\n <!-- </COMPLEX table collapsed view>-->\n <!-- <COMPLEX table expanded view>-->\n <tr [hidden]=\"isHidden[i]\">\n <td [colSpan]=\"columns.length + 1\">\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table expanded\">\n <tbody>\n <ng-container\n *ngFor=\"let vLabel of columnsVerticalLabel | keyvalue: keepOriginalOrder | ccdCollectionTableCaseFieldsFilter: caseField: rows[i] | ccdReadFieldsFilter:true :undefined :true\">\n <!-- <COMPLEX table expandable body simple field>-->\n <tr class=\"complex-panel-simple-field accordion-body\" *ngIf=\"item[vLabel.id]\" [hidden]=\"vLabel.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{ vLabel.label | rpxTranslate }}</span></th>\n <td *ngIf=\"vLabel['type'] !== 'Complex'\" class=\"text-16\">\n <ccd-field-read [caseField]=\"toCaseField('', vLabel.label, vLabel.field_type, item[vLabel.id])\"\n [context]=\"context\"></ccd-field-read>\n </td>\n </tr>\n <!-- </COMPLEX table expandable body simple field>-->\n\n <!-- <COMPLEX table expandable body complex field>-->\n <tr *ngIf=\"vLabel['type'] === 'Complex' && addCaseFieldValue(vLabel, item[vLabel.id])\" [hidden]=\"vLabel.hidden\">\n <td colspan=\"2\">\n <ng-container *ngFor=\"let caseField of vLabel | ccdReadFieldsFilter:true :undefined :true\">\n <tr class=\"complex-panel-compound-field\" *ngIf=\"(caseField | ccdIsCompound); else SimpleRow\" [hidden]=\"caseField\">\n <td colspan=\"2\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n </tr>\n <ng-template #SimpleRow>\n <tr class=\"complex-panel-nested-field\" [hidden]=\"caseField.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></th>\n <td *ngIf=\"!item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n <td *ngIf=\"item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <ccd-read-case-link-field [caseField]=\"addCaseReferenceValue(caseField, item[vLabel.id].CaseReference)\" [context]=\"context\"></ccd-read-case-link-field>\n </td>\n </tr>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n <!-- <COMPLEX table expandable body complex field>-->\n </ng-container>\n </tbody>\n </table>\n </td>\n </tr>\n <!-- </COMPLEX table expanded view>-->\n </ng-container>\n </tbody>\n </table>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media(min-width:641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th{border-bottom:none}.complex-panel .complex-panel-table th{padding-left:5px;font-weight:700;border-bottom:none}.complex-panel .complex-panel-table td{padding-left:5px;padding-top:0;padding-bottom:0;border-bottom:none}.complex-panel .new-table-row{border-top:1px solid #bfc1c3}.complex-panel .complex-panel-simple-field th{padding-left:5px;padding-top:0;padding-bottom:0;width:295px}.complex-panel .complex-panel-nested-field th{padding-left:33px;padding-top:0;padding-bottom:0;width:200px}.complex-panel .complex-panel-compound-field td{padding:5px;border-bottom:none}.sort-widget{cursor:pointer;text-decoration:none;color:#0b0c0c}.accordion-wrapper{margin-bottom:20px}.accordion-wrapper .heading-medium{margin:0}.accordion-wrapper .accordion-heading{border-top:1px solid #bfc1c3;padding-top:20px;padding-bottom:10px;height:20px;cursor:pointer}.accordion-wrapper .accordion-heading .accordion-image{width:25px;margin-right:20px}.accordion-wrapper .accordion-body{margin-top:20px;margin-right:20px}.accordion-wrapper .last-accordion{border-bottom:1px solid #bfc1c3;padding-bottom:30px}\n"] }]
|
|
34472
34604
|
}], null, null); })();
|
|
34473
34605
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadComplexFieldCollectionTableComponent, { className: "ReadComplexFieldCollectionTableComponent", filePath: "lib/shared/components/palette/complex/read-complex-field-collection-table.component.ts", lineNumber: 13 }); })();
|
|
34474
34606
|
|
|
@@ -36921,7 +37053,7 @@ i0.ɵɵsetComponentScope(ReadLinkedCasesFieldComponent, function () { return [i5
|
|
|
36921
37053
|
// Components for linked cases
|
|
36922
37054
|
LinkedCasesToTableComponent,
|
|
36923
37055
|
LinkedCasesFromTableComponent]; }, []);
|
|
36924
|
-
i0.ɵɵsetComponentScope(WriteAddressFieldComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormControlDirective, i4.FormGroupDirective, WriteComplexFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
|
|
37056
|
+
i0.ɵɵsetComponentScope(WriteAddressFieldComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormControlDirective, i4.FormGroupDirective, MarkdownComponent, WriteComplexFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
|
|
36925
37057
|
i0.ɵɵsetComponentScope(WriteComplexFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i5.NgSwitch, i5.NgSwitchCase, i4.NgControlStatusGroup, i4.FormGroupDirective, LabelSubstitutorDirective, FieldReadComponent,
|
|
36926
37058
|
FieldWriteComponent]; }, function () { return [FieldLabelPipe, IsReadOnlyPipe]; });
|
|
36927
37059
|
i0.ɵɵsetComponentScope(WriteDocumentFieldComponent, function () { return [i5.NgClass, i5.NgIf, i1$4.MarkdownComponent, ReadDocumentFieldComponent]; }, function () { return [FieldLabelPipe, i1.RpxTranslatePipe]; });
|
|
@@ -45172,15 +45304,13 @@ function SearchResultComponent_table_0_th_11_div_5_Template(rf, ctx) { if (rf &
|
|
|
45172
45304
|
i0.ɵɵelementStart(0, "div", 28)(1, "a", 29);
|
|
45173
45305
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
45174
45306
|
i0.ɵɵlistener("click", function SearchResultComponent_table_0_th_11_div_5_Template_a_click_1_listener($event) { i0.ɵɵrestoreView(_r6); const col_r5 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.sort(col_r5); return i0.ɵɵresetView($event.preventDefault()); })("keyup.enter", function SearchResultComponent_table_0_th_11_div_5_Template_a_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r6); const col_r5 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.sort(col_r5)); });
|
|
45175
|
-
i0.ɵɵtext(3);
|
|
45176
45307
|
i0.ɵɵelementEnd()();
|
|
45177
45308
|
} if (rf & 2) {
|
|
45178
45309
|
const col_r5 = i0.ɵɵnextContext().$implicit;
|
|
45179
45310
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
45180
45311
|
i0.ɵɵadvance();
|
|
45312
|
+
i0.ɵɵproperty("innerHTML", ctx_r0.sortWidget(col_r5), i0.ɵɵsanitizeHtml);
|
|
45181
45313
|
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 2, "Sort " + col_r5.label));
|
|
45182
|
-
i0.ɵɵadvance(2);
|
|
45183
|
-
i0.ɵɵtextInterpolate(ctx_r0.sortWidget(col_r5));
|
|
45184
45314
|
} }
|
|
45185
45315
|
function SearchResultComponent_table_0_th_11_Template(rf, ctx) { if (rf & 1) {
|
|
45186
45316
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -45189,7 +45319,7 @@ function SearchResultComponent_table_0_th_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
45189
45319
|
i0.ɵɵtext(3);
|
|
45190
45320
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
45191
45321
|
i0.ɵɵelementEnd();
|
|
45192
|
-
i0.ɵɵtemplate(5, SearchResultComponent_table_0_th_11_div_5_Template,
|
|
45322
|
+
i0.ɵɵtemplate(5, SearchResultComponent_table_0_th_11_div_5_Template, 3, 4, "div", 27);
|
|
45193
45323
|
i0.ɵɵelementEnd()();
|
|
45194
45324
|
} if (rf & 2) {
|
|
45195
45325
|
const col_r5 = ctx.$implicit;
|
|
@@ -45538,7 +45668,7 @@ class SearchResultComponent {
|
|
|
45538
45668
|
ngOnInit() {
|
|
45539
45669
|
if (this.preSelectedCases) {
|
|
45540
45670
|
for (const preSelectedCase of this.preSelectedCases) {
|
|
45541
|
-
if (this.selectedCases && !this.selectedCases.some(
|
|
45671
|
+
if (this.selectedCases && !this.selectedCases.some(aCase => aCase.case_id === preSelectedCase.case_id)) {
|
|
45542
45672
|
this.selectedCases.push(preSelectedCase);
|
|
45543
45673
|
}
|
|
45544
45674
|
}
|
|
@@ -45547,7 +45677,7 @@ class SearchResultComponent {
|
|
|
45547
45677
|
this.selection.emit(this.selectedCases);
|
|
45548
45678
|
}
|
|
45549
45679
|
ngOnChanges(changes) {
|
|
45550
|
-
if (changes
|
|
45680
|
+
if (changes['resultView']) {
|
|
45551
45681
|
this.hideRows = false;
|
|
45552
45682
|
this.sortParameters = undefined;
|
|
45553
45683
|
// Clone `resultView` to prevent sorting the external variable
|
|
@@ -45562,8 +45692,8 @@ class SearchResultComponent {
|
|
|
45562
45692
|
this.hydrateResultView();
|
|
45563
45693
|
this.draftsCount = this.draftsCount ? this.draftsCount : this.numberOfDrafts();
|
|
45564
45694
|
}
|
|
45565
|
-
if (changes
|
|
45566
|
-
this.selected.page = (changes
|
|
45695
|
+
if (changes['page']) {
|
|
45696
|
+
this.selected.page = (changes['page']).currentValue;
|
|
45567
45697
|
}
|
|
45568
45698
|
}
|
|
45569
45699
|
isTranslatable(col) {
|
|
@@ -45593,7 +45723,7 @@ class SearchResultComponent {
|
|
|
45593
45723
|
selectAll() {
|
|
45594
45724
|
if (this.allOnPageSelected()) {
|
|
45595
45725
|
// all cases already selected, so unselect all on this page
|
|
45596
|
-
this.resultView.results.forEach(
|
|
45726
|
+
this.resultView.results.forEach(c => {
|
|
45597
45727
|
this.selectedCases.forEach((s, i) => {
|
|
45598
45728
|
if (c.case_id === s.case_id) {
|
|
45599
45729
|
this.selectedCases.splice(i, 1);
|
|
@@ -45602,7 +45732,7 @@ class SearchResultComponent {
|
|
|
45602
45732
|
});
|
|
45603
45733
|
}
|
|
45604
45734
|
else {
|
|
45605
|
-
this.resultView.results.forEach(
|
|
45735
|
+
this.resultView.results.forEach(c => {
|
|
45606
45736
|
if (!this.isSelected(c) && this.canBeShared(c)) {
|
|
45607
45737
|
this.selectedCases.push(c);
|
|
45608
45738
|
}
|
|
@@ -45654,21 +45784,21 @@ class SearchResultComponent {
|
|
|
45654
45784
|
*/
|
|
45655
45785
|
// A longer term resolution is to move this piece of logic to the backend
|
|
45656
45786
|
hydrateResultView() {
|
|
45657
|
-
this.resultView.results.forEach(
|
|
45787
|
+
this.resultView.results.forEach(result => {
|
|
45658
45788
|
const caseFields = [];
|
|
45659
|
-
Object.keys(result.case_fields).forEach(
|
|
45789
|
+
Object.keys(result.case_fields).forEach(fieldId => {
|
|
45660
45790
|
const field = result.case_fields[fieldId];
|
|
45661
45791
|
caseFields.push(Object.assign(new CaseField(), {
|
|
45662
45792
|
id: fieldId,
|
|
45663
45793
|
label: null,
|
|
45664
45794
|
field_type: {},
|
|
45665
45795
|
value: field,
|
|
45666
|
-
display_context: null
|
|
45796
|
+
display_context: null,
|
|
45667
45797
|
}));
|
|
45668
45798
|
});
|
|
45669
45799
|
result.hydrated_case_fields = caseFields;
|
|
45670
45800
|
result.columns = {};
|
|
45671
|
-
this.resultView.columns.forEach(
|
|
45801
|
+
this.resultView.columns.forEach(col => {
|
|
45672
45802
|
result.columns[col.case_field_id] = this.buildCaseField(col, result);
|
|
45673
45803
|
});
|
|
45674
45804
|
});
|
|
@@ -45706,7 +45836,7 @@ class SearchResultComponent {
|
|
|
45706
45836
|
field_type: col.case_field_type,
|
|
45707
45837
|
value: result.case_fields[col.case_field_id],
|
|
45708
45838
|
display_context_parameter: col.display_context_parameter,
|
|
45709
|
-
display_context: col.display_context
|
|
45839
|
+
display_context: col.display_context,
|
|
45710
45840
|
});
|
|
45711
45841
|
}
|
|
45712
45842
|
getColumnsWithPrefix(col, result) {
|
|
@@ -45759,7 +45889,7 @@ class SearchResultComponent {
|
|
|
45759
45889
|
else {
|
|
45760
45890
|
condition = this.isSortAscending(column);
|
|
45761
45891
|
}
|
|
45762
|
-
return
|
|
45892
|
+
return condition ? '▼' : '▲';
|
|
45763
45893
|
}
|
|
45764
45894
|
activityEnabled() {
|
|
45765
45895
|
return this.activityService.isEnabled;
|
|
@@ -45768,13 +45898,19 @@ class SearchResultComponent {
|
|
|
45768
45898
|
if (col.case_field_id === '[CASE_REFERENCE]') {
|
|
45769
45899
|
return this.caseReferencePipe.transform(result.case_fields[col.case_field_id]);
|
|
45770
45900
|
}
|
|
45771
|
-
|
|
45772
|
-
if (col.id
|
|
45773
|
-
|
|
45901
|
+
else {
|
|
45902
|
+
if (col.id) {
|
|
45903
|
+
if (col.id === '[CASE_REFERENCE]') {
|
|
45904
|
+
return this.caseReferencePipe.transform(result.case_fields[col.id]);
|
|
45905
|
+
}
|
|
45906
|
+
else {
|
|
45907
|
+
return result.case_fields[col.id];
|
|
45908
|
+
}
|
|
45909
|
+
}
|
|
45910
|
+
else {
|
|
45911
|
+
return result.case_fields[col.case_field_id];
|
|
45774
45912
|
}
|
|
45775
|
-
return result.case_fields[col.id];
|
|
45776
45913
|
}
|
|
45777
|
-
return result.case_fields[col.case_field_id];
|
|
45778
45914
|
}
|
|
45779
45915
|
draftPrefixOrGet(col, result) {
|
|
45780
45916
|
return result.case_id.startsWith(DRAFT_PREFIX) ? DRAFT_PREFIX : this.hyphenateIfCaseReferenceOrGet(col, result);
|
|
@@ -45809,7 +45945,7 @@ class SearchResultComponent {
|
|
|
45809
45945
|
return currentPage > 1 ? this.draftsCount : 0;
|
|
45810
45946
|
}
|
|
45811
45947
|
numberOfDrafts() {
|
|
45812
|
-
return this.resultView.results.filter(
|
|
45948
|
+
return this.resultView.results.filter(_ => _.case_id.startsWith(DRAFT_PREFIX)).length;
|
|
45813
45949
|
}
|
|
45814
45950
|
goToCase(caseId) {
|
|
45815
45951
|
this.clickCase.emit({
|
|
@@ -45826,7 +45962,7 @@ class SearchResultComponent {
|
|
|
45826
45962
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
45827
45963
|
noop() { }
|
|
45828
45964
|
static ɵfac = function SearchResultComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchResultComponent)(i0.ɵɵdirectiveInject(SearchResultViewItemComparatorFactory), i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(ActivityService), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(PlaceholderService), i0.ɵɵdirectiveInject(BrowserService), i0.ɵɵdirectiveInject(SessionStorageService)); };
|
|
45829
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, standalone: false, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [["case_reference", ""], [4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", 4, "ngIf"], ["class", "search-result-column-header", "scope", "col", 4, "ngFor", "ngForOf"], ["style", "width: 110px;", "scope", "col", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], [1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "#", 1, "search-result-reset-link", 3, "click"], [1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "checked", "disabled"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], ["scope", "col", 1, "search-result-column-header"], [1, "search-result-column-label", 3, "click", "keyup"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "#", 1, "sort-widget", 3, "click", "keyup.enter"], ["scope", "col", 2, "width", "110px"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["scope", "col", 1, "govuk-table__checkbox"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "name", "checked", "disabled"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "keyup", "id", "name", "checked", "disabled"], [3, "pageChange", "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
|
|
45965
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, standalone: false, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [["case_reference", ""], [4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", 4, "ngIf"], ["class", "search-result-column-header", "scope", "col", 4, "ngFor", "ngForOf"], ["style", "width: 110px;", "scope", "col", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], [1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "#", 1, "search-result-reset-link", 3, "click"], [1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "checked", "disabled"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], ["scope", "col", 1, "search-result-column-header"], [1, "search-result-column-label", 3, "click", "keyup"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "#", 1, "sort-widget", 3, "click", "keyup.enter", "innerHTML"], ["scope", "col", 2, "width", "110px"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["scope", "col", 1, "govuk-table__checkbox"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "name", "checked", "disabled"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "keyup", "id", "name", "checked", "disabled"], [3, "pageChange", "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
|
|
45830
45966
|
i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template, 16, 11, "table", 1)(1, SearchResultComponent_ccd_pagination_1_Template, 1, 6, "ccd-pagination", 2)(2, SearchResultComponent_div_2_Template, 4, 6, "div", 3);
|
|
45831
45967
|
} if (rf & 2) {
|
|
45832
45968
|
i0.ɵɵproperty("ngIf", ctx.hasResults() || ctx.hasDrafts());
|
|
@@ -45838,7 +45974,7 @@ class SearchResultComponent {
|
|
|
45838
45974
|
}
|
|
45839
45975
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultComponent, [{
|
|
45840
45976
|
type: Component,
|
|
45841
|
-
args: [{ selector: 'ccd-search-result', standalone: false, template: "<table *ngIf=\"hasResults() || hasDrafts()\">\n <caption>\n <h2 class=\"heading-h2\" id=\"search-result-heading__text\" tabindex=\"-1\">{{ (caseState ? 'Your cases' : 'Search result') | rpxTranslate}}</h2>\n\n <div class=\"govuk-warning-text pagination-limit-warning\" *ngIf=\"paginationLimitEnforced\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{'The total size of the result set is' | rpxTranslate}} {{paginationMetadata.totalResultsCount | number}}. {{'Only the first 10,000 records are available for display.' | rpxTranslate}}\n </strong>\n </div>\n\n <div *ngIf=\"(hasResults() || hasDrafts())\" class=\"pagination-top\">\n <output [attr.aria-label]=\"getTotalResults() + ' ' + ('results have been found' | rpxTranslate)\"></output>\n <span class=\"text-16\" id=\"search-result-summary__text\">{{'Showing' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getFirstResult() }}</span>\n {{'to' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getLastResult() }}</span>\n {{'of' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getTotalResults() }}</span> {{'results' | rpxTranslate}}</span>\n </div>\n <div *ngIf=\"(hasResults() || hasDrafts()) && selectionEnabled\" class=\"reset-selection\"\n [attr.aria-label]=\"'Reset selection' | rpxTranslate\">\n <span><a class=\"search-result-reset-link\" href=\"#\" (click)=\"clearSelection(); $event.preventDefault()\">{{'Reset case selection' | rpxTranslate}}</a></span>\n </div>\n </caption>\n <thead>\n <tr scope=\"row\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-all\" name=\"select-all\" type=\"checkbox\" (change)=\"selectAll()\" [checked]=\"allOnPageSelected()\" [disabled]=\"!canAnyBeShared()\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-all\" [attr.aria-labelledby]=\"'select-all'\">\n </label>\n </div>\n </td>\n <th *ngFor=\"let col of resultView.columns\" class=\"search-result-column-header\"\n [attr.aria-sort]=\"isSortAscending(col) === null ? null : (isSortAscending(col) ? 'ascending' : 'descending')\" scope=\"col\">\n <div>\n <div class=\"search-result-column-label\" (click)=\"sort(col)\" (keyup)=\"noop()\">\n {{ isTranslatable(col) ? (col.label | rpxTranslate) : col.label }}\n </div>\n <div *ngIf=\"comparator(col)\" class=\"search-result-column-sort\">\n <a (click)=\"sort(col); $event.preventDefault()\" (keyup.enter)=\"sort(col)\" class=\"sort-widget\" [attr.aria-label]=\"'Sort ' + col.label | rpxTranslate\" href=\"#\"
|
|
45977
|
+
args: [{ selector: 'ccd-search-result', standalone: false, template: "<table *ngIf=\"hasResults() || hasDrafts()\">\n <caption>\n <h2 class=\"heading-h2\" id=\"search-result-heading__text\" tabindex=\"-1\">{{ (caseState ? 'Your cases' : 'Search result') | rpxTranslate}}</h2>\n\n <div class=\"govuk-warning-text pagination-limit-warning\" *ngIf=\"paginationLimitEnforced\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{'The total size of the result set is' | rpxTranslate}} {{paginationMetadata.totalResultsCount | number}}. {{'Only the first 10,000 records are available for display.' | rpxTranslate}}\n </strong>\n </div>\n\n <div *ngIf=\"(hasResults() || hasDrafts())\" class=\"pagination-top\">\n <output [attr.aria-label]=\"getTotalResults() + ' ' + ('results have been found' | rpxTranslate)\"></output>\n <span class=\"text-16\" id=\"search-result-summary__text\">{{'Showing' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getFirstResult() }}</span>\n {{'to' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getLastResult() }}</span>\n {{'of' | rpxTranslate}}\n <span class=\"govuk-!-font-weight-bold\">{{ getTotalResults() }}</span> {{'results' | rpxTranslate}}</span>\n </div>\n <div *ngIf=\"(hasResults() || hasDrafts()) && selectionEnabled\" class=\"reset-selection\"\n [attr.aria-label]=\"'Reset selection' | rpxTranslate\">\n <span><a class=\"search-result-reset-link\" href=\"#\" (click)=\"clearSelection(); $event.preventDefault()\">{{'Reset case selection' | rpxTranslate}}</a></span>\n </div>\n </caption>\n <thead>\n <tr scope=\"row\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-all\" name=\"select-all\" type=\"checkbox\" (change)=\"selectAll()\" [checked]=\"allOnPageSelected()\" [disabled]=\"!canAnyBeShared()\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-all\" [attr.aria-labelledby]=\"'select-all'\">\n </label>\n </div>\n </td>\n <th *ngFor=\"let col of resultView.columns\" class=\"search-result-column-header\"\n [attr.aria-sort]=\"isSortAscending(col) === null ? null : (isSortAscending(col) ? 'ascending' : 'descending')\" scope=\"col\">\n <div>\n <div class=\"search-result-column-label\" (click)=\"sort(col)\" (keyup)=\"noop()\">\n {{ isTranslatable(col) ? (col.label | rpxTranslate) : col.label }}\n </div>\n <div *ngIf=\"comparator(col)\" class=\"search-result-column-sort\">\n <a (click)=\"sort(col); $event.preventDefault()\" (keyup.enter)=\"sort(col)\" class=\"sort-widget\" [innerHTML]=\"sortWidget(col)\" [attr.aria-label]=\"'Sort ' + col.label | rpxTranslate\" href=\"#\"></a>\n </div>\n </div>\n </th>\n <th *ngIf=\"activityEnabled()\" style=\"width: 110px;\" scope=\"col\">​</th>\n </tr>\n </thead>\n\n <tbody>\n <!-- sorted by consumer -->\n <ng-container *ngIf=\"consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\" [attr.aria-labelledby]=\"'select-' + result.case_id\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n <!-- sorted by toolkit -->\n <ng-container *ngIf=\"!consumerSortingEnabled\">\n <tr *ngFor=\"let result of resultView.results | ccdSortSearchResult : sortParameters | paginate: { itemsPerPage: paginationPageSize, currentPage: selected.page, totalItems: resultTotal }\">\n <td *ngIf=\"selectionEnabled\" class=\"govuk-table__checkbox\" scope=\"col\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" id=\"select-{{ result.case_id }}\" name=\"select-{{ result.case_id }}\"\n type=\"checkbox\" (change)=\"changeSelection(result)\" [checked]=\"isSelected(result)\" [disabled]=\"!canBeShared(result)\" (keyup)=\"onKeyUp($event, result)\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"select-{{ result.case_id }}\" [attr.aria-labelledby]=\"'select-' + result.case_id\">\n </label>\n </div>\n </td>\n <td class=\"search-result-column-cell\" *ngFor=\"let col of resultView.columns; let colIndex = index\" scope=\"row\">\n\n <a *ngIf=\"colIndex == 0\" [routerLink]=\"prepareCaseLinkUrl(result.case_id)\"\n attr.aria-label=\"go to case with Case reference:{{ result.case_id | ccdCaseReference }}\" class=\"govuk-link\">\n <ng-container class=\"text-16\" *ngIf=\"!hideRows\">\n <ccd-field-read *ngIf=\"draftPrefixOrGet(col, result); else case_reference\"\n ccdLabelSubstitutor [caseField]=\"getColumnsWithPrefix(result.columns[col.case_field_id], result)\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n <ng-template #case_reference>{{result.case_id | ccdCaseReference}}</ng-template>\n </ng-container>\n </a>\n <div *ngIf=\"colIndex != 0\" class=\"text-16\" [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-field-read ccdLabelSubstitutor\n [caseField]=\"result.columns[col.case_field_id]\"\n [contextFields]=\"result.hydrated_case_fields\"\n [elementsToSubstitute]=\"['value']\"></ccd-field-read>\n </div>\n </td>\n <td *ngIf=\"activityEnabled()\">\n <div [style.visibility]=\"hideRows ? 'hidden' : 'visible'\">\n <ccd-activity [caseId]=\"result.case_id\" [displayMode]=\"ICON\"></ccd-activity>\n </div>\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n</table>\n\n<ccd-pagination\n *ngIf=\"hasResults()\"\n (pageChange)=\"goToPage($event)\"\n [visibilityLabel]=\"hideRows ? 'hidden' : 'visible'\"\n [autoHide]=\"true\"\n [maxSize]=\"8\"\n [screenReaderPaginationLabel]=\"'Pagination'\"\n [screenReaderPageLabel]=\"page\"\n [screenReaderCurrentLabel]=\"'You\\'re on page'\"></ccd-pagination>\n\n<div *ngIf=\"!(hasResults() || hasDrafts())\" class=\"notification\"\n[attr.aria-describedby]=\"'No cases found. Try using different filters.' | rpxTranslate\">\n{{'No cases found. Try using different filters.' | rpxTranslate}}\n</div>\n", styles: ["table thead tr th{vertical-align:top}table tbody tr td{font-size:16px;word-wrap:break-word}table tbody tr td a{float:left}table .caseid-col{white-space:nowrap}.notification{text-align:center;padding:30px 0;margin-top:75px}a:hover{color:#005ea5}.search-result-reset-link{padding-right:15px;padding-left:15px}.search-result-column-header{width:unset;table-layout:normal}.search-result-column-header div{display:table-cell;width:auto}@media screen and (max-width:379px){.search-result-column-header div{display:block;float:right}}.search-result-column-label{font-size:16px;font-weight:700;word-wrap:break-word;cursor:pointer;padding-right:15px}.search-result-column-sort{font-size:16px}.sort-widget{cursor:pointer;text-decoration:none;color:#231f20}span.heading-medium{margin-top:-20px}.govuk-table__checkbox{vertical-align:middle;padding-left:3px}#search-result-heading__text:focus{outline:none}\n"] }]
|
|
45842
45978
|
}], () => [{ type: SearchResultViewItemComparatorFactory }, { type: AbstractAppConfig }, { type: ActivityService }, { type: CaseReferencePipe }, { type: PlaceholderService }, { type: BrowserService }, { type: SessionStorageService }], { caseLinkUrlTemplate: [{
|
|
45843
45979
|
type: Input
|
|
45844
45980
|
}], jurisdiction: [{
|