@tilde-nlp/ngx-translate 2.0.3 → 2.1.0

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.
Files changed (130) hide show
  1. package/esm2020/lib/factories/file-api-service.factory.mjs +1 -1
  2. package/esm2020/lib/factories/mt-term-term-api.factory.mjs +12 -0
  3. package/esm2020/lib/factories/text-api-service.factory.mjs +3 -3
  4. package/esm2020/lib/i18n/de.mjs +2 -7
  5. package/esm2020/lib/i18n/en.mjs +2 -6
  6. package/esm2020/lib/i18n/et.mjs +1 -6
  7. package/esm2020/lib/i18n/fi.mjs +1 -6
  8. package/esm2020/lib/i18n/lt.mjs +1 -6
  9. package/esm2020/lib/i18n/lv.mjs +2 -7
  10. package/esm2020/lib/i18n/pl.mjs +1 -6
  11. package/esm2020/lib/i18n/sv.mjs +1 -4
  12. package/esm2020/lib/injection-tokens/index.mjs +2 -1
  13. package/esm2020/lib/injection-tokens/mt-term-api.token.mjs +2 -0
  14. package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +1 -1
  15. package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +2 -1
  16. package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +7 -7
  17. package/esm2020/lib/modules/tld-term/create-collection/create-collection.component.mjs +51 -0
  18. package/esm2020/lib/modules/tld-term/index.mjs +2 -1
  19. package/esm2020/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1-status.enum.mjs +7 -0
  20. package/esm2020/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1.model.mjs +2 -0
  21. package/esm2020/lib/modules/tld-term/services/api-v1/mt-term-v1.service.mjs +53 -0
  22. package/esm2020/lib/modules/tld-term/services/api-v2/mt-term-v2.service.mjs +67 -0
  23. package/esm2020/lib/modules/tld-term/services/engine-term/eninge-term-api.service.mjs +32 -0
  24. package/esm2020/lib/modules/tld-term/services/engine-term/models/add-engine-terms-request-params.model.mjs +2 -0
  25. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-list.model.mjs +2 -0
  26. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-scope.enum.mjs +6 -0
  27. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-source.enum.mjs +6 -0
  28. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-status.enum.mjs +11 -0
  29. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.mjs +2 -0
  30. package/esm2020/lib/modules/tld-term/services/engine-term/models/index.mjs +8 -0
  31. package/esm2020/lib/modules/tld-term/services/engine-term/models/update-engine-terms-request-params.model.mjs +2 -0
  32. package/esm2020/lib/modules/tld-term/services/index.mjs +4 -4
  33. package/esm2020/lib/modules/tld-term/services/models/combined-collection-tooltip-key.enum.mjs +6 -0
  34. package/esm2020/lib/modules/tld-term/services/models/combined-collection.model.mjs +190 -0
  35. package/esm2020/lib/modules/tld-term/services/models/index.mjs +6 -0
  36. package/esm2020/lib/modules/tld-term/services/models/mt-collection-status.enum.mjs +14 -0
  37. package/esm2020/lib/modules/tld-term/services/models/mt-collection.model.mjs +2 -0
  38. package/esm2020/lib/modules/tld-term/services/models/mt-term-service.model.mjs +2 -0
  39. package/esm2020/lib/modules/tld-term/services/term-api/index.mjs +3 -0
  40. package/esm2020/lib/modules/tld-term/services/term-api/models/index.mjs +3 -0
  41. package/esm2020/lib/modules/tld-term/services/term-api/models/tld-term-collection-languages.model.mjs +2 -0
  42. package/esm2020/lib/modules/tld-term/services/term-api/models/tld-term-collection.model.mjs +2 -0
  43. package/esm2020/lib/modules/tld-term/services/term-api/term-api.service.mjs +58 -0
  44. package/esm2020/lib/modules/tld-term/services/terminology.service.mjs +292 -0
  45. package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +27 -12
  46. package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +24 -51
  47. package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +19 -12
  48. package/esm2020/lib/modules/tld-term/tld-term.module.mjs +6 -5
  49. package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +7 -7
  50. package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +4 -2
  51. package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +8 -8
  52. package/esm2020/lib/tld-translate.module.mjs +17 -4
  53. package/esm2020/public-api.mjs +4 -2
  54. package/fesm2015/tilde-nlp-ngx-translate.mjs +749 -435
  55. package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
  56. package/fesm2020/tilde-nlp-ngx-translate.mjs +724 -431
  57. package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
  58. package/lib/factories/file-api-service.factory.d.ts +2 -2
  59. package/lib/factories/mt-term-term-api.factory.d.ts +7 -0
  60. package/lib/factories/text-api-service.factory.d.ts +3 -3
  61. package/lib/i18n/de.d.ts +0 -5
  62. package/lib/i18n/en.d.ts +1 -5
  63. package/lib/i18n/et.d.ts +0 -5
  64. package/lib/i18n/fi.d.ts +0 -5
  65. package/lib/i18n/lt.d.ts +0 -5
  66. package/lib/i18n/lv.d.ts +0 -5
  67. package/lib/i18n/pl.d.ts +0 -5
  68. package/lib/i18n/sv.d.ts +0 -3
  69. package/lib/injection-tokens/index.d.ts +1 -0
  70. package/lib/injection-tokens/mt-term-api.token.d.ts +1 -0
  71. package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +1 -0
  72. package/lib/modules/tld-document/services/api/file-api.service.d.ts +3 -3
  73. package/lib/modules/tld-term/create-collection/create-collection.component.d.ts +17 -0
  74. package/lib/modules/tld-term/index.d.ts +1 -0
  75. package/lib/modules/tld-term/{models/mt-collection-status.model.d.ts → services/api-v1/models/mt-term-collection-v1-status.enum.d.ts} +1 -1
  76. package/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1.model.d.ts +12 -0
  77. package/lib/modules/tld-term/services/api-v1/mt-term-v1.service.d.ts +17 -0
  78. package/lib/modules/tld-term/services/api-v2/mt-term-v2.service.d.ts +18 -0
  79. package/lib/modules/tld-term/services/engine-term/eninge-term-api.service.d.ts +17 -0
  80. package/lib/modules/tld-term/services/engine-term/models/add-engine-terms-request-params.model.d.ts +8 -0
  81. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-list.model.d.ts +4 -0
  82. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-scope.enum.d.ts +4 -0
  83. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-source.enum.d.ts +4 -0
  84. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-status.enum.d.ts +9 -0
  85. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.d.ts +14 -0
  86. package/lib/modules/tld-term/services/engine-term/models/index.d.ts +7 -0
  87. package/lib/modules/tld-term/services/engine-term/models/update-engine-terms-request-params.model.d.ts +5 -0
  88. package/lib/modules/tld-term/services/index.d.ts +3 -3
  89. package/lib/modules/tld-term/services/models/combined-collection-tooltip-key.enum.d.ts +4 -0
  90. package/lib/modules/tld-term/services/models/combined-collection.model.d.ts +87 -0
  91. package/lib/modules/tld-term/services/models/index.d.ts +5 -0
  92. package/lib/modules/tld-term/services/models/mt-collection-status.enum.d.ts +11 -0
  93. package/lib/modules/tld-term/services/models/mt-collection.model.d.ts +14 -0
  94. package/lib/modules/tld-term/services/models/mt-term-service.model.d.ts +7 -0
  95. package/lib/modules/tld-term/services/term-api/index.d.ts +2 -0
  96. package/lib/modules/tld-term/services/term-api/models/index.d.ts +2 -0
  97. package/lib/modules/tld-term/{models/term-api → services/term-api/models}/tld-term-collection.model.d.ts +2 -2
  98. package/lib/modules/tld-term/services/term-api/term-api.service.d.ts +17 -0
  99. package/lib/modules/tld-term/services/terminology.service.d.ts +63 -0
  100. package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +13 -4
  101. package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +13 -17
  102. package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +11 -7
  103. package/lib/modules/tld-term/tld-term.module.d.ts +13 -12
  104. package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +3 -3
  105. package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +3 -3
  106. package/package.json +1 -1
  107. package/public-api.d.ts +3 -1
  108. package/src/assets/webcomponent/tld-translate.js +1 -1
  109. package/tilde-nlp-ngx-translate-2.1.0.tgz +0 -0
  110. package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +0 -7
  111. package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +0 -9
  112. package/esm2020/lib/modules/tld-term/models/index.mjs +0 -7
  113. package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +0 -2
  114. package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +0 -7
  115. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +0 -2
  116. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +0 -2
  117. package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +0 -114
  118. package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +0 -33
  119. package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +0 -34
  120. package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +0 -253
  121. package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +0 -5
  122. package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +0 -7
  123. package/lib/modules/tld-term/models/index.d.ts +0 -6
  124. package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +0 -15
  125. package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +0 -43
  126. package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +0 -13
  127. package/lib/modules/tld-term/services/term-api.service.d.ts +0 -15
  128. package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +0 -57
  129. package/tilde-nlp-ngx-translate-2.0.3.tgz +0 -0
  130. /package/lib/modules/tld-term/{models/term-api → services/term-api/models}/tld-term-collection-languages.model.d.ts +0 -0
@@ -0,0 +1,292 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { forkJoin, Subject, tap } from 'rxjs';
3
+ import { MT_TERM_API_TOKEN } from '../../../injection-tokens';
4
+ import { EngineTermCollectionSource } from './engine-term/models';
5
+ import { CombinedCollection } from './models/combined-collection.model';
6
+ import { MtCollectionStatus } from './models/mt-collection-status.enum';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../tld-common/services";
9
+ import * as i2 from "./term-api/term-api.service";
10
+ export class TerminologyService {
11
+ constructor(config, termApi, mtApi) {
12
+ this.config = config;
13
+ this.termApi = termApi;
14
+ this.mtApi = mtApi;
15
+ this._selected = null;
16
+ this.onDataUpdate = new Subject();
17
+ this.LOCAL_STORAGE_KEY = "systemLastCollections";
18
+ }
19
+ get selected() { return this._selected; }
20
+ set selected(val) {
21
+ this._selected = val;
22
+ this.storeSelectedInLocalStorage();
23
+ if (!this._selected) {
24
+ return;
25
+ }
26
+ if (!this._selected.mtCollection) {
27
+ this.addToEngine(this._selected);
28
+ }
29
+ }
30
+ get hasAnyCollections() {
31
+ return this._hasAnyCollections;
32
+ }
33
+ get shouldShowPromotion() {
34
+ return !this.hasAnyCollections && !this.hasEditPermissions;
35
+ }
36
+ get canCreateCollections() {
37
+ return this.config.termConfig.canCreateCollection;
38
+ }
39
+ get hasEditPermissions() {
40
+ return this.config?.coreConfig.isAuth && this.canCreateCollections && this.config.termConfig.isTermPortalSupported;
41
+ }
42
+ get isRefreshingCollections() {
43
+ return this._isRefreshingCollections;
44
+ }
45
+ get collections() {
46
+ return this._collections;
47
+ }
48
+ setEngine(engineId, languages = null, setSelectedFromLocalStorage = false) {
49
+ // engine is already set with that ID and no need to refresh it.
50
+ if (engineId !== this.engineId || JSON.stringify(languages) !== JSON.stringify(this.engineLanguages)) {
51
+ this.engineLanguages = languages;
52
+ this.engineId = engineId;
53
+ this._collections = new Set();
54
+ this.emitDataUpdateEvent();
55
+ // avoiding setter, so the null value is not storeed in location since it is not by user action
56
+ this._selected = null;
57
+ }
58
+ if (this.engineId) {
59
+ this.refreshCollections(setSelectedFromLocalStorage, true);
60
+ }
61
+ return this.onDataUpdate.asObservable();
62
+ }
63
+ refreshCollections(setSelectedFromLocalStorage = false, initialRefresh = false) {
64
+ if (!this.engineId || !this.config.termConfig.isCollectionsActivated || this.isRefreshingCollections) {
65
+ return;
66
+ }
67
+ // clear timeout since this refresh replaces scheduled
68
+ this.clearTimeout();
69
+ this._isRefreshingCollections = true;
70
+ let termResponse;
71
+ let mtApiResponse;
72
+ const observables = [
73
+ this.termApi.getCollectionList(this.engineLanguages)
74
+ .pipe(tap((response) => termResponse = response)),
75
+ this.mtApi.getList(this.engineId)
76
+ .pipe(tap((response) => mtApiResponse = response)),
77
+ ];
78
+ forkJoin(observables).subscribe({
79
+ // do not need response becaue responses are saved in pipe methods
80
+ next: () => {
81
+ this.isAnyImporting = false;
82
+ // note that termResponse and mtapiresponse gets changed during remove method
83
+ this.removeDeleted(termResponse, mtApiResponse, initialRefresh);
84
+ this.addCollections([...mtApiResponse, ...termResponse], initialRefresh);
85
+ if (setSelectedFromLocalStorage) {
86
+ this.setSelectedFromLocalStorage();
87
+ }
88
+ this._isRefreshingCollections = false;
89
+ this.scheduleRefresh();
90
+ },
91
+ error: (error) => {
92
+ this._isRefreshingCollections = false;
93
+ // it is enough to show error only in console. No special thing is necessary.
94
+ console.error(error);
95
+ },
96
+ });
97
+ }
98
+ addToEngine(collection) {
99
+ if (!collection || !collection.termCollection) {
100
+ console.error("Trying to attach collection that has no tilde term id.");
101
+ return;
102
+ }
103
+ // collection.mtStatus = MtCollectionStatus.PROCESSING;
104
+ // collection.isSynchronized = true;
105
+ this.mtApi.add(this.engineId, collection)
106
+ .subscribe({
107
+ error: () => {
108
+ // collection.mtStatus = MtCollectionStatus.ERROR;
109
+ // collection.errorKey = ErrorCode.COLLECTION_IMPORT;
110
+ }
111
+ });
112
+ }
113
+ create(sourceLanguage, targetLanguage, collectionName, redirectToEdit = true) {
114
+ return this.termApi.createCollection([sourceLanguage, targetLanguage], collectionName).pipe(tap((collection) => {
115
+ if (redirectToEdit) {
116
+ window.open(this.termApi.getEditLink(collection.termCollection.id, sourceLanguage, targetLanguage), "_blank");
117
+ }
118
+ this._collections.add(collection);
119
+ this.emitDataUpdateEvent();
120
+ this._hasAnyCollections = true;
121
+ }));
122
+ }
123
+ updateIfNecessary(collection) {
124
+ // collection is not imported and should be attached to engine
125
+ if (collection.isEdited()) {
126
+ this.mtApi.add(this.engineId, collection).subscribe((updatedCollection) => {
127
+ collection.update(updatedCollection);
128
+ });
129
+ }
130
+ }
131
+ /**
132
+ *
133
+ * @returns selected collection id if it is allowed to use collection for translations
134
+ */
135
+ selectedIdForTranslation() {
136
+ if (this.selected?.mtCollection && (this.selected.mtCollection.lastUpdated || this.selected.mtCollection?.status === MtCollectionStatus.READY)) {
137
+ return this.selected.mtCollection?.id;
138
+ }
139
+ return null;
140
+ }
141
+ startAutoRefresh(engineId, languages = null, setSelectedFromLocalStorage = false) {
142
+ this.hardAutoRefresh = true;
143
+ return this.setEngine(engineId ?? this.engineId, languages ?? this.engineLanguages, setSelectedFromLocalStorage);
144
+ }
145
+ stopAutoRefresh() {
146
+ this.clearTimeout();
147
+ this.isSoftAutoRefreshOn = false;
148
+ this.hardAutoRefresh = false;
149
+ }
150
+ removeMtCollection(collection, engineId = this.engineId) {
151
+ return this.mtApi.remove(engineId, collection).pipe(tap((response) => {
152
+ collection.update(response);
153
+ }));
154
+ }
155
+ scheduleRefresh(timeout) {
156
+ // if menu is closed and selected collection is not importing anymore - auto refreshing should be cancelled.
157
+ if (!this.hardAutoRefresh && !this.selected?.isImporting && this.isSoftAutoRefreshOn) {
158
+ this.stopAutoRefresh();
159
+ return;
160
+ }
161
+ // if hard auto refresho on, auto refresh should be on. If hard autoreferesh is off , refresh needs to be done only if selected is importing.
162
+ if (this.hardAutoRefresh || (!this.refreshTimeout && (this.isSoftAutoRefreshOn || this.selected?.isImporting))) {
163
+ const timeoutMs = timeout ?? (this.isAnyImporting ? this.config.termConfig.refreshTimeoutMsWhenImporting : this.config.termConfig.refreshTimeoutMs);
164
+ this.refreshTimeout = setTimeout(() => {
165
+ this.refreshTimeout = null;
166
+ this.refreshCollections();
167
+ }, timeoutMs);
168
+ }
169
+ }
170
+ /**
171
+ *
172
+ * @param newCollections
173
+ * @param initialRefresh Whether also editable collection fields should be updated. If not initial refresh, editable fields will not be updated.
174
+ */
175
+ addCollections(newCollections, initialRefresh) {
176
+ // sets collection list to this value at the end, so deleted collections are not in the list.
177
+ for (let collection of newCollections) {
178
+ // User shouldn't see failed collections if he can't retry to import them.
179
+ if (!this.hasEditPermissions
180
+ && collection.mtStatus === MtCollectionStatus.ERROR) {
181
+ continue;
182
+ }
183
+ if (collection.isImporting) {
184
+ this.isAnyImporting = true;
185
+ }
186
+ let existing = CombinedCollection.findExistingCollectionFromList(this.collections, collection);
187
+ // If term api doesn't have engine languages, collection should not be shown (if it is not already imported somehow);
188
+ if (!existing && collection.source === EngineTermCollectionSource.TILDE_TERM) {
189
+ let hasLanguages = true;
190
+ for (let i = 0; i < this.engineLanguages?.length; i++) {
191
+ if (!collection.termCollection.languages?.find(lang => lang.id === this.engineLanguages[i])) {
192
+ hasLanguages = false;
193
+ break;
194
+ }
195
+ }
196
+ if (!hasLanguages) {
197
+ continue;
198
+ }
199
+ }
200
+ if (!existing) {
201
+ this._collections.add(collection);
202
+ }
203
+ else {
204
+ existing.update(collection, initialRefresh);
205
+ }
206
+ }
207
+ // this._collections = updatedCollections;
208
+ this.emitDataUpdateEvent();
209
+ this._hasAnyCollections = this._collections.size > 0;
210
+ }
211
+ /**
212
+ * Should be called after refresh to check if there is any collections from api that are deleted.
213
+ */
214
+ removeDeleted(termResponse, mtResponse, initialRefresh) {
215
+ for (const collection of this.collections) {
216
+ const termExistingIx = CombinedCollection.findExistingIndexFromList(termResponse, collection);
217
+ const mtExistingIx = CombinedCollection.findExistingIndexFromList(mtResponse, collection);
218
+ if (termExistingIx === null && mtExistingIx === null) {
219
+ this.collections.delete(collection);
220
+ }
221
+ else {
222
+ if (termExistingIx !== null) {
223
+ const existing = termResponse[termExistingIx];
224
+ collection.update(existing, initialRefresh);
225
+ termResponse.splice(termExistingIx, 1);
226
+ }
227
+ else {
228
+ collection.deleteTerms();
229
+ }
230
+ if (mtExistingIx !== null) {
231
+ const existing = mtResponse[mtExistingIx];
232
+ collection.update(existing, initialRefresh);
233
+ mtResponse.splice(mtExistingIx, 1);
234
+ }
235
+ else {
236
+ collection.deleteMT();
237
+ }
238
+ }
239
+ }
240
+ }
241
+ clearTimeout() {
242
+ if (this.refreshTimeout) {
243
+ clearTimeout(this.refreshTimeout);
244
+ this.refreshTimeout = null;
245
+ }
246
+ }
247
+ setSelectedFromLocalStorage() {
248
+ // If no collections or selected is already set, it should not be changed from localstorage value. (Usually, localstorage should have the same value).
249
+ if (this.collections?.size === 0 || this.selected) {
250
+ return;
251
+ }
252
+ const storedId = this.readLocalStorage()?.[this.engineId];
253
+ if (!storedId) {
254
+ return;
255
+ }
256
+ const existing = Array.from(this.collections).find(item => item.termCollection?.id === storedId || item.mtCollection?.id === storedId);
257
+ this.selected = existing;
258
+ }
259
+ storeSelectedInLocalStorage() {
260
+ let localStorageObject = this.readLocalStorage();
261
+ if (!localStorageObject) {
262
+ localStorageObject = {};
263
+ }
264
+ localStorageObject[this.engineId] = this.selected ? (this.selected.termCollection?.id ?? this.selected.mtCollection?.id) : null;
265
+ // store term id if it exists
266
+ localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(localStorageObject));
267
+ }
268
+ readLocalStorage() {
269
+ const data = localStorage.getItem(this.LOCAL_STORAGE_KEY);
270
+ try {
271
+ return JSON.parse(data);
272
+ }
273
+ catch {
274
+ return null;
275
+ }
276
+ }
277
+ emitDataUpdateEvent() {
278
+ this.onDataUpdate.next(this.collections);
279
+ }
280
+ }
281
+ TerminologyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TerminologyService, deps: [{ token: i1.TldTranslateConfigService }, { token: i2.TermApiService }, { token: MT_TERM_API_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
282
+ TerminologyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TerminologyService, providedIn: 'root' });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TerminologyService, decorators: [{
284
+ type: Injectable,
285
+ args: [{
286
+ providedIn: 'root'
287
+ }]
288
+ }], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }, { type: i2.TermApiService }, { type: undefined, decorators: [{
289
+ type: Inject,
290
+ args: [MT_TERM_API_TOKEN]
291
+ }] }]; } });
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL3Rlcm1pbm9sb2d5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBYyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBT3hFLE1BQU0sT0FBTyxrQkFBa0I7SUE0RDdCLFlBQTZCLE1BQWlDLEVBQzNDLE9BQXVCLEVBQ0wsS0FBcUI7UUFGN0IsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDTCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQTVEbEQsY0FBUyxHQUF1QixJQUFJLENBQUM7UUE4QzVCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUFFdEQsc0JBQWlCLEdBQUcsdUJBQXVCLENBQUM7SUFZQyxDQUFDO0lBM0QvRCxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksUUFBUSxDQUFDLEdBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FB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QVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OytHQW5WVSxrQkFBa0IseUZBOERuQixpQkFBaUI7bUhBOURoQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkErREksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNVF9URVJNX0FQSV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlIH0gZnJvbSAnLi9lbmdpbmUtdGVybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tICcuL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTXRDb2xsZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi9tb2RlbHMvbXQtY29sbGVjdGlvbi1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IElNdFRlcm1TZXJ2aWNlIH0gZnJvbSAnLi9tb2RlbHMvbXQtdGVybS1zZXJ2aWNlLm1vZGVsJztcclxuaW1wb3J0IHsgVGVybUFwaVNlcnZpY2UgfSBmcm9tICcuL3Rlcm0tYXBpL3Rlcm0tYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVybWlub2xvZ3lTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IENvbWJpbmVkQ29sbGVjdGlvbiA9IG51bGw7XHJcbiAgZ2V0IHNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7IH1cclxuICBzZXQgc2VsZWN0ZWQodmFsOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsO1xyXG4gICAgdGhpcy5zdG9yZVNlbGVjdGVkSW5Mb2NhbFN0b3JhZ2UoKTtcclxuICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5fc2VsZWN0ZWQubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuYWRkVG9FbmdpbmUodGhpcy5fc2VsZWN0ZWQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbnlJbXBvcnRpbmc6IGJvb2xlYW47XHJcblxyXG5cclxuICBwcml2YXRlIF9oYXNBbnlDb2xsZWN0aW9uczogYm9vbGVhbjtcclxuICBnZXQgaGFzQW55Q29sbGVjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faGFzQW55Q29sbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IHNob3VsZFNob3dQcm9tb3Rpb24oKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaGFzQW55Q29sbGVjdGlvbnMgJiYgIXRoaXMuaGFzRWRpdFBlcm1pc3Npb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhbkNyZWF0ZUNvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnRlcm1Db25maWcuY2FuQ3JlYXRlQ29sbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIGdldCBoYXNFZGl0UGVybWlzc2lvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LmNvcmVDb25maWcuaXNBdXRoICYmIHRoaXMuY2FuQ3JlYXRlQ29sbGVjdGlvbnMgJiYgdGhpcy5jb25maWcudGVybUNvbmZpZy5pc1Rlcm1Qb3J0YWxTdXBwb3J0ZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc1JlZnJlc2hpbmdDb2xsZWN0aW9uczogYm9vbGVhbjtcclxuICBnZXQgaXNSZWZyZXNoaW5nQ29sbGVjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNSZWZyZXNoaW5nQ29sbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb2xsZWN0aW9uczogU2V0PENvbWJpbmVkQ29sbGVjdGlvbj47XHJcbiAgZ2V0IGNvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBvbkRhdGFVcGRhdGUgPSBuZXcgU3ViamVjdDxTZXQ8Q29tYmluZWRDb2xsZWN0aW9uPj4oKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBMT0NBTF9TVE9SQUdFX0tFWSA9IFwic3lzdGVtTGFzdENvbGxlY3Rpb25zXCI7XHJcbiAgcHJpdmF0ZSBlbmdpbmVJZDogc3RyaW5nO1xyXG4gIC8vIHN0b3JlcyBsYW5ndWFnZSBjb2RlcyB3aGljaCBhcmUgdXNlZCB0byBmaWx0ZXIgdmlzYmxlIGNvbGxlY3Rpb25zIGZyb20gdGVybSBhcGkuXHJcbiAgcHJpdmF0ZSBlbmdpbmVMYW5ndWFnZXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgcmVmcmVzaFRpbWVvdXQ6IGFueTtcclxuICAvLyBzb2Z0IHJlZnJlc2ggdGFrZXMgaW4gYWNjb3VudCBvdGhlciBwYXJhbXMgYXMgd2VsbC5cclxuICBwcml2YXRlIGlzU29mdEF1dG9SZWZyZXNoT246IGJvb2xlYW47XHJcbiAgLy8gc2hvdWxkIGRvIGF1dG9yZWZyZXNoIGJ5IGlnbm9yaW5nIGFueSBvdGhlciBwYXJhbXMuXHJcbiAgcHJpdmF0ZSBoYXJkQXV0b1JlZnJlc2g6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXJtQXBpOiBUZXJtQXBpU2VydmljZSxcclxuICAgIEBJbmplY3QoTVRfVEVSTV9BUElfVE9LRU4pIHByaXZhdGUgbXRBcGk6IElNdFRlcm1TZXJ2aWNlKSB7IH1cclxuXHJcbiAgc2V0RW5naW5lKGVuZ2luZUlkOiBzdHJpbmcsIGxhbmd1YWdlczogc3RyaW5nW10gPSBudWxsLCBzZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2UgPSBmYWxzZSk6IE9ic2VydmFibGU8U2V0PENvbWJpbmVkQ29sbGVjdGlvbj4+IHtcclxuICAgIC8vIGVuZ2luZSBpcyBhbHJlYWR5IHNldCB3aXRoIHRoYXQgSUQgYW5kIG5vIG5lZWQgdG8gcmVmcmVzaCBpdC5cclxuICAgIGlmIChlbmdpbmVJZCAhPT0gdGhpcy5lbmdpbmVJZCB8fCBKU09OLnN0cmluZ2lmeShsYW5ndWFnZXMpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLmVuZ2luZUxhbmd1YWdlcykpIHtcclxuICAgICAgdGhpcy5lbmdpbmVMYW5ndWFnZXMgPSBsYW5ndWFnZXM7XHJcbiAgICAgIHRoaXMuZW5naW5lSWQgPSBlbmdpbmVJZDtcclxuICAgICAgdGhpcy5fY29sbGVjdGlvbnMgPSBuZXcgU2V0KCk7XHJcbiAgICAgIHRoaXMuZW1pdERhdGFVcGRhdGVFdmVudCgpO1xyXG4gICAgICAvLyBhdm9pZGluZyBzZXR0ZXIsIHNvIHRoZSBudWxsIHZhbHVlIGlzIG5vdCBzdG9yZWVkIGluIGxvY2F0aW9uIHNpbmNlIGl0IGlzIG5vdCBieSB1c2VyIGFjdGlvblxyXG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZW5naW5lSWQpIHtcclxuICAgICAgdGhpcy5yZWZyZXNoQ29sbGVjdGlvbnMoc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5vbkRhdGFVcGRhdGUuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoQ29sbGVjdGlvbnMoc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlID0gZmFsc2UsIGluaXRpYWxSZWZyZXNoID0gZmFsc2UpIHtcclxuICAgIGlmICghdGhpcy5lbmdpbmVJZCB8fCAhdGhpcy5jb25maWcudGVybUNvbmZpZy5pc0NvbGxlY3Rpb25zQWN0aXZhdGVkIHx8IHRoaXMuaXNSZWZyZXNoaW5nQ29sbGVjdGlvbnMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNsZWFyIHRpbWVvdXQgc2luY2UgdGhpcyByZWZyZXNoIHJlcGxhY2VzIHNjaGVkdWxlZFxyXG4gICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcclxuXHJcbiAgICB0aGlzLl9pc1JlZnJlc2hpbmdDb2xsZWN0aW9ucyA9IHRydWU7XHJcblxyXG4gICAgbGV0IHRlcm1SZXNwb25zZTogQ29tYmluZWRDb2xsZWN0aW9uW107XHJcbiAgICBsZXQgbXRBcGlSZXNwb25zZTogQ29tYmluZWRDb2xsZWN0aW9uW107XHJcblxyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uW10+W10gPSBbXHJcbiAgICAgIHRoaXMudGVybUFwaS5nZXRDb2xsZWN0aW9uTGlzdCh0aGlzLmVuZ2luZUxhbmd1YWdlcylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHRlcm1SZXNwb25zZSA9IHJlc3BvbnNlKVxyXG4gICAgICAgICksXHJcbiAgICAgIHRoaXMubXRBcGkuZ2V0TGlzdCh0aGlzLmVuZ2luZUlkKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFwKChyZXNwb25zZSkgPT4gbXRBcGlSZXNwb25zZSA9IHJlc3BvbnNlKVxyXG4gICAgICAgICksXHJcbiAgICBdO1xyXG4gICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZSh7XHJcbiAgICAgIC8vIGRvIG5vdCBuZWVkIHJlc3BvbnNlIGJlY2F1ZSByZXNwb25zZXMgYXJlIHNhdmVkIGluIHBpcGUgbWV0aG9kc1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0FueUltcG9ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgIC8vIG5vdGUgdGhhdCB0ZXJtUmVzcG9uc2UgYW5kIG10YXBpcmVzcG9uc2UgZ2V0cyBjaGFuZ2VkIGR1cmluZyByZW1vdmUgbWV0aG9kXHJcbiAgICAgICAgdGhpcy5yZW1vdmVEZWxldGVkKHRlcm1SZXNwb25zZSwgbXRBcGlSZXNwb25zZSwgaW5pdGlhbFJlZnJlc2gpO1xyXG4gICAgICAgIHRoaXMuYWRkQ29sbGVjdGlvbnMoWy4uLm10QXBpUmVzcG9uc2UsIC4uLnRlcm1SZXNwb25zZV0sIGluaXRpYWxSZWZyZXNoKTtcclxuICAgICAgICBpZiAoc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9pc1JlZnJlc2hpbmdDb2xsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGVSZWZyZXNoKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLl9pc1JlZnJlc2hpbmdDb2xsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIC8vIGl0IGlzIGVub3VnaCB0byBzaG93IGVycm9yIG9ubHkgaW4gY29uc29sZS4gTm8gc3BlY2lhbCB0aGluZyBpcyBuZWNlc3NhcnkuXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZFRvRW5naW5lKGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbikge1xyXG4gICAgaWYgKCFjb2xsZWN0aW9uIHx8ICFjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUcnlpbmcgdG8gYXR0YWNoIGNvbGxlY3Rpb24gdGhhdCBoYXMgbm8gdGlsZGUgdGVybSBpZC5cIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIGNvbGxlY3Rpb24ubXRTdGF0dXMgPSBNdENvbGxlY3Rpb25TdGF0dXMuUFJPQ0VTU0lORztcclxuICAgIC8vIGNvbGxlY3Rpb24uaXNTeW5jaHJvbml6ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5tdEFwaS5hZGQodGhpcy5lbmdpbmVJZCwgY29sbGVjdGlvbilcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIC8vIGNvbGxlY3Rpb24ubXRTdGF0dXMgPSBNdENvbGxlY3Rpb25TdGF0dXMuRVJST1I7XHJcbiAgICAgICAgICAvLyBjb2xsZWN0aW9uLmVycm9yS2V5ID0gRXJyb3JDb2RlLkNPTExFQ1RJT05fSU1QT1JUO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBjcmVhdGUoc291cmNlTGFuZ3VhZ2U6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZywgY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcmVkaXJlY3RUb0VkaXQgPSB0cnVlKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQXBpLmNyZWF0ZUNvbGxlY3Rpb24oW3NvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZV0sIGNvbGxlY3Rpb25OYW1lKS5waXBlKFxyXG4gICAgICB0YXAoKGNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICBpZiAocmVkaXJlY3RUb0VkaXQpIHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKHRoaXMudGVybUFwaS5nZXRFZGl0TGluayhjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uLmlkLCBzb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2UpLCBcIl9ibGFua1wiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY29sbGVjdGlvbnMuYWRkKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgIHRoaXMuZW1pdERhdGFVcGRhdGVFdmVudCgpO1xyXG4gICAgICAgIHRoaXMuX2hhc0FueUNvbGxlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVJZk5lY2Vzc2FyeShjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIC8vIGNvbGxlY3Rpb24gaXMgbm90IGltcG9ydGVkIGFuZCBzaG91bGQgYmUgYXR0YWNoZWQgdG8gZW5naW5lXHJcbiAgICBpZiAoY29sbGVjdGlvbi5pc0VkaXRlZCgpKSB7XHJcbiAgICAgIHRoaXMubXRBcGkuYWRkKHRoaXMuZW5naW5lSWQsIGNvbGxlY3Rpb24pLnN1YnNjcmliZSgodXBkYXRlZENvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICBjb2xsZWN0aW9uLnVwZGF0ZSh1cGRhdGVkQ29sbGVjdGlvbik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqXHJcbiAqIEByZXR1cm5zIHNlbGVjdGVkIGNvbGxlY3Rpb24gaWQgaWYgaXQgaXMgYWxsb3dlZCB0byB1c2UgY29sbGVjdGlvbiBmb3IgdHJhbnNsYXRpb25zXHJcbiAqL1xyXG4gIHNlbGVjdGVkSWRGb3JUcmFuc2xhdGlvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQ/Lm10Q29sbGVjdGlvbiAmJiAodGhpcy5zZWxlY3RlZC5tdENvbGxlY3Rpb24ubGFzdFVwZGF0ZWQgfHwgdGhpcy5zZWxlY3RlZC5tdENvbGxlY3Rpb24/LnN0YXR1cyA9PT0gTXRDb2xsZWN0aW9uU3RhdHVzLlJFQURZKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZC5tdENvbGxlY3Rpb24/LmlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzdGFydEF1dG9SZWZyZXNoKGVuZ2luZUlkPzogc3RyaW5nLCBsYW5ndWFnZXM6IHN0cmluZ1tdID0gbnVsbCwgc2V0U2VsZWN0ZWRGcm9tTG9jYWxTdG9yYWdlID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaGFyZEF1dG9SZWZyZXNoID0gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNldEVuZ2luZShlbmdpbmVJZCA/PyB0aGlzLmVuZ2luZUlkLCBsYW5ndWFnZXMgPz8gdGhpcy5lbmdpbmVMYW5ndWFnZXMsIHNldFNlbGVjdGVkRnJvbUxvY2FsU3RvcmFnZSk7XHJcbiAgfVxyXG5cclxuICBzdG9wQXV0b1JlZnJlc2goKSB7XHJcbiAgICB0aGlzLmNsZWFyVGltZW91dCgpO1xyXG5cclxuICAgIHRoaXMuaXNTb2Z0QXV0b1JlZnJlc2hPbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5oYXJkQXV0b1JlZnJlc2ggPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU10Q29sbGVjdGlvbihjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24sIGVuZ2luZUlkID0gdGhpcy5lbmdpbmVJZCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRBcGkucmVtb3ZlKGVuZ2luZUlkLCBjb2xsZWN0aW9uKS5waXBlKFxyXG4gICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29sbGVjdGlvbi51cGRhdGUocmVzcG9uc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVSZWZyZXNoKHRpbWVvdXQ/OiBudW1iZXIpIHtcclxuICAgIC8vIGlmIG1lbnUgaXMgY2xvc2VkIGFuZCBzZWxlY3RlZCBjb2xsZWN0aW9uIGlzIG5vdCBpbXBvcnRpbmcgYW55bW9yZSAtIGF1dG8gcmVmcmVzaGluZyBzaG91bGQgYmUgY2FuY2VsbGVkLlxyXG4gICAgaWYgKCF0aGlzLmhhcmRBdXRvUmVmcmVzaCAmJiAhdGhpcy5zZWxlY3RlZD8uaXNJbXBvcnRpbmcgJiYgdGhpcy5pc1NvZnRBdXRvUmVmcmVzaE9uKSB7XHJcbiAgICAgIHRoaXMuc3RvcEF1dG9SZWZyZXNoKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBpZiBoYXJkIGF1dG8gcmVmcmVzaG8gb24sIGF1dG8gcmVmcmVzaCBzaG91bGQgYmUgb24uIElmIGhhcmQgYXV0b3JlZmVyZXNoIGlzIG9mZiAsIHJlZnJlc2ggbmVlZHMgdG8gYmUgZG9uZSBvbmx5IGlmIHNlbGVjdGVkIGlzIGltcG9ydGluZy5cclxuICAgIGlmICh0aGlzLmhhcmRBdXRvUmVmcmVzaCB8fCAoIXRoaXMucmVmcmVzaFRpbWVvdXQgJiYgKHRoaXMuaXNTb2Z0QXV0b1JlZnJlc2hPbiB8fCB0aGlzLnNlbGVjdGVkPy5pc0ltcG9ydGluZykpKSB7XHJcbiAgICAgIGNvbnN0IHRpbWVvdXRNcyA9IHRpbWVvdXQgPz8gKHRoaXMuaXNBbnlJbXBvcnRpbmcgPyB0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLnJlZnJlc2hUaW1lb3V0TXNXaGVuSW1wb3J0aW5nIDogdGhpcy5jb25maWcudGVybUNvbmZpZy5yZWZyZXNoVGltZW91dE1zKTtcclxuICAgICAgdGhpcy5yZWZyZXNoVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFRpbWVvdXQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaENvbGxlY3Rpb25zKClcclxuICAgICAgfSwgdGltZW91dE1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5ld0NvbGxlY3Rpb25zXHJcbiAgICogQHBhcmFtIGluaXRpYWxSZWZyZXNoIFdoZXRoZXIgYWxzbyBlZGl0YWJsZSBjb2xsZWN0aW9uIGZpZWxkcyBzaG91bGQgYmUgdXBkYXRlZC4gSWYgbm90IGluaXRpYWwgcmVmcmVzaCwgZWRpdGFibGUgZmllbGRzIHdpbGwgbm90IGJlIHVwZGF0ZWQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRDb2xsZWN0aW9ucyhuZXdDb2xsZWN0aW9uczogSXRlcmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiwgaW5pdGlhbFJlZnJlc2g6IGJvb2xlYW4pIHtcclxuICAgIC8vIHNldHMgY29sbGVjdGlvbiBsaXN0IHRvIHRoaXMgdmFsdWUgYXQgdGhlIGVuZCwgc28gZGVsZXRlZCBjb2xsZWN0aW9ucyBhcmUgbm90IGluIHRoZSBsaXN0LlxyXG4gICAgZm9yIChsZXQgY29sbGVjdGlvbiBvZiBuZXdDb2xsZWN0aW9ucykge1xyXG4gICAgICAvLyBVc2VyIHNob3VsZG4ndCBzZWUgZmFpbGVkIGNvbGxlY3Rpb25zIGlmIGhlIGNhbid0IHJldHJ5IHRvIGltcG9ydCB0aGVtLlxyXG4gICAgICBpZiAoIXRoaXMuaGFzRWRpdFBlcm1pc3Npb25zXHJcbiAgICAgICAgJiYgY29sbGVjdGlvbi5tdFN0YXR1cyA9PT0gTXRDb2xsZWN0aW9uU3RhdHVzLkVSUk9SKSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjb2xsZWN0aW9uLmlzSW1wb3J0aW5nKSB7XHJcbiAgICAgICAgdGhpcy5pc0FueUltcG9ydGluZyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGV4aXN0aW5nOiBDb21iaW5lZENvbGxlY3Rpb24gPSBDb21iaW5lZENvbGxlY3Rpb24uZmluZEV4aXN0aW5nQ29sbGVjdGlvbkZyb21MaXN0KHRoaXMuY29sbGVjdGlvbnMsIGNvbGxlY3Rpb24pO1xyXG5cclxuICAgICAgLy8gSWYgdGVybSBhcGkgZG9lc24ndCBoYXZlIGVuZ2luZSBsYW5ndWFnZXMsIGNvbGxlY3Rpb24gc2hvdWxkIG5vdCBiZSBzaG93biAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW1wb3J0ZWQgc29tZWhvdyk7XHJcbiAgICAgIGlmICghZXhpc3RpbmcgJiYgY29sbGVjdGlvbi5zb3VyY2UgPT09IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlLlRJTERFX1RFUk0pIHtcclxuICAgICAgICBsZXQgaGFzTGFuZ3VhZ2VzID0gdHJ1ZTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZW5naW5lTGFuZ3VhZ2VzPy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKCFjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uLmxhbmd1YWdlcz8uZmluZChsYW5nID0+IGxhbmcuaWQgPT09IHRoaXMuZW5naW5lTGFuZ3VhZ2VzW2ldKSkge1xyXG4gICAgICAgICAgICBoYXNMYW5ndWFnZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWhhc0xhbmd1YWdlcykge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIWV4aXN0aW5nKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGVjdGlvbnMuYWRkKGNvbGxlY3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGV4aXN0aW5nLnVwZGF0ZShjb2xsZWN0aW9uLCBpbml0aWFsUmVmcmVzaCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLl9jb2xsZWN0aW9ucyA9IHVwZGF0ZWRDb2xsZWN0aW9ucztcclxuICAgIHRoaXMuZW1pdERhdGFVcGRhdGVFdmVudCgpO1xyXG4gICAgdGhpcy5faGFzQW55Q29sbGVjdGlvbnMgPSB0aGlzLl9jb2xsZWN0aW9ucy5zaXplID4gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCB0byBjaGVjayBpZiB0aGVyZSBpcyBhbnkgY29sbGVjdGlvbnMgZnJvbSBhcGkgdGhhdCBhcmUgZGVsZXRlZC5cclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZURlbGV0ZWQodGVybVJlc3BvbnNlOiBDb21iaW5lZENvbGxlY3Rpb25bXSwgbXRSZXNwb25zZTogQ29tYmluZWRDb2xsZWN0aW9uW10sIGluaXRpYWxSZWZyZXNoOiBib29sZWFuKSB7XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIHRoaXMuY29sbGVjdGlvbnMpIHtcclxuICAgICAgY29uc3QgdGVybUV4aXN0aW5nSXggPSBDb21iaW5lZENvbGxlY3Rpb24uZmluZEV4aXN0aW5nSW5kZXhGcm9tTGlzdCh0ZXJtUmVzcG9uc2UsIGNvbGxlY3Rpb24pO1xyXG4gICAgICBjb25zdCBtdEV4aXN0aW5nSXggPSBDb21iaW5lZENvbGxlY3Rpb24uZmluZEV4aXN0aW5nSW5kZXhGcm9tTGlzdChtdFJlc3BvbnNlLCBjb2xsZWN0aW9uKTtcclxuICAgICAgaWYgKHRlcm1FeGlzdGluZ0l4ID09PSBudWxsICYmIG10RXhpc3RpbmdJeCA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMuZGVsZXRlKGNvbGxlY3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICh0ZXJtRXhpc3RpbmdJeCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSB0ZXJtUmVzcG9uc2VbdGVybUV4aXN0aW5nSXhdO1xyXG4gICAgICAgICAgY29sbGVjdGlvbi51cGRhdGUoZXhpc3RpbmcsIGluaXRpYWxSZWZyZXNoKTtcclxuICAgICAgICAgIHRlcm1SZXNwb25zZS5zcGxpY2UodGVybUV4aXN0aW5nSXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbGxlY3Rpb24uZGVsZXRlVGVybXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChtdEV4aXN0aW5nSXggIT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gbXRSZXNwb25zZVttdEV4aXN0aW5nSXhdO1xyXG4gICAgICAgICAgY29sbGVjdGlvbi51cGRhdGUoZXhpc3RpbmcsIGluaXRpYWxSZWZyZXNoKTtcclxuICAgICAgICAgIG10UmVzcG9uc2Uuc3BsaWNlKG10RXhpc3RpbmdJeCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29sbGVjdGlvbi5kZWxldGVNVCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclRpbWVvdXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZWZyZXNoVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoVGltZW91dCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaFRpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZEZyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICAvLyBJZiBubyBjb2xsZWN0aW9ucyBvciBzZWxlY3RlZCBpcyBhbHJlYWR5IHNldCwgaXQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gbG9jYWxzdG9yYWdlIHZhbHVlLiAoVXN1YWxseSwgbG9jYWxzdG9yYWdlIHNob3VsZCBoYXZlIHRoZSBzYW1lIHZhbHVlKS5cclxuICAgIGlmICh0aGlzLmNvbGxlY3Rpb25zPy5zaXplID09PSAwIHx8IHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RvcmVkSWQgPSB0aGlzLnJlYWRMb2NhbFN0b3JhZ2UoKT8uW3RoaXMuZW5naW5lSWRdO1xyXG4gICAgaWYgKCFzdG9yZWRJZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXhpc3RpbmcgPSBBcnJheS5mcm9tKHRoaXMuY29sbGVjdGlvbnMpLmZpbmQoaXRlbSA9PiBpdGVtLnRlcm1Db2xsZWN0aW9uPy5pZCA9PT0gc3RvcmVkSWQgfHwgaXRlbS5tdENvbGxlY3Rpb24/LmlkID09PSBzdG9yZWRJZCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gZXhpc3Rpbmc7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBzdG9yZVNlbGVjdGVkSW5Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBsZXQgbG9jYWxTdG9yYWdlT2JqZWN0ID0gdGhpcy5yZWFkTG9jYWxTdG9yYWdlKCk7XHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZU9iamVjdCkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2VPYmplY3QgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBsb2NhbFN0b3JhZ2VPYmplY3RbdGhpcy5lbmdpbmVJZF0gPSB0aGlzLnNlbGVjdGVkID8gKHRoaXMuc2VsZWN0ZWQudGVybUNvbGxlY3Rpb24/LmlkID8/IHRoaXMuc2VsZWN0ZWQubXRDb2xsZWN0aW9uPy5pZCkgOiBudWxsO1xyXG4gICAgLy8gc3RvcmUgdGVybSBpZCBpZiBpdCBleGlzdHNcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuTE9DQUxfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KGxvY2FsU3RvcmFnZU9iamVjdCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkTG9jYWxTdG9yYWdlKCk6IGFueSB7XHJcbiAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5MT0NBTF9TVE9SQUdFX0tFWSk7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcclxuICAgIH1cclxuICAgIGNhdGNoIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXREYXRhVXBkYXRlRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uRGF0YVVwZGF0ZS5uZXh0KHRoaXMuY29sbGVjdGlvbnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,19 +1,34 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../services/tld-term-collections.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "../tld-term-collection-list/tld-term-collection-list.component";
6
- import * as i4 from "../tld-term-promotion/tld-term-promotion.component";
3
+ import * as i1 from "../services/terminology.service";
4
+ import * as i2 from "../../tld-tooltip/services/tld-system.service";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@angular/flex-layout/flex";
7
+ import * as i5 from "../tld-term-collection-list/tld-term-collection-list.component";
8
+ import * as i6 from "../tld-term-promotion/tld-term-promotion.component";
9
+ import * as i7 from "../create-collection/create-collection.component";
7
10
  export class TldTermCollectionComponent {
8
- constructor(terms) {
9
- this.terms = terms;
11
+ constructor(terminologyService, systemService) {
12
+ this.terminologyService = terminologyService;
13
+ this.systemService = systemService;
14
+ }
15
+ get promotion() { return this.terminologyService.shouldShowPromotion; }
16
+ get hasEditPermissions() { return this.terminologyService.hasEditPermissions; }
17
+ ngOnInit() {
18
+ this.subscription = this.systemService.getActiveData().subscribe((data) => {
19
+ this.sourceLanguageCode = data.sourceLang.lang;
20
+ this.targetLanguageCode = data.targetLang.lang;
21
+ this.terminologyService.setEngine(data.systemId, [this.sourceLanguageCode, this.targetLanguageCode]);
22
+ });
23
+ }
24
+ ngOnDestroy() {
25
+ this.subscription.unsubscribe();
10
26
  }
11
- get promotion() { return this.terms.shouldShowPromotion; }
12
27
  }
13
- TldTermCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionComponent, deps: [{ token: i1.TldTermCollectionsService }], target: i0.ɵɵFactoryTarget.Component });
14
- TldTermCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermCollectionComponent, selector: "tld-term-collection", ngImport: i0, template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"!promotion\">\r\n <tld-term-collection-list></tld-term-collection-list>\r\n </ng-container>\r\n <ng-container *ngIf=\"promotion\">\r\n <tld-term-promotion></tld-term-promotion>\r\n </ng-container>\r\n</section>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TldTermCollectionListComponent, selector: "tld-term-collection-list" }, { kind: "component", type: i4.TldTermPromotionComponent, selector: "tld-term-promotion" }] });
28
+ TldTermCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionComponent, deps: [{ token: i1.TerminologyService }, { token: i2.TldSystemService }], target: i0.ɵɵFactoryTarget.Component });
29
+ TldTermCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermCollectionComponent, selector: "tld-term-collection", ngImport: i0, template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"!promotion\">\r\n <tld-term-collection-list></tld-term-collection-list>\r\n <footer class=\"tld-collection-list-footer\" fxLayout=\"row\" *ngIf=\"hasEditPermissions\">\r\n <tld-create-collection [sourceLanguageCode]=\"sourceLanguageCode\" [targetLanguageCode]=\"targetLanguageCode\">\r\n </tld-create-collection>\r\n </footer>\r\n </ng-container>\r\n <ng-container *ngIf=\"promotion\">\r\n <tld-term-promotion></tld-term-promotion>\r\n </ng-container>\r\n</section>\r\n", styles: [".tld-collection-list-footer{padding:1em .75em}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i5.TldTermCollectionListComponent, selector: "tld-term-collection-list" }, { kind: "component", type: i6.TldTermPromotionComponent, selector: "tld-term-promotion" }, { kind: "component", type: i7.CreateCollectionComponent, selector: "tld-create-collection", inputs: ["sourceLanguageCode", "targetLanguageCode"] }] });
15
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionComponent, decorators: [{
16
31
  type: Component,
17
- args: [{ selector: 'tld-term-collection', template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"!promotion\">\r\n <tld-term-collection-list></tld-term-collection-list>\r\n </ng-container>\r\n <ng-container *ngIf=\"promotion\">\r\n <tld-term-promotion></tld-term-promotion>\r\n </ng-container>\r\n</section>" }]
18
- }], ctorParameters: function () { return [{ type: i1.TldTermCollectionsService }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGVybS90bGQtdGVybS1jb2xsZWN0aW9uL3RsZC10ZXJtLWNvbGxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi90bGQtdGVybS1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVExQyxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFlBQTZCLEtBQWdDO1FBQWhDLFVBQUssR0FBTCxLQUFLLENBQTJCO0lBQUksQ0FBQztJQUZsRSxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzt1SEFEL0MsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDUnZDLHdTQU9VOzJGRENHLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGxkVGVybUNvbGxlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RsZC10ZXJtLWNvbGxlY3Rpb25zLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdGVybS1jb2xsZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRlcm0tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRlcm0tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUZXJtQ29sbGVjdGlvbkNvbXBvbmVudCB7XHJcbiAgZ2V0IHByb21vdGlvbigpIHsgcmV0dXJuIHRoaXMudGVybXMuc2hvdWxkU2hvd1Byb21vdGlvbjsgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlcm1zOiBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlKSB7IH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3Qtd3JhcHBlclwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcHJvbW90aW9uXCI+XHJcbiAgICA8dGxkLXRlcm0tY29sbGVjdGlvbi1saXN0PjwvdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9tb3Rpb25cIj5cclxuICAgIDx0bGQtdGVybS1wcm9tb3Rpb24+PC90bGQtdGVybS1wcm9tb3Rpb24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvc2VjdGlvbj4iXX0=
32
+ args: [{ selector: 'tld-term-collection', template: "<section class=\"tld-collection-list-wrapper\">\r\n <ng-container *ngIf=\"!promotion\">\r\n <tld-term-collection-list></tld-term-collection-list>\r\n <footer class=\"tld-collection-list-footer\" fxLayout=\"row\" *ngIf=\"hasEditPermissions\">\r\n <tld-create-collection [sourceLanguageCode]=\"sourceLanguageCode\" [targetLanguageCode]=\"targetLanguageCode\">\r\n </tld-create-collection>\r\n </footer>\r\n </ng-container>\r\n <ng-container *ngIf=\"promotion\">\r\n <tld-term-promotion></tld-term-promotion>\r\n </ng-container>\r\n</section>\r\n", styles: [".tld-collection-list-footer{padding:1em .75em}\n"] }]
33
+ }], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.TldSystemService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGVybS90bGQtdGVybS1jb2xsZWN0aW9uL3RsZC10ZXJtLWNvbGxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi90bGQtdGVybS1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFVN0QsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQyxZQUE2QixrQkFBc0MsRUFDaEQsYUFBK0I7UUFEckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFBSSxDQUFDO0lBUnZELElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUN2RSxJQUFJLGtCQUFrQixLQUFLLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQVMvRSxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMvQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7dUhBckJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDJEQ1Z2QywyakJBWUE7MkZERmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtdG9vbHRpcC9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZXJtaW5vbG9neS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRlcm0tY29sbGVjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10ZXJtLWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10ZXJtLWNvbGxlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVGVybUNvbGxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZ2V0IHByb21vdGlvbigpIHsgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNob3VsZFNob3dQcm9tb3Rpb247IH1cclxuICBnZXQgaGFzRWRpdFBlcm1pc3Npb25zKCkgeyByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFzRWRpdFBlcm1pc3Npb25zOyB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XHJcbiAgdGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbVNlcnZpY2U6IFRsZFN5c3RlbVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldEFjdGl2ZURhdGEoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZUNvZGUgPSBkYXRhLnNvdXJjZUxhbmcubGFuZztcclxuICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUgPSBkYXRhLnRhcmdldExhbmcubGFuZztcclxuICAgICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2V0RW5naW5lKGRhdGEuc3lzdGVtSWQsIFt0aGlzLnNvdXJjZUxhbmd1YWdlQ29kZSwgdGhpcy50YXJnZXRMYW5ndWFnZUNvZGVdKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC13cmFwcGVyXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcm9tb3Rpb25cIj5cclxuICAgIDx0bGQtdGVybS1jb2xsZWN0aW9uLWxpc3Q+PC90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3Q+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC1mb290ZXJcIiBmeExheW91dD1cInJvd1wiICpuZ0lmPVwiaGFzRWRpdFBlcm1pc3Npb25zXCI+XHJcbiAgICAgIDx0bGQtY3JlYXRlLWNvbGxlY3Rpb24gW3NvdXJjZUxhbmd1YWdlQ29kZV09XCJzb3VyY2VMYW5ndWFnZUNvZGVcIiBbdGFyZ2V0TGFuZ3VhZ2VDb2RlXT1cInRhcmdldExhbmd1YWdlQ29kZVwiPlxyXG4gICAgICA8L3RsZC1jcmVhdGUtY29sbGVjdGlvbj5cclxuICAgIDwvZm9vdGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9tb3Rpb25cIj5cclxuICAgIDx0bGQtdGVybS1wcm9tb3Rpb24+PC90bGQtdGVybS1wcm9tb3Rpb24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuIl19