@libs-ui/components-inputs-multi-language 0.2.356-23 → 0.2.356-25
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 +62 -75
- package/esm2022/multi-language.component.mjs +137 -127
- package/esm2022/pipes/display-language.pipe.mjs +2 -2
- package/fesm2022/libs-ui-components-inputs-multi-language.mjs +197 -200
- package/fesm2022/libs-ui-components-inputs-multi-language.mjs.map +1 -1
- package/interfaces/multi-language.interface.d.ts +5 -1
- package/items/items.component.d.ts +16 -19
- package/multi-language.component.d.ts +17 -14
- package/package.json +10 -10
|
@@ -12,6 +12,10 @@ export interface IDataItem {
|
|
|
12
12
|
dataMultiLanguage?: IDataMultiLanguage;
|
|
13
13
|
validRequiredLangDefault?: IValidRequired;
|
|
14
14
|
validRequiredDefault?: IValidRequired;
|
|
15
|
+
minHeightEditorContentDefault?: number;
|
|
16
|
+
maxHeightEditorContentDefault?: number;
|
|
17
|
+
heightEditorContentDefault?: number;
|
|
18
|
+
resize?: 'vertical' | 'none';
|
|
15
19
|
}
|
|
16
20
|
export interface IDataMultiLanguage {
|
|
17
21
|
[param: string]: IDataLanguage | string | number;
|
|
@@ -38,7 +42,7 @@ export interface IConfigMultiLanguageHeader {
|
|
|
38
42
|
export type TYPE_VIEW_MULTI_LANGUAGE = 'text' | 'integer' | 'number' | 'editor' | 'float' | 'bigint';
|
|
39
43
|
export interface IInputMultiLanguageFunctionControlEvent {
|
|
40
44
|
checkIsValid: () => Promise<boolean>;
|
|
41
|
-
getData: () =>
|
|
45
|
+
getData: () => IDataMultiLanguage[] | IDataMultiLanguage | undefined;
|
|
42
46
|
}
|
|
43
47
|
export interface ICurrencyUnit {
|
|
44
48
|
label: string;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IInputValidFunctionControlEvent, IValidRequired } from '@libs-ui/components-inputs-valid';
|
|
1
|
+
import { IValidRequired } from '@libs-ui/components-inputs-valid';
|
|
3
2
|
import { IConfigMultiLanguageHeader, IDataItem, IDataMultiLanguage, IInputMultiLanguageFunctionControlEvent } from '../interfaces/multi-language.interface';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class LibsUiComponentsInputsMultiLanguageItemsComponent
|
|
6
|
-
protected dataMultiKey: import("@angular/core").WritableSignal<
|
|
4
|
+
export declare class LibsUiComponentsInputsMultiLanguageItemsComponent {
|
|
5
|
+
protected dataMultiKey: import("@angular/core").WritableSignal<IDataItem[][]>;
|
|
7
6
|
protected langDefault: import("@angular/core").WritableSignal<string>;
|
|
8
7
|
protected configHeader: import("@angular/core").WritableSignal<IConfigMultiLanguageHeader | undefined>;
|
|
9
8
|
protected validRequired: import("@angular/core").WritableSignal<IValidRequired>;
|
|
10
9
|
protected validRequiredWhenInputHasValue: import("@angular/core").WritableSignal<IValidRequired | undefined>;
|
|
11
10
|
protected dataHeader: import("@angular/core").WritableSignal<string | undefined>;
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
private inputComponentRefs;
|
|
12
|
+
private multiLanguageComponentRefs;
|
|
14
13
|
readonly configItems: import("@angular/core").InputSignal<IDataItem[]>;
|
|
15
14
|
readonly dataMultiLanguage: import("@angular/core").ModelSignal<IDataMultiLanguage[]>;
|
|
16
15
|
readonly zIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
@@ -21,22 +20,20 @@ export declare class LibsUiComponentsInputsMultiLanguageItemsComponent implement
|
|
|
21
20
|
readonly valueUpDownNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
22
21
|
readonly maxValueNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
23
22
|
readonly onlyAcceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
24
|
-
readonly
|
|
25
|
-
readonly outFunctionControl: import("@angular/core").OutputEmitterRef<IInputMultiLanguageFunctionControlEvent>;
|
|
23
|
+
readonly classIconAddLanguage: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
|
|
26
24
|
readonly outChangeValue: import("@angular/core").OutputEmitterRef<void>;
|
|
27
25
|
constructor();
|
|
28
|
-
ngOnInit(): void;
|
|
29
26
|
get FunctionsControl(): IInputMultiLanguageFunctionControlEvent;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
protected
|
|
35
|
-
protected
|
|
27
|
+
/**
|
|
28
|
+
* 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.
|
|
29
|
+
*/
|
|
30
|
+
private syncDataMultiKey;
|
|
31
|
+
protected handlerAdd(): void;
|
|
32
|
+
protected handlerRemove(index: number): void;
|
|
36
33
|
private validate;
|
|
37
|
-
protected getData():
|
|
38
|
-
protected handlerChangeValue(value?: string | number, type?: string):
|
|
39
|
-
|
|
34
|
+
protected getData(): IDataMultiLanguage[];
|
|
35
|
+
protected handlerChangeValue(value?: string | number, type?: string): void;
|
|
36
|
+
private applyValidRequiredWhenHeaderHasValue;
|
|
40
37
|
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; };
|
|
38
|
+
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"; "outChangeValue": "outChangeValue"; }, never, never, true, never>;
|
|
42
39
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { IEmitSelectKey } from '@libs-ui/components-dropdown';
|
|
3
|
-
import {
|
|
4
|
-
import { IInputValidFunctionControlEvent, IValidLength, IValidRequired } from '@libs-ui/components-inputs-valid';
|
|
3
|
+
import { IValidLength, IValidPattern, IValidRequired } from '@libs-ui/components-inputs-valid';
|
|
5
4
|
import { ICurrencyUnit, IDataItem, IDataMultiLanguage, IEventMultiLanguage, IInputMultiLanguageFunctionControlEvent, IOption, TYPE_VIEW_MULTI_LANGUAGE } from './interfaces/multi-language.interface';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class LibsUiComponentsInputsMultiLanguageComponent implements OnInit, OnDestroy {
|
|
@@ -13,8 +12,8 @@ export declare class LibsUiComponentsInputsMultiLanguageComponent implements OnI
|
|
|
13
12
|
protected validRequiredDefault: import("@angular/core").WritableSignal<IValidRequired>;
|
|
14
13
|
protected listConfigItem: import("@angular/core").Signal<import("@libs-ui/components-list").IListConfigItem>;
|
|
15
14
|
protected httpRequestDetail: import("@angular/core").Signal<import("@libs-ui/services-http-request").IHttpRequestConfig<any>>;
|
|
16
|
-
private
|
|
17
|
-
private
|
|
15
|
+
private inputComponentRefs;
|
|
16
|
+
private quillComponentRefs;
|
|
18
17
|
private onDestroy;
|
|
19
18
|
readonly optionsLanguage: import("@angular/core").InputSignal<IOption[]>;
|
|
20
19
|
readonly zIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
@@ -38,34 +37,38 @@ export declare class LibsUiComponentsInputsMultiLanguageComponent implements OnI
|
|
|
38
37
|
readonly classIncludeKey: import("@angular/core").InputSignal<string>;
|
|
39
38
|
readonly classIncludeValue: import("@angular/core").InputSignal<string>;
|
|
40
39
|
readonly dataLanguage: import("@angular/core").ModelSignal<IDataMultiLanguage>;
|
|
41
|
-
readonly multiLine: import("@angular/core").InputSignal<boolean | undefined>;
|
|
42
40
|
readonly readonly: import("@angular/core").InputSignal<boolean | undefined>;
|
|
43
41
|
readonly acceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
44
42
|
readonly valueUpDownNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
45
43
|
readonly maxValueNumber: import("@angular/core").InputSignal<number | undefined>;
|
|
46
44
|
readonly onlyAcceptNegativeValue: import("@angular/core").InputSignal<boolean | undefined>;
|
|
47
45
|
readonly validOneDefaultMultiLanguage: import("@angular/core").InputSignal<string | undefined>;
|
|
46
|
+
readonly classIconAddLanguage: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
|
|
47
|
+
readonly validPattern: import("@angular/core").InputSignal<IValidPattern[] | undefined>;
|
|
48
48
|
readonly outEventMultiLanguage: import("@angular/core").OutputEmitterRef<IEventMultiLanguage>;
|
|
49
49
|
readonly outChangeTypeLanguage: import("@angular/core").OutputEmitterRef<boolean>;
|
|
50
|
-
readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<IInputMultiLanguageFunctionControlEvent>;
|
|
51
50
|
readonly outChangeValueInput: import("@angular/core").OutputEmitterRef<void>;
|
|
52
51
|
constructor();
|
|
53
52
|
ngOnInit(): void;
|
|
54
53
|
get FunctionsControl(): IInputMultiLanguageFunctionControlEvent;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
protected handlerSelectChange(event: IEmitSelectKey | undefined, keyOld: string):
|
|
58
|
-
protected handlerAddLanguage(event: Event):
|
|
59
|
-
protected handlerRemoveLanguage(event: Event, key: string):
|
|
54
|
+
/** Các key ngôn ngữ / tiền tệ cần hiển thị theo dữ liệu + cấu hình options. */
|
|
55
|
+
private computeLanguageDisplayKeys;
|
|
56
|
+
protected handlerSelectChange(event: IEmitSelectKey | undefined, keyOld: string): void;
|
|
57
|
+
protected handlerAddLanguage(event: Event): void;
|
|
58
|
+
protected handlerRemoveLanguage(event: Event, key: string): void;
|
|
60
59
|
private getData;
|
|
61
|
-
protected generateData():
|
|
60
|
+
protected generateData(): void;
|
|
62
61
|
private setDefaultData;
|
|
63
62
|
private validate;
|
|
64
63
|
private validateDefault;
|
|
65
64
|
private checkValidInput;
|
|
65
|
+
/**
|
|
66
|
+
* Khi có nhiều `IDataItem` (nhiều field bind), cập nhật `validRequiredLangDefault` theo dữ liệu đã nhập.
|
|
67
|
+
* 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.
|
|
68
|
+
*/
|
|
66
69
|
private validateIsMultiKey;
|
|
67
|
-
protected handlerInputChange():
|
|
70
|
+
protected handlerInputChange(): void;
|
|
68
71
|
ngOnDestroy(): void;
|
|
69
72
|
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; }; "
|
|
73
|
+
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; }; "validPattern": { "alias": "validPattern"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; "ignoreAdd": "ignoreAddChange"; "extendClass": "extendClassChange"; "dataLanguage": "dataLanguageChange"; "outEventMultiLanguage": "outEventMultiLanguage"; "outChangeTypeLanguage": "outChangeTypeLanguage"; "outChangeValueInput": "outChangeValueInput"; }, never, never, true, never>;
|
|
71
74
|
}
|
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-25",
|
|
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-25",
|
|
8
|
+
"@libs-ui/components-buttons-button": "0.2.356-25",
|
|
9
|
+
"@libs-ui/utils": "0.2.356-25",
|
|
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-25",
|
|
12
|
+
"@libs-ui/components-popover": "0.2.356-25",
|
|
13
13
|
"rxjs": "~7.8.0",
|
|
14
|
-
"@libs-ui/pipes-escape-html": "0.2.356-
|
|
15
|
-
"@libs-ui/components-inputs-
|
|
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-25",
|
|
15
|
+
"@libs-ui/components-inputs-quill2x": "0.2.356-25",
|
|
16
|
+
"@libs-ui/components-list": "0.2.356-25",
|
|
17
|
+
"@libs-ui/services-http-request": "0.2.356-25"
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"module": "fesm2022/libs-ui-components-inputs-multi-language.mjs",
|