@hmcts/ccd-case-ui-toolkit 7.2.37-exui-2916-4 → 7.2.37

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.
@@ -3,7 +3,7 @@ import { FormGroup } from '@angular/forms';
3
3
  import { CaseField } from '../../domain/definition/case-field.model';
4
4
  import { FieldsUtils } from '../../services/fields/fields.utils';
5
5
  import { PlaceholderService } from './services/placeholder.service';
6
- import { RpxTranslatePipe, RpxTranslationService } from 'rpx-xui-translation';
6
+ import { RpxTranslatePipe } from 'rpx-xui-translation';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../services/fields/fields.utils";
9
9
  import * as i2 from "./services/placeholder.service";
@@ -15,33 +15,21 @@ export class LabelSubstitutorDirective {
15
15
  fieldsUtils;
16
16
  placeholderService;
17
17
  rpxTranslationPipe;
18
- rpxTranslationService;
19
18
  caseField;
20
19
  contextFields = [];
21
20
  formGroup;
22
21
  elementsToSubstitute = ['label', 'hint_text'];
23
22
  initialLabel;
24
23
  initialHintText;
25
- languageSubscription;
26
- constructor(fieldsUtils, placeholderService, rpxTranslationPipe, rpxTranslationService) {
24
+ constructor(fieldsUtils, placeholderService, rpxTranslationPipe) {
27
25
  this.fieldsUtils = fieldsUtils;
28
26
  this.placeholderService = placeholderService;
29
27
  this.rpxTranslationPipe = rpxTranslationPipe;
30
- this.rpxTranslationService = rpxTranslationService;
31
28
  }
32
29
  ngOnInit() {
33
30
  this.initialLabel = this.caseField.label;
34
31
  this.initialHintText = this.caseField.hint_text;
35
32
  this.formGroup = this.formGroup || new FormGroup({});
36
- this.languageSubscription = this.rpxTranslationService.language$.subscribe(() => {
37
- // timeout is required to prevent race conditions with translation pipe
38
- setTimeout(() => {
39
- this.onLanguageChange();
40
- }, 100);
41
- });
42
- this.applySubstitutions();
43
- }
44
- applySubstitutions() {
45
33
  const fields = this.getReadOnlyAndFormFields();
46
34
  if (this.shouldSubstitute('label')) {
47
35
  const oldLabel = this.caseField.label;
@@ -51,7 +39,7 @@ export class LabelSubstitutorDirective {
51
39
  const translated = this.rpxTranslationPipe.transform(oldLabel);
52
40
  const transSubstitutedLabel = this.resolvePlaceholders(fields, translated);
53
41
  this.caseField.label = transSubstitutedLabel;
54
- this.caseField.isTranslated = this.rpxTranslationService.language === 'cy';
42
+ this.caseField.isTranslated = true;
55
43
  }
56
44
  else {
57
45
  this.caseField.label = substitutedLabel;
@@ -65,24 +53,13 @@ export class LabelSubstitutorDirective {
65
53
  this.caseField.value = this.resolvePlaceholders(fields, this.caseField.value);
66
54
  }
67
55
  }
68
- onLanguageChange() {
69
- this.resetToInitialValues();
70
- this.applySubstitutions();
71
- }
72
- resetToInitialValues() {
56
+ ngOnDestroy() {
73
57
  if (this.initialLabel) {
74
58
  this.caseField.label = this.initialLabel;
75
59
  }
76
60
  if (this.initialHintText) {
77
61
  this.caseField.hint_text = this.initialHintText;
78
62
  }
79
- this.caseField.isTranslated = false;
80
- }
81
- ngOnDestroy() {
82
- this.resetToInitialValues();
83
- if (this.languageSubscription) {
84
- this.languageSubscription.unsubscribe();
85
- }
86
63
  }
87
64
  shouldSubstitute(element) {
88
65
  return this.elementsToSubstitute.find(e => e === element) !== undefined;
@@ -109,13 +86,13 @@ export class LabelSubstitutorDirective {
109
86
  resolvePlaceholders(fields, stringToResolve) {
110
87
  return this.placeholderService.resolvePlaceholders(fields, stringToResolve);
111
88
  }
112
- static ɵfac = function LabelSubstitutorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LabelSubstitutorDirective)(i0.ɵɵdirectiveInject(i1.FieldsUtils), i0.ɵɵdirectiveInject(i2.PlaceholderService), i0.ɵɵdirectiveInject(i3.RpxTranslatePipe), i0.ɵɵdirectiveInject(i3.RpxTranslationService)); };
89
+ static ɵfac = function LabelSubstitutorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LabelSubstitutorDirective)(i0.ɵɵdirectiveInject(i1.FieldsUtils), i0.ɵɵdirectiveInject(i2.PlaceholderService), i0.ɵɵdirectiveInject(i3.RpxTranslatePipe)); };
113
90
  static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LabelSubstitutorDirective, selectors: [["", "ccdLabelSubstitutor", ""]], inputs: { caseField: "caseField", contextFields: "contextFields", formGroup: "formGroup", elementsToSubstitute: "elementsToSubstitute" } });
114
91
  }
115
92
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LabelSubstitutorDirective, [{
116
93
  type: Directive,
117
94
  args: [{ selector: '[ccdLabelSubstitutor]' }]
118
- }], () => [{ type: i1.FieldsUtils }, { type: i2.PlaceholderService }, { type: i3.RpxTranslatePipe }, { type: i3.RpxTranslationService }], { caseField: [{
95
+ }], () => [{ type: i1.FieldsUtils }, { type: i2.PlaceholderService }, { type: i3.RpxTranslatePipe }], { caseField: [{
119
96
  type: Input
120
97
  }], contextFields: [{
121
98
  type: Input
@@ -124,4 +101,4 @@ export class LabelSubstitutorDirective {
124
101
  }], elementsToSubstitute: [{
125
102
  type: Input
126
103
  }] }); })();
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtc3Vic3RpdHV0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yL2xhYmVsLXN1YnN0aXR1dG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBSTlFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQVlqQjtJQUNBO0lBQ0E7SUFDQTtJQWJILFNBQVMsQ0FBWTtJQUNyQixhQUFhLEdBQWdCLEVBQUUsQ0FBQztJQUNoQyxTQUFTLENBQVk7SUFDckIsb0JBQW9CLEdBQWEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFaEUsWUFBWSxDQUFTO0lBQ3JCLGVBQWUsQ0FBUztJQUN4QixvQkFBb0IsQ0FBYztJQUUxQyxZQUNtQixXQUF3QixFQUN4QixrQkFBc0MsRUFDdEMsa0JBQW9DLEVBQ3BDLHFCQUE0QztRQUg1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBa0I7UUFDcEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1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QUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sb0NBQW9DO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBYyxFQUFFLGVBQXVCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5RSxDQUFDO21IQTVHVSx5QkFBeUI7NkRBQXpCLHlCQUF5Qjs7aUZBQXpCLHlCQUF5QjtjQUpyQyxTQUFTO2VBQUMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUU7Z0pBTTlCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxhQUFhO2tCQUE1QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLG9CQUFvQjtrQkFBbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IFBsYWNlaG9sZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGxhY2Vob2xkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGVQaXBlLCBScHhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY2NkTGFiZWxTdWJzdGl0dXRvcl0nIH0pXG4vKipcbiAqIENoZWNrcyBhbGwgbGFiZWxzIGFuZCBzdWJzdGl0dXRlcyBhbnkgcGxhY2hvbGRlcnMgdGhhdCByZWZlcmVuY2Ugb3RoZXIgZmllbGRzIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIExhYmVsU3Vic3RpdHV0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICBASW5wdXQoKSBwdWJsaWMgY29udGV4dEZpZWxkczogQ2FzZUZpZWxkW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZWxlbWVudHNUb1N1YnN0aXR1dGU6IHN0cmluZ1tdID0gWydsYWJlbCcsICdoaW50X3RleHQnXTtcblxuICBwcml2YXRlIGluaXRpYWxMYWJlbDogc3RyaW5nO1xuICBwcml2YXRlIGluaXRpYWxIaW50VGV4dDogc3RyaW5nO1xuICBwcml2YXRlIGxhbmd1YWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1V0aWxzOiBGaWVsZHNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyU2VydmljZTogUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25QaXBlOiBScHhUcmFuc2xhdGVQaXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxMYWJlbCA9IHRoaXMuY2FzZUZpZWxkLmxhYmVsO1xuICAgIHRoaXMuaW5pdGlhbEhpbnRUZXh0ID0gdGhpcy5jYXNlRmllbGQuaGludF90ZXh0O1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXAgfHwgbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgICB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uID0gdGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyB0aW1lb3V0IGlzIHJlcXVpcmVkIHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zIHdpdGggdHJhbnNsYXRpb24gcGlwZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub25MYW5ndWFnZUNoYW5nZSgpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlTdWJzdGl0dXRpb25zKClcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTdWJzdGl0dXRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpZWxkczogb2JqZWN0ID0gdGhpcy5nZXRSZWFkT25seUFuZEZvcm1GaWVsZHMoKTtcblxuICAgIGlmICh0aGlzLnNob3VsZFN1YnN0aXR1dGUoJ2xhYmVsJykpIHtcbiAgICAgIGNvbnN0IG9sZExhYmVsID0gdGhpcy5jYXNlRmllbGQubGFiZWw7XG4gICAgICBjb25zdCBzdWJzdGl0dXRlZExhYmVsID0gdGhpcy5yZXNvbHZlUGxhY2Vob2xkZXJzKGZpZWxkcywgdGhpcy5jYXNlRmllbGQubGFiZWwpO1xuICAgICAgaWYgKG9sZExhYmVsICYmIG9sZExhYmVsICE9PSBzdWJzdGl0dXRlZExhYmVsKSB7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gdHJhbnNsYXRlIHRoZSB1bmludGVycG9sYXRlZCBkYXRhIHRoZW4gc3Vic3RpdHV0ZSB0aGUgdmFsdWVzIGluIHRyYW5zbGF0ZWQgc3RyaW5nXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0aGlzLnJweFRyYW5zbGF0aW9uUGlwZS50cmFuc2Zvcm0ob2xkTGFiZWwpXG4gICAgICAgIGNvbnN0IHRyYW5zU3Vic3RpdHV0ZWRMYWJlbCA9IHRoaXMucmVzb2x2ZVBsYWNlaG9sZGVycyhmaWVsZHMsIHRyYW5zbGF0ZWQpO1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC5sYWJlbCA9IHRyYW5zU3Vic3RpdHV0ZWRMYWJlbDtcbiAgICAgICAgdGhpcy5jYXNlRmllbGQuaXNUcmFuc2xhdGVkID0gdGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgPT09ICdjeSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC5sYWJlbCA9IHN1YnN0aXR1dGVkTGFiZWw7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLmlzVHJhbnNsYXRlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaG91bGRTdWJzdGl0dXRlKCdoaW50X3RleHQnKSkge1xuICAgICAgdGhpcy5jYXNlRmllbGQuaGludF90ZXh0ID0gdGhpcy5yZXNvbHZlUGxhY2Vob2xkZXJzKGZpZWxkcywgdGhpcy5jYXNlRmllbGQuaGludF90ZXh0KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvdWxkU3Vic3RpdHV0ZSgndmFsdWUnKSkge1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB0aGlzLnJlc29sdmVQbGFjZWhvbGRlcnMoZmllbGRzLCB0aGlzLmNhc2VGaWVsZC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkxhbmd1YWdlQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRUb0luaXRpYWxWYWx1ZXMoKTtcbiAgICB0aGlzLmFwcGx5U3Vic3RpdHV0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFRvSW5pdGlhbFZhbHVlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsTGFiZWwpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmxhYmVsID0gdGhpcy5pbml0aWFsTGFiZWw7XG4gICAgfVxuICAgIGlmICh0aGlzLmluaXRpYWxIaW50VGV4dCkge1xuICAgICAgdGhpcy5jYXNlRmllbGQuaGludF90ZXh0ID0gdGhpcy5pbml0aWFsSGludFRleHQ7XG4gICAgfVxuICAgIHRoaXMuY2FzZUZpZWxkLmlzVHJhbnNsYXRlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRUb0luaXRpYWxWYWx1ZXMoKTtcbiAgICBpZiAodGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkU3Vic3RpdHV0ZShlbGVtZW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50c1RvU3Vic3RpdHV0ZS5maW5kKGUgPT4gZSA9PT0gZWxlbWVudCkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVhZE9ubHlBbmRGb3JtRmllbGRzKCk6IG9iamVjdCB7XG4gICAgY29uc3QgZm9ybUZpZWxkczogb2JqZWN0ID0gdGhpcy5nZXRGb3JtRmllbGRzVmFsdWVzSW5jbHVkaW5nRGlzYWJsZWQoKTtcbiAgICAvLyBUT0RPOiBEZWxldGUgZm9sbG93aW5nIGxpbmUgd2hlbiBASW5wdXQgY29udGV4dEZpZWxkcyBpcyBmaXhlZCAtIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL1JETS0zNTA0XG4gICAgY29uc3QgdW5pcXVlQ29udGV4dEZpZWxkczogQ2FzZUZpZWxkW10gPSB0aGlzLnJlbW92ZUR1cGxpY2F0ZXModGhpcy5jb250ZXh0RmllbGRzKTtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNVdGlscy5tZXJnZUxhYmVsQ2FzZUZpZWxkc0FuZEZvcm1GaWVsZHModW5pcXVlQ29udGV4dEZpZWxkcywgZm9ybUZpZWxkcyk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUR1cGxpY2F0ZXMob3JpZ2luYWw6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkW10ge1xuICAgIGNvbnN0IHVuaXF1ZTogQ2FzZUZpZWxkW10gPSBbXTtcbiAgICBvcmlnaW5hbC5mb3JFYWNoKGNhc2VGaWVsZCA9PiB7XG4gICAgICBjb25zdCBpc1VuaXF1ZSA9IHVuaXF1ZS5maWx0ZXIoZSA9PiBlLmlkID09PSBjYXNlRmllbGQuaWQpLmxlbmd0aCA9PT0gMDtcbiAgICAgIGlmIChpc1VuaXF1ZSkge1xuICAgICAgICB1bmlxdWUucHVzaChjYXNlRmllbGQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB1bmlxdWU7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1GaWVsZHNWYWx1ZXNJbmNsdWRpbmdEaXNhYmxlZCgpOiBvYmplY3Qge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUGxhY2Vob2xkZXJzKGZpZWxkczogb2JqZWN0LCBzdHJpbmdUb1Jlc29sdmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlLnJlc29sdmVQbGFjZWhvbGRlcnMoZmllbGRzLCBzdHJpbmdUb1Jlc29sdmUpO1xuICB9XG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtc3Vic3RpdHV0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yL2xhYmVsLXN1YnN0aXR1dG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBR3ZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQVdqQjtJQUNBO0lBQ0E7SUFYSCxTQUFTLENBQVk7SUFDckIsYUFBYSxHQUFnQixFQUFFLENBQUM7SUFDaEMsU0FBUyxDQUFZO0lBQ3JCLG9CQUFvQixHQUFhLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRWhFLFlBQVksQ0FBUztJQUNyQixlQUFlLENBQVM7SUFFaEMsWUFDbUIsV0FBd0IsRUFDeEIsa0JBQXNDLEVBQ3RDLGtCQUFvQztRQUZwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBa0I7SUFDcEQsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FB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QyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDeEUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxvQ0FBb0M7UUFDMUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsZUFBdUI7UUFDakUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7bUhBbEZVLHlCQUF5Qjs2REFBekIseUJBQXlCOztpRkFBekIseUJBQXlCO2NBSnJDLFNBQVM7ZUFBQyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTs0R0FNOUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLGFBQWE7a0JBQTVCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usb0JBQW9CO2tCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wbGFjZWhvbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFJweFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NjZExhYmVsU3Vic3RpdHV0b3JdJyB9KVxuLyoqXG4gKiBDaGVja3MgYWxsIGxhYmVscyBhbmQgc3Vic3RpdHV0ZXMgYW55IHBsYWNob2xkZXJzIHRoYXQgcmVmZXJlbmNlIG90aGVyIGZpZWxkcyB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYWJlbFN1YnN0aXR1dG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGVsZW1lbnRzVG9TdWJzdGl0dXRlOiBzdHJpbmdbXSA9IFsnbGFiZWwnLCAnaGludF90ZXh0J107XG5cbiAgcHJpdmF0ZSBpbml0aWFsTGFiZWw6IHN0cmluZztcbiAgcHJpdmF0ZSBpbml0aWFsSGludFRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1V0aWxzOiBGaWVsZHNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyU2VydmljZTogUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25QaXBlOiBScHhUcmFuc2xhdGVQaXBlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsTGFiZWwgPSB0aGlzLmNhc2VGaWVsZC5sYWJlbDtcbiAgICB0aGlzLmluaXRpYWxIaW50VGV4dCA9IHRoaXMuY2FzZUZpZWxkLmhpbnRfdGV4dDtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwIHx8IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gICAgY29uc3QgZmllbGRzOiBvYmplY3QgPSB0aGlzLmdldFJlYWRPbmx5QW5kRm9ybUZpZWxkcygpO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkU3Vic3RpdHV0ZSgnbGFiZWwnKSkge1xuICAgICAgY29uc3Qgb2xkTGFiZWwgPSB0aGlzLmNhc2VGaWVsZC5sYWJlbDtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGVkTGFiZWwgPSB0aGlzLnJlc29sdmVQbGFjZWhvbGRlcnMoZmllbGRzLCB0aGlzLmNhc2VGaWVsZC5sYWJlbCk7XG4gICAgICBpZiAob2xkTGFiZWwgJiYgb2xkTGFiZWwgIT09IHN1YnN0aXR1dGVkTGFiZWwpIHtcbiAgICAgICAgLy8gd2UgbmVlZCB0byB0cmFuc2xhdGUgdGhlIHVuaW50ZXJwb2xhdGVkIGRhdGEgdGhlbiBzdWJzdGl0dXRlIHRoZSB2YWx1ZXMgaW4gdHJhbnNsYXRlZCBzdHJpbmdcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZCA9IHRoaXMucnB4VHJhbnNsYXRpb25QaXBlLnRyYW5zZm9ybShvbGRMYWJlbClcbiAgICAgICAgY29uc3QgdHJhbnNTdWJzdGl0dXRlZExhYmVsID0gdGhpcy5yZXNvbHZlUGxhY2Vob2xkZXJzKGZpZWxkcywgdHJhbnNsYXRlZCk7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLmxhYmVsID0gdHJhbnNTdWJzdGl0dXRlZExhYmVsO1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC5pc1RyYW5zbGF0ZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYXNlRmllbGQubGFiZWwgPSBzdWJzdGl0dXRlZExhYmVsO1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC5pc1RyYW5zbGF0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvdWxkU3Vic3RpdHV0ZSgnaGludF90ZXh0JykpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmhpbnRfdGV4dCA9IHRoaXMucmVzb2x2ZVBsYWNlaG9sZGVycyhmaWVsZHMsIHRoaXMuY2FzZUZpZWxkLmhpbnRfdGV4dCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3VsZFN1YnN0aXR1dGUoJ3ZhbHVlJykpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gdGhpcy5yZXNvbHZlUGxhY2Vob2xkZXJzKGZpZWxkcywgdGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsTGFiZWwpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmxhYmVsID0gdGhpcy5pbml0aWFsTGFiZWw7XG4gICAgfVxuICAgIGlmICh0aGlzLmluaXRpYWxIaW50VGV4dCkge1xuICAgICAgdGhpcy5jYXNlRmllbGQuaGludF90ZXh0ID0gdGhpcy5pbml0aWFsSGludFRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRTdWJzdGl0dXRlKGVsZW1lbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRzVG9TdWJzdGl0dXRlLmZpbmQoZSA9PiBlID09PSBlbGVtZW50KSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWFkT25seUFuZEZvcm1GaWVsZHMoKTogb2JqZWN0IHtcbiAgICBjb25zdCBmb3JtRmllbGRzOiBvYmplY3QgPSB0aGlzLmdldEZvcm1GaWVsZHNWYWx1ZXNJbmNsdWRpbmdEaXNhYmxlZCgpO1xuICAgIC8vIFRPRE86IERlbGV0ZSBmb2xsb3dpbmcgbGluZSB3aGVuIEBJbnB1dCBjb250ZXh0RmllbGRzIGlzIGZpeGVkIC0gaHR0cHM6Ly90b29scy5obWN0cy5uZXQvamlyYS9icm93c2UvUkRNLTM1MDRcbiAgICBjb25zdCB1bmlxdWVDb250ZXh0RmllbGRzOiBDYXNlRmllbGRbXSA9IHRoaXMucmVtb3ZlRHVwbGljYXRlcyh0aGlzLmNvbnRleHRGaWVsZHMpO1xuICAgIHJldHVybiB0aGlzLmZpZWxkc1V0aWxzLm1lcmdlTGFiZWxDYXNlRmllbGRzQW5kRm9ybUZpZWxkcyh1bmlxdWVDb250ZXh0RmllbGRzLCBmb3JtRmllbGRzKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRHVwbGljYXRlcyhvcmlnaW5hbDogQ2FzZUZpZWxkW10pOiBDYXNlRmllbGRbXSB7XG4gICAgY29uc3QgdW5pcXVlOiBDYXNlRmllbGRbXSA9IFtdO1xuICAgIG9yaWdpbmFsLmZvckVhY2goY2FzZUZpZWxkID0+IHtcbiAgICAgIGNvbnN0IGlzVW5pcXVlID0gdW5pcXVlLmZpbHRlcihlID0+IGUuaWQgPT09IGNhc2VGaWVsZC5pZCkubGVuZ3RoID09PSAwO1xuICAgICAgaWYgKGlzVW5pcXVlKSB7XG4gICAgICAgIHVuaXF1ZS5wdXNoKGNhc2VGaWVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHVuaXF1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUZpZWxkc1ZhbHVlc0luY2x1ZGluZ0Rpc2FibGVkKCk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQbGFjZWhvbGRlcnMoZmllbGRzOiBvYmplY3QsIHN0cmluZ1RvUmVzb2x2ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlclNlcnZpY2UucmVzb2x2ZVBsYWNlaG9sZGVycyhmaWVsZHMsIHN0cmluZ1RvUmVzb2x2ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -6603,33 +6603,21 @@ class LabelSubstitutorDirective {
6603
6603
  fieldsUtils;
6604
6604
  placeholderService;
6605
6605
  rpxTranslationPipe;
6606
- rpxTranslationService;
6607
6606
  caseField;
6608
6607
  contextFields = [];
6609
6608
  formGroup;
6610
6609
  elementsToSubstitute = ['label', 'hint_text'];
6611
6610
  initialLabel;
6612
6611
  initialHintText;
6613
- languageSubscription;
6614
- constructor(fieldsUtils, placeholderService, rpxTranslationPipe, rpxTranslationService) {
6612
+ constructor(fieldsUtils, placeholderService, rpxTranslationPipe) {
6615
6613
  this.fieldsUtils = fieldsUtils;
6616
6614
  this.placeholderService = placeholderService;
6617
6615
  this.rpxTranslationPipe = rpxTranslationPipe;
6618
- this.rpxTranslationService = rpxTranslationService;
6619
6616
  }
6620
6617
  ngOnInit() {
6621
6618
  this.initialLabel = this.caseField.label;
6622
6619
  this.initialHintText = this.caseField.hint_text;
6623
6620
  this.formGroup = this.formGroup || new FormGroup({});
6624
- this.languageSubscription = this.rpxTranslationService.language$.subscribe(() => {
6625
- // timeout is required to prevent race conditions with translation pipe
6626
- setTimeout(() => {
6627
- this.onLanguageChange();
6628
- }, 100);
6629
- });
6630
- this.applySubstitutions();
6631
- }
6632
- applySubstitutions() {
6633
6621
  const fields = this.getReadOnlyAndFormFields();
6634
6622
  if (this.shouldSubstitute('label')) {
6635
6623
  const oldLabel = this.caseField.label;
@@ -6639,7 +6627,7 @@ class LabelSubstitutorDirective {
6639
6627
  const translated = this.rpxTranslationPipe.transform(oldLabel);
6640
6628
  const transSubstitutedLabel = this.resolvePlaceholders(fields, translated);
6641
6629
  this.caseField.label = transSubstitutedLabel;
6642
- this.caseField.isTranslated = this.rpxTranslationService.language === 'cy';
6630
+ this.caseField.isTranslated = true;
6643
6631
  }
6644
6632
  else {
6645
6633
  this.caseField.label = substitutedLabel;
@@ -6653,24 +6641,13 @@ class LabelSubstitutorDirective {
6653
6641
  this.caseField.value = this.resolvePlaceholders(fields, this.caseField.value);
6654
6642
  }
6655
6643
  }
6656
- onLanguageChange() {
6657
- this.resetToInitialValues();
6658
- this.applySubstitutions();
6659
- }
6660
- resetToInitialValues() {
6644
+ ngOnDestroy() {
6661
6645
  if (this.initialLabel) {
6662
6646
  this.caseField.label = this.initialLabel;
6663
6647
  }
6664
6648
  if (this.initialHintText) {
6665
6649
  this.caseField.hint_text = this.initialHintText;
6666
6650
  }
6667
- this.caseField.isTranslated = false;
6668
- }
6669
- ngOnDestroy() {
6670
- this.resetToInitialValues();
6671
- if (this.languageSubscription) {
6672
- this.languageSubscription.unsubscribe();
6673
- }
6674
6651
  }
6675
6652
  shouldSubstitute(element) {
6676
6653
  return this.elementsToSubstitute.find(e => e === element) !== undefined;
@@ -6697,13 +6674,13 @@ class LabelSubstitutorDirective {
6697
6674
  resolvePlaceholders(fields, stringToResolve) {
6698
6675
  return this.placeholderService.resolvePlaceholders(fields, stringToResolve);
6699
6676
  }
6700
- static ɵfac = function LabelSubstitutorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LabelSubstitutorDirective)(i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(PlaceholderService), i0.ɵɵdirectiveInject(i1.RpxTranslatePipe), i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
6677
+ static ɵfac = function LabelSubstitutorDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LabelSubstitutorDirective)(i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(PlaceholderService), i0.ɵɵdirectiveInject(i1.RpxTranslatePipe)); };
6701
6678
  static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LabelSubstitutorDirective, selectors: [["", "ccdLabelSubstitutor", ""]], inputs: { caseField: "caseField", contextFields: "contextFields", formGroup: "formGroup", elementsToSubstitute: "elementsToSubstitute" } });
6702
6679
  }
6703
6680
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LabelSubstitutorDirective, [{
6704
6681
  type: Directive,
6705
6682
  args: [{ selector: '[ccdLabelSubstitutor]' }]
6706
- }], () => [{ type: FieldsUtils }, { type: PlaceholderService }, { type: i1.RpxTranslatePipe }, { type: i1.RpxTranslationService }], { caseField: [{
6683
+ }], () => [{ type: FieldsUtils }, { type: PlaceholderService }, { type: i1.RpxTranslatePipe }], { caseField: [{
6707
6684
  type: Input
6708
6685
  }], contextFields: [{
6709
6686
  type: Input