@decaf-ts/for-angular 0.0.22 → 0.0.24
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/components/component-renderer/component-renderer.component.d.ts +3 -2
- package/components/crud-field/crud-field.component.d.ts +4 -2
- package/components/fieldset/fieldset.component.d.ts +10 -1
- package/components/for-angular-components.module.d.ts +3 -2
- package/components/index.d.ts +1 -1
- package/components/layout/layout.component.d.ts +1 -24
- package/components/list/list.component.d.ts +1 -2
- package/components/model-renderer/model-renderer.component.d.ts +6 -1
- package/components/steped-form/steped-form.component.d.ts +243 -0
- package/engine/NgxBaseComponent.d.ts +3 -3
- package/engine/NgxCrudFormField.d.ts +1 -0
- package/engine/NgxFormService.d.ts +381 -48
- package/engine/NgxRenderingEngine.d.ts +4 -2
- package/engine/constants.d.ts +12 -0
- package/engine/interfaces.d.ts +1 -1
- package/engine/types.d.ts +17 -3
- package/esm2022/components/component-renderer/component-renderer.component.mjs +10 -4
- package/esm2022/components/crud-field/crud-field.component.mjs +14 -3
- package/esm2022/components/crud-form/crud-form.component.mjs +3 -3
- package/esm2022/components/empty-state/empty-state.component.mjs +2 -2
- package/esm2022/components/fieldset/fieldset.component.mjs +6 -4
- package/esm2022/components/for-angular-components.module.mjs +10 -5
- package/esm2022/components/index.mjs +2 -2
- package/esm2022/components/layout/layout.component.mjs +4 -29
- package/esm2022/components/list/list.component.mjs +5 -4
- package/esm2022/components/model-renderer/model-renderer.component.mjs +10 -3
- package/esm2022/components/steped-form/steped-form.component.mjs +291 -0
- package/esm2022/engine/NgxBaseComponent.mjs +12 -12
- package/esm2022/engine/NgxCrudFormField.mjs +19 -17
- package/esm2022/engine/NgxFormService.mjs +438 -57
- package/esm2022/engine/NgxRenderingEngine.mjs +21 -10
- package/esm2022/engine/ValidatorFactory.mjs +4 -4
- package/esm2022/engine/constants.mjs +6 -1
- package/esm2022/engine/interfaces.mjs +1 -1
- package/esm2022/engine/types.mjs +1 -1
- package/esm2022/for-angular-common.module.mjs +4 -2
- package/esm2022/i18n/Loader.mjs +4 -4
- package/fesm2022/decaf-ts-for-angular.mjs +830 -153
- package/fesm2022/decaf-ts-for-angular.mjs.map +1 -1
- package/for-angular-common.module.d.ts +8 -2
- package/i18n/Loader.d.ts +2 -7
- package/package.json +9 -9
- package/assets/i18n/en.json +0 -80
- package/assets/i18n/pt.json +0 -80
- package/components/list/constants.d.ts +0 -25
- package/esm2022/components/list/constants.mjs +0 -6
package/esm2022/i18n/Loader.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
2
2
|
import { forkJoin } from 'rxjs';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
|
-
import { inject
|
|
4
|
+
import { inject } from '@angular/core';
|
|
5
5
|
import { cleanSpaces, getLocaleFromClassName } from '../helpers';
|
|
6
6
|
import en from './data/en.json';
|
|
7
|
+
import { I18N_CONFIG_TOKEN } from '../for-angular-common.module';
|
|
7
8
|
export class I18nLoader {
|
|
8
9
|
static loadFromHttp(http) {
|
|
9
10
|
function getSuffix() {
|
|
@@ -43,7 +44,6 @@ export function getLocaleContextByKey(locale, phrase) {
|
|
|
43
44
|
const parts = phrase.split(' ');
|
|
44
45
|
return `${locale}.${cleanSpaces(parts.join('.'), true)}`;
|
|
45
46
|
}
|
|
46
|
-
export const I18N_CONFIG_TOKEN = new InjectionToken('I18N_CONFIG_TOKEN');
|
|
47
47
|
export function I18nLoaderFactory(http) {
|
|
48
48
|
const { resources, versionedSuffix } = inject(I18N_CONFIG_TOKEN, { optional: true }) ?? getI18nLoaderFactoryProviderConfig().useValue;
|
|
49
49
|
return new MultiI18nLoader(http, resources, versionedSuffix);
|
|
@@ -54,7 +54,7 @@ export function getI18nLoaderFactoryProviderConfig(resources = [], versionedSuff
|
|
|
54
54
|
return {
|
|
55
55
|
provide: I18N_CONFIG_TOKEN,
|
|
56
56
|
useValue: { resources: [
|
|
57
|
-
{ prefix: './assets/i18n/', suffix: '.json' },
|
|
57
|
+
// { prefix: './assets/i18n/', suffix: '.json' },
|
|
58
58
|
...resources
|
|
59
59
|
], versionedSuffix }
|
|
60
60
|
};
|
|
@@ -83,4 +83,4 @@ export class MultiI18nLoader {
|
|
|
83
83
|
}));
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pMThuL0xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFnQjtRQUNsQyxTQUFTLFNBQVM7WUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN6QixPQUFPLGlCQUFpQixLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBWSxDQUFDO1FBQzlGLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFNLFNBQVEsbUJBQW1CO1lBQ2xDLGNBQWMsQ0FBQyxJQUFZO2dCQUNsQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7U0FDRixDQUFDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBR0QsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQXFDLEVBQUUsTUFB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RSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDOUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGlvbk9iamVjdCB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlSHR0cExvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2h0dHAtbG9hZGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCAgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJMThuUmVzb3VyY2VDb25maWd9IGZyb20gJy4uL2VuZ2luZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25MaWtlIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IGNsZWFuU3BhY2VzLCBnZXRMb2NhbGVGcm9tQ2xhc3NOYW1lIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgZW4gZnJvbSAnLi9kYXRhL2VuLmpzb24nO1xuaW1wb3J0IHsgSTE4Tl9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9mb3ItYW5ndWxhci1jb21tb24ubW9kdWxlJztcbmV4cG9ydCBjbGFzcyBJMThuTG9hZGVyIHtcbiAgc3RhdGljIGxvYWRGcm9tSHR0cChodHRwOiBIdHRwQ2xpZW50KTogVHJhbnNsYXRlTG9hZGVyIHtcbiAgICBmdW5jdGlvbiBnZXRTdWZmaXgoKSB7XG4gICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICByZXR1cm4gYC5qc29uP3ZlcnNpb249JHt0b2RheS5nZXRGdWxsWWVhcigpfSR7dG9kYXkuZ2V0TW9udGgoKX0ke3RvZGF5LmdldERheSgpfWAgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgVHJhbnNsYXRlSHR0cExvYWRlciB7XG4gICAgICBvdmVycmlkZSBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uT2JqZWN0PiB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHN1cGVyLmdldFRyYW5zbGF0aW9uKGxhbmcpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgIH0pKGh0dHAsICcuL2Fzc2V0cy9pMThuLycsIGdldFN1ZmZpeCgpKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGVDb250ZXh0KGNsYXp6OiBGdW5jdGlvbkxpa2UgfCBvYmplY3QgfCBzdHJpbmcsIHN1ZmZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRMb2NhbGVGcm9tQ2xhc3NOYW1lKGNsYXp6LCBzdWZmaXgpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgYSBsb2NhbGl6ZWQgc3RyaW5nIGJ5IGNvbWJpbmluZyBsb2NhbGUgYW5kIHBocmFzZVxuICogQHN1bW1hcnkgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIGNyZWF0ZXMgYSBwcm9wZXJseSBmb3JtYXR0ZWQgbG9jYWxlIHN0cmluZyBieSBjb21iaW5pbmdcbiAqIGEgbG9jYWxlIGlkZW50aWZpZXIgd2l0aCBhIHBocmFzZS4gSXQgaGFuZGxlcyBlZGdlIGNhc2VzIHN1Y2ggYXMgZW1wdHkgcGhyYXNlcyxcbiAqIG1pc3NpbmcgbG9jYWxlcywgYW5kIHBocmFzZXMgdGhhdCBhbHJlYWR5IGluY2x1ZGUgdGhlIGxvY2FsZSBwcmVmaXguIFRoaXMgZnVuY3Rpb25cbiAqIGlzIHVzZWZ1bCBmb3IgZW5zdXJpbmcgY29uc2lzdGVudCBmb3JtYXR0aW5nIG9mIGxvY2FsaXplZCBzdHJpbmdzIHRocm91Z2hvdXQgdGhlIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgLSBUaGUgbG9jYWxlIGlkZW50aWZpZXIgKGUuZy4sICdlbicsICdmcicpXG4gKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gcGhyYXNlIC0gVGhlIHBocmFzZSB0byBsb2NhbGl6ZVxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIGxvY2FsZSBzdHJpbmcsIG9yIGVtcHR5IHN0cmluZyBpZiBwaHJhc2UgaXMgdW5kZWZpbmVkXG4gKlxuICogQGZ1bmN0aW9uIGdlbmVyYXRlTG9jYWxlRnJvbVN0cmluZ1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItYW5ndWxhclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxlQ29udGV4dEJ5S2V5KFxuICBsb2NhbGU6IHN0cmluZyxcbiAgcGhyYXNlOiBzdHJpbmcgfCB1bmRlZmluZWRcbik6IHN0cmluZyB7XG4gIGlmICghcGhyYXNlKVxuICAgIHJldHVybiBsb2NhbGU7XG4gIGlmICghbG9jYWxlIHx8IHBocmFzZS5pbmNsdWRlcyhgJHtsb2NhbGV9LmApKVxuICAgIHJldHVybiBwaHJhc2U7XG4gIGNvbnN0IHBhcnRzID0gcGhyYXNlLnNwbGl0KCcgJyk7XG4gIHJldHVybiBgJHtsb2NhbGV9LiR7Y2xlYW5TcGFjZXMocGFydHMuam9pbignLicpLCB0cnVlKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSTE4bkxvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCk6IFRyYW5zbGF0ZUxvYWRlciB7XG4gIGNvbnN0IHtyZXNvdXJjZXMsIHZlcnNpb25lZFN1ZmZpeH0gPSBpbmplY3QoSTE4Tl9DT05GSUdfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZ2V0STE4bkxvYWRlckZhY3RvcnlQcm92aWRlckNvbmZpZygpLnVzZVZhbHVlO1xuICByZXR1cm4gbmV3IE11bHRpSTE4bkxvYWRlcihodHRwLCByZXNvdXJjZXMsIHZlcnNpb25lZFN1ZmZpeCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJMThuTG9hZGVyRmFjdG9yeVByb3ZpZGVyQ29uZmlnKHJlc291cmNlczogSTE4blJlc291cmNlQ29uZmlnIHwgSTE4blJlc291cmNlQ29uZmlnW10gPSBbXSwgdmVyc2lvbmVkU3VmZml4OiBib29sZWFuID0gZmFsc2UpIHtcbiAgaWYoIUFycmF5LmlzQXJyYXkocmVzb3VyY2VzKSlcbiAgICByZXNvdXJjZXMgPSBbcmVzb3VyY2VzXTtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBJMThOX0NPTkZJR19UT0tFTixcbiAgICB1c2VWYWx1ZTogeyByZXNvdXJjZXM6IFtcbiAgICAgIC8vIHsgcHJlZml4OiAnLi9hc3NldHMvaTE4bi8nLCBzdWZmaXg6ICcuanNvbicgfSxcbiAgICAgIC4uLnJlc291cmNlc1xuICAgIF0sIHZlcnNpb25lZFN1ZmZpeH1cbiAgfVxufVxuXG5jb25zdCBsaWJMYW5ndWFnZTogUmVjb3JkPHN0cmluZywgVHJhbnNsYXRpb25PYmplY3Q+ID0ge2VufTtcblxuZXhwb3J0IGNsYXNzIE11bHRpSTE4bkxvYWRlciBpbXBsZW1lbnRzIEkxOG5Mb2FkZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVzb3VyY2VzOiBJMThuUmVzb3VyY2VDb25maWdbXSA9IFtdLCBwcml2YXRlIHZlcnNpb25lZFN1ZmZpeDogYm9vbGVhbiA9IGZhbHNlKSB7fVxuXG4gIHByaXZhdGUgZ2V0U3VmZml4KHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZighdGhpcy52ZXJzaW9uZWRTdWZmaXgpXG4gICAgICByZXR1cm4gc3VmZml4O1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICByZXR1cm4gYCR7c3VmZml4fT92ZXJzaW9uPSR7dG9kYXkuZ2V0RnVsbFllYXIoKX0ke3RvZGF5LmdldE1vbnRoKCl9JHt0b2RheS5nZXREYXkoKX1gIGFzIHN0cmluZztcbiAgfVxuXG4gIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb25PYmplY3Q+IHtcbiAgICBjb25zdCBsaWJLZXlzID0gbGliTGFuZ3VhZ2VbbGFuZ10gfHwgbGliTGFuZ3VhZ2VbXCJlblwiXSB8fCB7fTtcbiAgICBjb25zdCBodHRwUmVxdWVzdHMkID0gZm9ya0pvaW4oXG4gICAgICB0aGlzLnJlc291cmNlcy5tYXAoY29uZmlnID0+XG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8VHJhbnNsYXRpb25PYmplY3Q+KFxuICAgICAgICAgIGAke2NvbmZpZy5wcmVmaXh9JHtsYW5nfSR7dGhpcy5nZXRTdWZmaXgoY29uZmlnLnN1ZmZpeCl9YFxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm4gaHR0cFJlcXVlc3RzJC5waXBlKFxuICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubGliS2V5cyxcbiAgICAgICAgICAuLi5yZXMucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+ICh7IC4uLmFjYywgLi4uY3VycmVudCB9KSwge30pXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|