@libs-ui/components-inputs-multi-language 0.2.356-23 → 0.2.356-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/README.md +0 -1
- package/esm2022/interfaces/multi-language.interface.mjs +1 -1
- package/esm2022/items/items.component.mjs +75 -64
- package/esm2022/multi-language.component.mjs +140 -114
- package/esm2022/pipes/display-language.pipe.mjs +2 -2
- package/fesm2022/libs-ui-components-inputs-multi-language.mjs +214 -177
- package/fesm2022/libs-ui-components-inputs-multi-language.mjs.map +1 -1
- package/interfaces/multi-language.interface.d.ts +1 -1
- package/items/items.component.d.ts +20 -13
- package/multi-language.component.d.ts +15 -9
- package/package.json +10 -10
|
@@ -38,7 +38,7 @@ export interface IConfigMultiLanguageHeader {
|
|
|
38
38
|
export type TYPE_VIEW_MULTI_LANGUAGE = 'text' | 'integer' | 'number' | 'editor' | 'float' | 'bigint';
|
|
39
39
|
export interface IInputMultiLanguageFunctionControlEvent {
|
|
40
40
|
checkIsValid: () => Promise<boolean>;
|
|
41
|
-
getData: () =>
|
|
41
|
+
getData: () => IDataMultiLanguage[] | IDataMultiLanguage | undefined;
|
|
42
42
|
}
|
|
43
43
|
export interface ICurrencyUnit {
|
|
44
44
|
label: string;
|
|
@@ -3,14 +3,16 @@ import { IInputValidFunctionControlEvent, IValidRequired } from '@libs-ui/compon
|
|
|
3
3
|
import { IConfigMultiLanguageHeader, IDataItem, IDataMultiLanguage, IInputMultiLanguageFunctionControlEvent } from '../interfaces/multi-language.interface';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class LibsUiComponentsInputsMultiLanguageItemsComponent implements OnInit {
|
|
6
|
-
protected dataMultiKey: import("@angular/core").WritableSignal<
|
|
6
|
+
protected dataMultiKey: import("@angular/core").WritableSignal<IDataItem[][]>;
|
|
7
7
|
protected langDefault: import("@angular/core").WritableSignal<string>;
|
|
8
8
|
protected configHeader: import("@angular/core").WritableSignal<IConfigMultiLanguageHeader | undefined>;
|
|
9
9
|
protected validRequired: import("@angular/core").WritableSignal<IValidRequired>;
|
|
10
10
|
protected validRequiredWhenInputHasValue: import("@angular/core").WritableSignal<IValidRequired | undefined>;
|
|
11
11
|
protected dataHeader: import("@angular/core").WritableSignal<string | undefined>;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/** Một control valid header cho mỗi dòng (theo index). */
|
|
13
|
+
private inputValidByRow;
|
|
14
|
+
/** Một control multi-language cho mỗi dòng (theo index). */
|
|
15
|
+
private multiLanguageByRow;
|
|
14
16
|
readonly configItems: import("@angular/core").InputSignal<IDataItem[]>;
|
|
15
17
|
readonly dataMultiLanguage: import("@angular/core").ModelSignal<IDataMultiLanguage[]>;
|
|
16
18
|
readonly zIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
@@ -21,22 +23,27 @@ export declare class LibsUiComponentsInputsMultiLanguageItemsComponent implement
|
|
|
21
23
|
readonly valueUpDownNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
22
24
|
readonly maxValueNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
23
25
|
readonly onlyAcceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
26
|
+
readonly classIconAddLanguage: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
|
|
24
27
|
readonly outClick: import("@angular/core").OutputEmitterRef<void>;
|
|
25
28
|
readonly outFunctionControl: import("@angular/core").OutputEmitterRef<IInputMultiLanguageFunctionControlEvent>;
|
|
26
29
|
readonly outChangeValue: import("@angular/core").OutputEmitterRef<void>;
|
|
27
30
|
constructor();
|
|
28
31
|
ngOnInit(): void;
|
|
29
32
|
get FunctionsControl(): IInputMultiLanguageFunctionControlEvent;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
protected
|
|
35
|
-
protected
|
|
33
|
+
/**
|
|
34
|
+
* Mỗi dòng cần một bản `data` (shallow copy từng `IDataItem`) để multi-language con không dùng chung một mảng tham chiếu.
|
|
35
|
+
*/
|
|
36
|
+
private syncDataMultiKey;
|
|
37
|
+
protected handlerAdd(): void;
|
|
38
|
+
protected handlerRemove(index: number): void;
|
|
39
|
+
private reindexRowMapsAfterRemove;
|
|
40
|
+
protected handlerClick(e: Event): void;
|
|
41
|
+
protected handlerFunctionsControlInputLanguage(event: IInputMultiLanguageFunctionControlEvent, rowIndex: number): void;
|
|
42
|
+
protected handlerFunctionsControlInputValid(event: IInputValidFunctionControlEvent, rowIndex: number): void;
|
|
36
43
|
private validate;
|
|
37
|
-
protected getData():
|
|
38
|
-
protected handlerChangeValue(value?: string | number, type?: string):
|
|
39
|
-
|
|
44
|
+
protected getData(): IDataMultiLanguage[];
|
|
45
|
+
protected handlerChangeValue(value?: string | number, type?: string): void;
|
|
46
|
+
private applyValidRequiredWhenHeaderHasValue;
|
|
40
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsInputsMultiLanguageItemsComponent, never>;
|
|
41
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsMultiLanguageItemsComponent, "libs_ui-components-inputs-multi_language-items", never, { "configItems": { "alias": "configItems"; "required": false; "isSignal": true; }; "dataMultiLanguage": { "alias": "dataMultiLanguage"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "ignoreAdd": { "alias": "ignoreAdd"; "required": false; "isSignal": true; }; "labelAddItem": { "alias": "labelAddItem"; "required": false; "isSignal": true; }; "singleLanguage": { "alias": "singleLanguage"; "required": false; "isSignal": true; }; "acceptNegativeValue": { "alias": "acceptNegativeValue"; "required": false; "isSignal": true; }; "valueUpDownNumber": { "alias": "valueUpDownNumber"; "required": false; "isSignal": true; }; "maxValueNumber": { "alias": "maxValueNumber"; "required": false; "isSignal": true; }; "onlyAcceptNegativeValue": { "alias": "onlyAcceptNegativeValue"; "required": false; "isSignal": true; }; }, { "dataMultiLanguage": "dataMultiLanguageChange"; "outClick": "outClick"; "outFunctionControl": "outFunctionControl"; "outChangeValue": "outChangeValue"; }, never, never, true, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsMultiLanguageItemsComponent, "libs_ui-components-inputs-multi_language-items", never, { "configItems": { "alias": "configItems"; "required": false; "isSignal": true; }; "dataMultiLanguage": { "alias": "dataMultiLanguage"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "ignoreAdd": { "alias": "ignoreAdd"; "required": false; "isSignal": true; }; "labelAddItem": { "alias": "labelAddItem"; "required": false; "isSignal": true; }; "singleLanguage": { "alias": "singleLanguage"; "required": false; "isSignal": true; }; "acceptNegativeValue": { "alias": "acceptNegativeValue"; "required": false; "isSignal": true; }; "valueUpDownNumber": { "alias": "valueUpDownNumber"; "required": false; "isSignal": true; }; "maxValueNumber": { "alias": "maxValueNumber"; "required": false; "isSignal": true; }; "onlyAcceptNegativeValue": { "alias": "onlyAcceptNegativeValue"; "required": false; "isSignal": true; }; "classIconAddLanguage": { "alias": "classIconAddLanguage"; "required": false; "isSignal": true; }; }, { "dataMultiLanguage": "dataMultiLanguageChange"; "outClick": "outClick"; "outFunctionControl": "outFunctionControl"; "outChangeValue": "outChangeValue"; }, never, never, true, never>;
|
|
42
49
|
}
|
|
@@ -38,13 +38,13 @@ export declare class LibsUiComponentsInputsMultiLanguageComponent implements OnI
|
|
|
38
38
|
readonly classIncludeKey: import("@angular/core").InputSignal<string>;
|
|
39
39
|
readonly classIncludeValue: import("@angular/core").InputSignal<string>;
|
|
40
40
|
readonly dataLanguage: import("@angular/core").ModelSignal<IDataMultiLanguage>;
|
|
41
|
-
readonly multiLine: import("@angular/core").InputSignal<boolean | undefined>;
|
|
42
41
|
readonly readonly: import("@angular/core").InputSignal<boolean | undefined>;
|
|
43
42
|
readonly acceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
44
43
|
readonly valueUpDownNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
45
44
|
readonly maxValueNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
46
45
|
readonly onlyAcceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
47
46
|
readonly validOneDefaultMultiLanguage: import("@angular/core").InputSignal<string | undefined>;
|
|
47
|
+
readonly classIconAddLanguage: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
|
|
48
48
|
readonly outEventMultiLanguage: import("@angular/core").OutputEmitterRef<IEventMultiLanguage>;
|
|
49
49
|
readonly outChangeTypeLanguage: import("@angular/core").OutputEmitterRef<boolean>;
|
|
50
50
|
readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<IInputMultiLanguageFunctionControlEvent>;
|
|
@@ -52,20 +52,26 @@ export declare class LibsUiComponentsInputsMultiLanguageComponent implements OnI
|
|
|
52
52
|
constructor();
|
|
53
53
|
ngOnInit(): void;
|
|
54
54
|
get FunctionsControl(): IInputMultiLanguageFunctionControlEvent;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
protected
|
|
58
|
-
protected
|
|
59
|
-
protected
|
|
55
|
+
/** Các key ngôn ngữ / tiền tệ cần hiển thị theo dữ liệu + cấu hình options. */
|
|
56
|
+
private computeLanguageDisplayKeys;
|
|
57
|
+
protected handlerInputFunctionControl(event: IInputValidFunctionControlEvent, key: string): void;
|
|
58
|
+
protected handlerQuillFunctionControl(event: IQuillFunctionControlEvent, index: number): void;
|
|
59
|
+
protected handlerSelectChange(event: IEmitSelectKey | undefined, keyOld: string): void;
|
|
60
|
+
protected handlerAddLanguage(event: Event): void;
|
|
61
|
+
protected handlerRemoveLanguage(event: Event, key: string): void;
|
|
60
62
|
private getData;
|
|
61
|
-
protected generateData():
|
|
63
|
+
protected generateData(): void;
|
|
62
64
|
private setDefaultData;
|
|
63
65
|
private validate;
|
|
64
66
|
private validateDefault;
|
|
65
67
|
private checkValidInput;
|
|
68
|
+
/**
|
|
69
|
+
* Khi có nhiều `IDataItem` (nhiều field bind), cập nhật `validRequiredLangDefault` theo dữ liệu đã nhập.
|
|
70
|
+
* Giữ nguyên thứ tự điều kiện / nhánh như phiên bản trước (forEach async), nhưng await đúng để validate không kết thúc sớm.
|
|
71
|
+
*/
|
|
66
72
|
private validateIsMultiKey;
|
|
67
|
-
protected handlerInputChange():
|
|
73
|
+
protected handlerInputChange(): void;
|
|
68
74
|
ngOnDestroy(): void;
|
|
69
75
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsInputsMultiLanguageComponent, never>;
|
|
70
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsMultiLanguageComponent, "libs_ui-components-inputs-multi_language", never, { "optionsLanguage": { "alias": "optionsLanguage"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "singleLanguage": { "alias": "singleLanguage"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "validRequired": { "alias": "validRequired"; "required": false; "isSignal": true; }; "ignoreAdd": { "alias": "ignoreAdd"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "keyHeader": { "alias": "keyHeader"; "required": false; "isSignal": true; }; "textArea": { "alias": "textArea"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "extendClass": { "alias": "extendClass"; "required": false; "isSignal": true; }; "extendClassContent": { "alias": "extendClassContent"; "required": false; "isSignal": true; }; "viewPosition": { "alias": "viewPosition"; "required": false; "isSignal": true; }; "ignoreRemove": { "alias": "ignoreRemove"; "required": false; "isSignal": true; }; "validMaxLength": { "alias": "validMaxLength"; "required": false; "isSignal": true; }; "validMinLength": { "alias": "validMinLength"; "required": false; "isSignal": true; }; "countCharacters": { "alias": "countCharacters"; "required": false; "isSignal": true; }; "viewContent": { "alias": "viewContent"; "required": false; "isSignal": true; }; "classIncludeKey": { "alias": "classIncludeKey"; "required": false; "isSignal": true; }; "classIncludeValue": { "alias": "classIncludeValue"; "required": false; "isSignal": true; }; "dataLanguage": { "alias": "dataLanguage"; "required": false; "isSignal": true; }; "
|
|
76
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsMultiLanguageComponent, "libs_ui-components-inputs-multi_language", never, { "optionsLanguage": { "alias": "optionsLanguage"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "singleLanguage": { "alias": "singleLanguage"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "validRequired": { "alias": "validRequired"; "required": false; "isSignal": true; }; "ignoreAdd": { "alias": "ignoreAdd"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "keyHeader": { "alias": "keyHeader"; "required": false; "isSignal": true; }; "textArea": { "alias": "textArea"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "extendClass": { "alias": "extendClass"; "required": false; "isSignal": true; }; "extendClassContent": { "alias": "extendClassContent"; "required": false; "isSignal": true; }; "viewPosition": { "alias": "viewPosition"; "required": false; "isSignal": true; }; "ignoreRemove": { "alias": "ignoreRemove"; "required": false; "isSignal": true; }; "validMaxLength": { "alias": "validMaxLength"; "required": false; "isSignal": true; }; "validMinLength": { "alias": "validMinLength"; "required": false; "isSignal": true; }; "countCharacters": { "alias": "countCharacters"; "required": false; "isSignal": true; }; "viewContent": { "alias": "viewContent"; "required": false; "isSignal": true; }; "classIncludeKey": { "alias": "classIncludeKey"; "required": false; "isSignal": true; }; "classIncludeValue": { "alias": "classIncludeValue"; "required": false; "isSignal": true; }; "dataLanguage": { "alias": "dataLanguage"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "acceptNegativeValue": { "alias": "acceptNegativeValue"; "required": false; "isSignal": true; }; "valueUpDownNumber": { "alias": "valueUpDownNumber"; "required": false; "isSignal": true; }; "maxValueNumber": { "alias": "maxValueNumber"; "required": false; "isSignal": true; }; "onlyAcceptNegativeValue": { "alias": "onlyAcceptNegativeValue"; "required": false; "isSignal": true; }; "validOneDefaultMultiLanguage": { "alias": "validOneDefaultMultiLanguage"; "required": false; "isSignal": true; }; "classIconAddLanguage": { "alias": "classIconAddLanguage"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; "ignoreAdd": "ignoreAddChange"; "extendClass": "extendClassChange"; "dataLanguage": "dataLanguageChange"; "outEventMultiLanguage": "outEventMultiLanguage"; "outChangeTypeLanguage": "outChangeTypeLanguage"; "outFunctionsControl": "outFunctionsControl"; "outChangeValueInput": "outChangeValueInput"; }, never, never, true, never>;
|
|
71
77
|
}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/components-inputs-multi-language",
|
|
3
|
-
"version": "0.2.356-
|
|
3
|
+
"version": "0.2.356-24",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=18.0.0",
|
|
6
6
|
"@angular/core": ">=18.0.0",
|
|
7
|
-
"@libs-ui/components-inputs-valid": "0.2.356-
|
|
8
|
-
"@libs-ui/components-buttons-button": "0.2.356-
|
|
9
|
-
"@libs-ui/utils": "0.2.356-
|
|
7
|
+
"@libs-ui/components-inputs-valid": "0.2.356-24",
|
|
8
|
+
"@libs-ui/components-buttons-button": "0.2.356-24",
|
|
9
|
+
"@libs-ui/utils": "0.2.356-24",
|
|
10
10
|
"@ngx-translate/core": "^15.0.0",
|
|
11
|
-
"@libs-ui/components-dropdown": "0.2.356-
|
|
12
|
-
"@libs-ui/components-popover": "0.2.356-
|
|
11
|
+
"@libs-ui/components-dropdown": "0.2.356-24",
|
|
12
|
+
"@libs-ui/components-popover": "0.2.356-24",
|
|
13
13
|
"rxjs": "~7.8.0",
|
|
14
|
-
"@libs-ui/pipes-escape-html": "0.2.356-
|
|
15
|
-
"@libs-ui/components-inputs-quill": "0.2.356-
|
|
16
|
-
"@libs-ui/components-list": "0.2.356-
|
|
17
|
-
"@libs-ui/services-http-request": "0.2.356-
|
|
14
|
+
"@libs-ui/pipes-escape-html": "0.2.356-24",
|
|
15
|
+
"@libs-ui/components-inputs-quill": "0.2.356-24",
|
|
16
|
+
"@libs-ui/components-list": "0.2.356-24",
|
|
17
|
+
"@libs-ui/services-http-request": "0.2.356-24"
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"module": "fesm2022/libs-ui-components-inputs-multi-language.mjs",
|