@ngxviewbuilder/runtime 0.12.3 → 0.12.4
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/{ngxviewbuilder-runtime-autocomplete-element-DU7SLoLr.mjs → ngxviewbuilder-runtime-autocomplete-element-DaMuvB5p.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-avatar-element-BWDaCDjn.mjs → ngxviewbuilder-runtime-avatar-element-DCy3AEHW.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-badge-element-BUv50o0Q.mjs → ngxviewbuilder-runtime-badge-element-Ci2NV1MC.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-breadcrumbs-element-Cb6NqxmR.mjs → ngxviewbuilder-runtime-breadcrumbs-element-Bcq5oGI8.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-button-element-LyUxiJtc.mjs → ngxviewbuilder-runtime-button-element-DzJfdCcx.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-chart-element-B1uBvHYa.mjs → ngxviewbuilder-runtime-chart-element-BCg3CI8N.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-checkbox-element-CQzqJqdF.mjs → ngxviewbuilder-runtime-checkbox-element-Cj3HQvkO.mjs} +1 -1
- package/fesm2022/ngxviewbuilder-runtime-column-p1eNMy75.mjs +43 -0
- package/fesm2022/{ngxviewbuilder-runtime-custom-html-element-BR66FC2H.mjs → ngxviewbuilder-runtime-custom-html-element-BMdxXckt.mjs} +2 -2
- package/fesm2022/{ngxviewbuilder-runtime-date-range-element-C8RBJmSj.mjs → ngxviewbuilder-runtime-date-range-element-BE_9Ba_-.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-datepicker-element-DT_3dhZY.mjs → ngxviewbuilder-runtime-datepicker-element-BFwwyRt-.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-divider-element-Dy0UbtJZ.mjs → ngxviewbuilder-runtime-divider-element-CbCCZ1Qu.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-element-wrapper-B7BMP_6p.mjs → ngxviewbuilder-runtime-element-wrapper-EBaWVZvf.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-file-upload-element-D9RXvqKq.mjs → ngxviewbuilder-runtime-file-upload-element-BYU3tLZw.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-icon-element-BhhGVwki.mjs → ngxviewbuilder-runtime-icon-element-CLqWvjKL.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-iframe-element-Cu80J5fV.mjs → ngxviewbuilder-runtime-iframe-element-Bl74Zm6Y.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-image-element-BcWyv_1w.mjs → ngxviewbuilder-runtime-image-element-iDSaX41Y.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-list-box-element-B3arqtqK.mjs → ngxviewbuilder-runtime-list-box-element-DrDTjcW5.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-list-grid-element-Bypg41r5.mjs → ngxviewbuilder-runtime-list-grid-element-CgiY-Lcy.mjs} +1 -1
- package/fesm2022/ngxviewbuilder-runtime-mark-for-check-on-property-change-WxfEoWah.mjs +1 -0
- package/fesm2022/{ngxviewbuilder-runtime-message-card-element-MG1HDIgX.mjs → ngxviewbuilder-runtime-message-card-element-60xyNliB.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-multi-select-element-BWJx77Pg.mjs → ngxviewbuilder-runtime-multi-select-element-DHqMGyjB.mjs} +1 -1
- package/fesm2022/ngxviewbuilder-runtime-ngx-view-builder-api.service-BYA8UfCA.mjs +4 -0
- package/fesm2022/{ngxviewbuilder-runtime-number-element-Cv-8UzYT.mjs → ngxviewbuilder-runtime-number-element-CdhEZPYp.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-number-stepper-element-BERWK0N0.mjs → ngxviewbuilder-runtime-number-stepper-element-f9KrH_YF.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-nvb-select-DZN__Phy.mjs → ngxviewbuilder-runtime-nvb-select-Dkh4SIap.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-page-title-element-BypNpk6v.mjs → ngxviewbuilder-runtime-page-title-element-8T25QlMQ.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-phone-input-element-Dc7vFgbW.mjs → ngxviewbuilder-runtime-phone-input-element-CZCkF7lo.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-progress-bar-element-CTsruGjk.mjs → ngxviewbuilder-runtime-progress-bar-element-BqCwBXpQ.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-radio-element-BVBDe7Ek.mjs → ngxviewbuilder-runtime-radio-element-CvVAePSa.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-rich-text-element-wkavxR4_.mjs → ngxviewbuilder-runtime-rich-text-element-D4knphJa.mjs} +2 -2
- package/fesm2022/{ngxviewbuilder-runtime-router-outlet-element-D5MWP2_E.mjs → ngxviewbuilder-runtime-router-outlet-element-BzouCbdg.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-select-button-element-BTHOZoYq.mjs → ngxviewbuilder-runtime-select-button-element-CtysP-cz.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-select-element-BmbIc2mf.mjs → ngxviewbuilder-runtime-select-element-Be-lGWkG.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-signature-pad-element-C8Wm6CAy.mjs → ngxviewbuilder-runtime-signature-pad-element-CJqDTYnO.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-single-checkbox-element-D6xFAe8I.mjs → ngxviewbuilder-runtime-single-checkbox-element-DrJcESGd.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-slider-element-DDrlelkb.mjs → ngxviewbuilder-runtime-slider-element-CsTb-3m4.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-spacer-element-Byp-9ui-.mjs → ngxviewbuilder-runtime-spacer-element-OAgkc5so.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-stats-card-element-BlpMA4xC.mjs → ngxviewbuilder-runtime-stats-card-element-CzjJKd-Y.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-table-element-DkFoz7Bs.mjs → ngxviewbuilder-runtime-table-element-C25OdqZn.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-text-element-x7z3vIFH.mjs → ngxviewbuilder-runtime-text-element-0eMB6sBj.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-textarea-element-vyeC0HZs.mjs → ngxviewbuilder-runtime-textarea-element-BRJA5Lzb.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-time-picker-element-Dkz84ISf.mjs → ngxviewbuilder-runtime-time-picker-element-3qN3oxZF.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-toast-element-C52aKUbB.mjs → ngxviewbuilder-runtime-toast-element-CzKIkQVY.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-toggle-switch-element-DVMw3-vu.mjs → ngxviewbuilder-runtime-toggle-switch-element-D9svjkSP.mjs} +1 -1
- package/fesm2022/{ngxviewbuilder-runtime-video-element-DgRSZoBA.mjs → ngxviewbuilder-runtime-video-element-CliJnlMX.mjs} +1 -1
- package/fesm2022/ngxviewbuilder-runtime.mjs +1 -1
- package/package.json +1 -1
- package/types/ngxviewbuilder-runtime.d.ts +138 -35
- package/fesm2022/ngxviewbuilder-runtime-column-C9GuN6kf.mjs +0 -43
- package/fesm2022/ngxviewbuilder-runtime-mark-for-check-on-property-change-CJyXJ0dU.mjs +0 -1
- package/fesm2022/ngxviewbuilder-runtime-ngx-view-builder-api.service-YhGi50Zx.mjs +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngxviewbuilder/runtime",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"description": "Native Angular runtime for NGX View Builder: renders forms, dashboards, data tables and guided flows defined as JSON.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://ngxviewbuilder.io",
|
|
@@ -955,6 +955,87 @@ export interface IDataSourceChangedEvent {
|
|
|
955
955
|
result: unknown;
|
|
956
956
|
dataSource: DataSourceModel;
|
|
957
957
|
}
|
|
958
|
+
export interface ITranslationEntry {
|
|
959
|
+
key: string;
|
|
960
|
+
label: string;
|
|
961
|
+
sourceValue: string;
|
|
962
|
+
structurePath?: string;
|
|
963
|
+
}
|
|
964
|
+
/** One translatable text of a view, as `api.getContentTranslationKeys()` lists it. */
|
|
965
|
+
export interface INgxViewBuilderContentTranslationKey {
|
|
966
|
+
key: string;
|
|
967
|
+
label: string;
|
|
968
|
+
/** The text in the view's default language. */
|
|
969
|
+
source: string;
|
|
970
|
+
/** What each other language has for it so far. */
|
|
971
|
+
translations: Record<string, string>;
|
|
972
|
+
/** The view's other languages that have no text for it yet. */
|
|
973
|
+
missing: string[];
|
|
974
|
+
}
|
|
975
|
+
export declare class LocalizationService {
|
|
976
|
+
private templateEngineService;
|
|
977
|
+
/**
|
|
978
|
+
* Translations the host supplies through `api.setContentTranslations`, kept apart from
|
|
979
|
+
* the structure so they survive a view loaded later or replaced. Same shape and keys
|
|
980
|
+
* as `localization.texts`; on a key both define, the host's text wins.
|
|
981
|
+
*/
|
|
982
|
+
private hostTexts;
|
|
983
|
+
/**
|
|
984
|
+
* The language the host asked for with `api.setLanguage` (or the runtime's `language`
|
|
985
|
+
* input). It beats the view's own `settings.language`, which is only the default: a view
|
|
986
|
+
* that arrives after the host picked a language still renders in that language.
|
|
987
|
+
*/
|
|
988
|
+
private activeLanguage;
|
|
989
|
+
setActiveLanguage(language: string | null | undefined): void;
|
|
990
|
+
getActiveLanguage(): string;
|
|
991
|
+
setHostTexts(texts: Record<string, Record<string, string>>, merge?: boolean): void;
|
|
992
|
+
getHostTexts(): Record<string, Record<string, string>>;
|
|
993
|
+
/** The structure's own texts with the host's on top, per language. */
|
|
994
|
+
getEffectiveTexts(structure: IStructure | null | undefined): Record<string, Record<string, string>>;
|
|
995
|
+
/**
|
|
996
|
+
* Keeps translations on the item they belong to when a list is reordered or shortened.
|
|
997
|
+
* Keys are index paths (`elements.orders.columnsConfig[2].label`), so moving the third
|
|
998
|
+
* column to the front would otherwise hand its translation to whatever column landed at
|
|
999
|
+
* index 2. Items match by `id`, then by position when only fields changed, then by
|
|
1000
|
+
* `key`, `value` or `name`. A removed item's translations are dropped.
|
|
1001
|
+
*/
|
|
1002
|
+
remapListTranslations(structure: IStructure | null | undefined, listPath: string, previous: unknown, next: unknown): boolean;
|
|
1003
|
+
private matchListItems;
|
|
1004
|
+
ensureLocalization(structure: IStructure | null | undefined): ILocalization;
|
|
1005
|
+
getTranslationEntries(structure: IStructure | null | undefined): ITranslationEntry[];
|
|
1006
|
+
applyTranslations(structure: IStructure): IStructure;
|
|
1007
|
+
/**
|
|
1008
|
+
* Texts an element only has as a default of its model (the two tabs a new tabs element
|
|
1009
|
+
* starts with, a table's empty message) are not in the saved JSON, so `applyTranslations`
|
|
1010
|
+
* had nothing to write their translation into. The translations editor lists them from
|
|
1011
|
+
* the live models, so they are translated here, on the models, once those exist.
|
|
1012
|
+
* `structure` is the one `applyTranslations` returned.
|
|
1013
|
+
*/
|
|
1014
|
+
applyTranslationsToModels(structure: IStructure, models: Record<string, unknown> | null | undefined): void;
|
|
1015
|
+
private resolveDictionary;
|
|
1016
|
+
private collectElementEntries;
|
|
1017
|
+
private collectManualListEntries;
|
|
1018
|
+
private collectActionEntries;
|
|
1019
|
+
private collectTableColumnEntries;
|
|
1020
|
+
private collectTemplateDictionaryEntries;
|
|
1021
|
+
private collectStoredTemplateEntries;
|
|
1022
|
+
private collectNestedLocalizableEntries;
|
|
1023
|
+
private collectTemplateTokensFromUnknown;
|
|
1024
|
+
private pushTemplateTranslationEntries;
|
|
1025
|
+
private pushDictionaryEntry;
|
|
1026
|
+
private isLocalizableFieldName;
|
|
1027
|
+
private humanizeFieldName;
|
|
1028
|
+
/**
|
|
1029
|
+
* The built-in strings ship in English only. A view that wants another language
|
|
1030
|
+
* supplies it through its own localization entries, so there is nothing to branch on
|
|
1031
|
+
* here.
|
|
1032
|
+
*/
|
|
1033
|
+
private resolveTotalTemplateFallback;
|
|
1034
|
+
private pushStringEntry;
|
|
1035
|
+
private pushStringEntryWithFallback;
|
|
1036
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationService, never>;
|
|
1037
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
1038
|
+
}
|
|
958
1039
|
export type UiDictionary = Record<string, string>;
|
|
959
1040
|
export type UiDictionaries = Record<string, UiDictionary>;
|
|
960
1041
|
export declare class UiTranslationService {
|
|
@@ -2108,6 +2189,12 @@ export declare class NgxViewBuilderApiService {
|
|
|
2108
2189
|
getTableCellElementTypes(): ITableCellElementType[];
|
|
2109
2190
|
getLanguage(): string;
|
|
2110
2191
|
setLanguage(language: string): void;
|
|
2192
|
+
/**
|
|
2193
|
+
* A view's own `settings.language` is its default. It is applied only while the host
|
|
2194
|
+
* has not picked a language: otherwise loading a view would switch the host back.
|
|
2195
|
+
*/
|
|
2196
|
+
applyViewDefaultLanguage(language: string): void;
|
|
2197
|
+
private applyLanguage;
|
|
2111
2198
|
resolveHostLanguage(options?: INgxViewBuilderLanguageResolveOptions): INgxViewBuilderResolvedLanguage;
|
|
2112
2199
|
applyHostLanguage(options?: INgxViewBuilderLanguageResolveOptions): INgxViewBuilderResolvedLanguage;
|
|
2113
2200
|
startLanguageSync(options?: INgxViewBuilderLanguageSyncOptions): INgxViewBuilderLanguageSyncHandle;
|
|
@@ -2151,6 +2238,22 @@ export declare class NgxViewBuilderApiService {
|
|
|
2151
2238
|
private applyDefaultDataSourcesTo;
|
|
2152
2239
|
setAiAssistantConfig(config: INgxViewBuilderAiAssistantConfig | null | undefined): void;
|
|
2153
2240
|
getAiAssistantConfig(): INgxViewBuilderAiAssistantConfig;
|
|
2241
|
+
/**
|
|
2242
|
+
* Every text of the current view that can be translated: the key to translate it under,
|
|
2243
|
+
* a readable label, the text in the view's default language, and what each language has
|
|
2244
|
+
* for it so far (the view's own translations with the host's on top). `missing` lists the
|
|
2245
|
+
* view's languages that have no text yet.
|
|
2246
|
+
*/
|
|
2247
|
+
getContentTranslationKeys(): INgxViewBuilderContentTranslationKey[];
|
|
2248
|
+
/** The view's translations with the host's on top, per language. */
|
|
2249
|
+
getContentTranslations(): Record<string, Record<string, string>>;
|
|
2250
|
+
/**
|
|
2251
|
+
* Content translations from the host, `{ lv: { 'elements.orders.columnsConfig[0].label': 'Vārds' } }`.
|
|
2252
|
+
*
|
|
2253
|
+
* They are kept apart from the view as well as written into it, so they can be supplied
|
|
2254
|
+
* before the view loads and still apply after it is replaced. On a key the view also
|
|
2255
|
+
* translates, the host's text wins. `getContentTranslationKeys()` lists the keys.
|
|
2256
|
+
*/
|
|
2154
2257
|
setContentTranslations(translations: Record<string, Record<string, string>>, merge?: boolean): void;
|
|
2155
2258
|
requestTabChange(tab: NgxViewBuilderBuilderTabCode): void;
|
|
2156
2259
|
notifyTabChanged(tab: NgxViewBuilderBuilderTabCode): void;
|
|
@@ -2192,7 +2295,14 @@ export declare class NgxViewBuilderApiService {
|
|
|
2192
2295
|
replaceSettings(settings: IStructure['settings'] | null | undefined): boolean;
|
|
2193
2296
|
updateSettings(updater: (settings: IStructure['settings']) => void): boolean;
|
|
2194
2297
|
setData(data: Record<string, unknown>): void;
|
|
2195
|
-
|
|
2298
|
+
/**
|
|
2299
|
+
* The view's data as the host sees it. The library keeps its own state next to it under
|
|
2300
|
+
* `__` keys (`__variables`, `__route`, `__external`); those are left out unless
|
|
2301
|
+
* `includeInternal` asks for them, e.g. to build an expression context.
|
|
2302
|
+
*/
|
|
2303
|
+
getData(options?: {
|
|
2304
|
+
includeInternal?: boolean;
|
|
2305
|
+
}): Record<string, unknown>;
|
|
2196
2306
|
setTableSettings(identifier: string, settings: INgxViewBuilderTableColumnSetting[], options?: {
|
|
2197
2307
|
tableName?: string | null;
|
|
2198
2308
|
elementName?: string | null;
|
|
@@ -2232,6 +2342,12 @@ export declare class NgxViewBuilderApiService {
|
|
|
2232
2342
|
private readonly inheritedRegistrations;
|
|
2233
2343
|
private bridgedCallDepth;
|
|
2234
2344
|
private installScopeBridging;
|
|
2345
|
+
/**
|
|
2346
|
+
* A setting the host changes again (the language every time a person switches it)
|
|
2347
|
+
* would otherwise pile up one replay entry per call. Only its last value matters, and a
|
|
2348
|
+
* full replace of the content translations makes the earlier ones irrelevant too.
|
|
2349
|
+
*/
|
|
2350
|
+
private recordInheritedRegistration;
|
|
2235
2351
|
private invokeBridgedMethod;
|
|
2236
2352
|
private resolveViewDelegateApi;
|
|
2237
2353
|
private unregisterScopedChildApi;
|
|
@@ -5177,6 +5293,12 @@ export declare class ElementActionService {
|
|
|
5177
5293
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElementActionService, never>;
|
|
5178
5294
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
5179
5295
|
}
|
|
5296
|
+
/**
|
|
5297
|
+
* Events the API instance already fires on its parent itself (it does that for `<nvb-scope>`,
|
|
5298
|
+
* which has no bridge). Bridging them again made a host subscribed on the root API get each
|
|
5299
|
+
* of them twice.
|
|
5300
|
+
*/
|
|
5301
|
+
export declare const NGX_VIEW_BUILDER_PARENT_FORWARDED_EVENTS: ReadonlySet<string>;
|
|
5180
5302
|
/**
|
|
5181
5303
|
* Forwards every event fired on an isolated (component-provided) API instance to
|
|
5182
5304
|
* another instance typically the root singleton the host application injects.
|
|
@@ -5748,6 +5870,7 @@ export interface INgxViewBuilderAiSurface {
|
|
|
5748
5870
|
*/
|
|
5749
5871
|
export declare class NgxViewBuilderAiApiService {
|
|
5750
5872
|
private readonly ngxViewBuilderApiService;
|
|
5873
|
+
private readonly localizationService;
|
|
5751
5874
|
private readonly elementFocusService;
|
|
5752
5875
|
private readonly eventService;
|
|
5753
5876
|
private selection;
|
|
@@ -6837,6 +6960,12 @@ export declare class ExpressionService {
|
|
|
6837
6960
|
private applyPropertyChangeNotification;
|
|
6838
6961
|
private evaluateAndSet;
|
|
6839
6962
|
private resolveElementExpressionKey;
|
|
6963
|
+
/**
|
|
6964
|
+
* The element's own state, before any `readonlyIf` / `disableIf`. It is recorded here,
|
|
6965
|
+
* the first time a condition is applied: the preview recorded it lazily, after the first
|
|
6966
|
+
* evaluation had already switched the element off, so the condition's result became the
|
|
6967
|
+
* element's permanent base and the element never came back on.
|
|
6968
|
+
*/
|
|
6840
6969
|
private resolveElementBaseReadonly;
|
|
6841
6970
|
private resolveElementBaseDisabled;
|
|
6842
6971
|
private applyResetIfState;
|
|
@@ -10250,40 +10379,14 @@ export declare class DomInstrumentationService {
|
|
|
10250
10379
|
static ɵfac: i0.ɵɵFactoryDeclaration<DomInstrumentationService, never>;
|
|
10251
10380
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
10252
10381
|
}
|
|
10253
|
-
|
|
10254
|
-
|
|
10255
|
-
|
|
10256
|
-
|
|
10257
|
-
|
|
10258
|
-
|
|
10259
|
-
|
|
10260
|
-
|
|
10261
|
-
ensureLocalization(structure: IStructure | null | undefined): ILocalization;
|
|
10262
|
-
getTranslationEntries(structure: IStructure | null | undefined): ITranslationEntry[];
|
|
10263
|
-
applyTranslations(structure: IStructure): IStructure;
|
|
10264
|
-
private collectElementEntries;
|
|
10265
|
-
private collectManualListEntries;
|
|
10266
|
-
private collectActionEntries;
|
|
10267
|
-
private collectTableColumnEntries;
|
|
10268
|
-
private collectTemplateDictionaryEntries;
|
|
10269
|
-
private collectStoredTemplateEntries;
|
|
10270
|
-
private collectNestedLocalizableEntries;
|
|
10271
|
-
private collectTemplateTokensFromUnknown;
|
|
10272
|
-
private pushTemplateTranslationEntries;
|
|
10273
|
-
private pushDictionaryEntry;
|
|
10274
|
-
private isLocalizableFieldName;
|
|
10275
|
-
private humanizeFieldName;
|
|
10276
|
-
/**
|
|
10277
|
-
* The built-in strings ship in English only. A view that wants another language
|
|
10278
|
-
* supplies it through its own localization entries, so there is nothing to branch on
|
|
10279
|
-
* here.
|
|
10280
|
-
*/
|
|
10281
|
-
private resolveTotalTemplateFallback;
|
|
10282
|
-
private pushStringEntry;
|
|
10283
|
-
private pushStringEntryWithFallback;
|
|
10284
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationService, never>;
|
|
10285
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
10286
|
-
}
|
|
10382
|
+
/**
|
|
10383
|
+
* Drops the translations of elements the view no longer has. Content translation keys
|
|
10384
|
+
* start with the element's name, so deleting an element left its rows behind in every
|
|
10385
|
+
* language and the translations table kept listing them.
|
|
10386
|
+
*/
|
|
10387
|
+
export declare function pruneElementTranslations(localization: ILocalization | null | undefined, elements: Record<string, unknown> | null | undefined): boolean;
|
|
10388
|
+
/** Moves an element's translations to its new name when it is renamed. */
|
|
10389
|
+
export declare function renameElementTranslations(localization: ILocalization | null | undefined, oldName: string, newName: string): boolean;
|
|
10287
10390
|
export declare class MarkupSecurityService {
|
|
10288
10391
|
private sanitizer;
|
|
10289
10392
|
private documentRef;
|