@lucca-front/ng 18.2.4 → 18.3.0-rc.2
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/comment/comment/comment.component.d.ts +16 -0
- package/comment/comment-block/comment-block.component.d.ts +22 -0
- package/comment/comment-chat/comment-chat.component.d.ts +5 -0
- package/comment/index.d.ts +5 -0
- package/comment/public-api.d.ts +3 -0
- package/comment/token.d.ts +5 -0
- package/core/public-api.d.ts +1 -0
- package/core/signal.d.ts +14 -0
- package/core/type/style.d.ts +1 -0
- package/core-select/api/api-v3.directive.d.ts +3 -1
- package/core-select/api/api-v4.directive.d.ts +3 -1
- package/core-select/api/api.directive.d.ts +2 -2
- package/core-select/establishment/establishments.directive.d.ts +3 -1
- package/core-select/input/index.d.ts +1 -0
- package/core-select/input/select-input.component.d.ts +8 -6
- package/core-select/input/total-count.directive.d.ts +8 -0
- package/core-select/job-qualification/job-qualifications.directive.d.ts +3 -1
- package/core-select/panel/index.d.ts +1 -0
- package/core-select/panel/key-manager.d.ts +2 -1
- package/core-select/panel/panel-header-template.directive.d.ts +11 -0
- package/core-select/select.model.d.ts +6 -0
- package/core-select/user/former-employees.component.d.ts +12 -0
- package/core-select/user/translations.d.ts +8 -0
- package/core-select/user/user.translate.d.ts +1 -0
- package/core-select/user/users.directive.d.ts +15 -20
- package/date2/calendar.token.d.ts +7 -0
- package/date2/calendar2/calendar-cell-info.d.ts +32 -0
- package/date2/calendar2/calendar-mode.d.ts +1 -0
- package/date2/calendar2/calendar2-cell.directive.d.ts +15 -0
- package/date2/calendar2/calendar2.component.d.ts +61 -0
- package/date2/calendar2/calendar2.tokens.d.ts +4 -0
- package/date2/calendar2/cell-status.d.ts +6 -0
- package/date2/calendar2/date-range.d.ts +9 -0
- package/date2/date-format.d.ts +1 -0
- package/date2/date-input/date-input.component.d.ts +56 -0
- package/date2/date2.translate.d.ts +11 -0
- package/date2/index.d.ts +5 -0
- package/date2/public-api.d.ts +4 -0
- package/date2/repeat-times.directive.d.ts +8 -0
- package/date2/translations.d.ts +16 -0
- package/date2/utils.d.ts +7 -0
- package/department/select/feeder/department-feeder.component.d.ts +3 -3
- package/department/service/department-v3.service.d.ts +3 -0
- package/department/service/department-v4.service.d.ts +20 -0
- package/department/service/index.d.ts +1 -0
- package/dialog/dialog-routing/dialog-routing.models.d.ts +4 -6
- package/dialog/dialog-routing/dialog-routing.utils.d.ts +9 -8
- package/dialog/model/dialog-config.d.ts +2 -2
- package/esm2022/a11y/skip-links/skip-links.component.mjs +4 -4
- package/esm2022/comment/comment/comment.component.mjs +54 -0
- package/esm2022/comment/comment-block/comment-block.component.mjs +60 -0
- package/esm2022/comment/comment-chat/comment-chat.component.mjs +22 -0
- package/esm2022/comment/lucca-front-ng-comment.mjs +5 -0
- package/esm2022/comment/public-api.mjs +4 -0
- package/esm2022/comment/token.mjs +4 -0
- package/esm2022/core/public-api.mjs +2 -1
- package/esm2022/core/signal.mjs +22 -0
- package/esm2022/core/type/style.mjs +1 -1
- package/esm2022/core-select/api/api-v3.directive.mjs +22 -4
- package/esm2022/core-select/api/api-v4.directive.mjs +22 -4
- package/esm2022/core-select/api/api.directive.mjs +1 -1
- package/esm2022/core-select/displayer/displayer.directive.mjs +2 -2
- package/esm2022/core-select/establishment/establishments.directive.mjs +22 -4
- package/esm2022/core-select/input/index.mjs +2 -1
- package/esm2022/core-select/input/select-input.component.mjs +15 -10
- package/esm2022/core-select/input/total-count.directive.mjs +33 -0
- package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +22 -4
- package/esm2022/core-select/option/option.component.mjs +3 -3
- package/esm2022/core-select/option/option.directive.mjs +2 -2
- package/esm2022/core-select/panel/index.mjs +2 -1
- package/esm2022/core-select/panel/key-manager.mjs +1 -1
- package/esm2022/core-select/panel/panel-header-template.directive.mjs +25 -0
- package/esm2022/core-select/select.model.mjs +2 -1
- package/esm2022/core-select/user/former-employees.component.mjs +34 -0
- package/esm2022/core-select/user/translations.mjs +9 -1
- package/esm2022/core-select/user/user-displayer.component.mjs +3 -3
- package/esm2022/core-select/user/user-option.component.mjs +5 -5
- package/esm2022/core-select/user/user.translate.mjs +1 -1
- package/esm2022/core-select/user/users.directive.mjs +74 -86
- package/esm2022/date/select/translations.mjs +2 -2
- package/esm2022/date2/calendar.token.mjs +22 -0
- package/esm2022/date2/calendar2/calendar-cell-info.mjs +2 -0
- package/esm2022/date2/calendar2/calendar-mode.mjs +2 -0
- package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +111 -0
- package/esm2022/date2/calendar2/calendar2.component.mjs +279 -0
- package/esm2022/date2/calendar2/calendar2.tokens.mjs +4 -0
- package/esm2022/date2/calendar2/cell-status.mjs +2 -0
- package/esm2022/date2/calendar2/date-range.mjs +2 -0
- package/esm2022/date2/date-format.mjs +16 -0
- package/esm2022/date2/date-input/date-input.component.mjs +233 -0
- package/esm2022/date2/date2.translate.mjs +7 -0
- package/esm2022/date2/lucca-front-ng-date2.mjs +5 -0
- package/esm2022/date2/public-api.mjs +5 -0
- package/esm2022/date2/repeat-times.directive.mjs +27 -0
- package/esm2022/date2/translations.mjs +17 -0
- package/esm2022/date2/utils.mjs +24 -0
- package/esm2022/department/select/feeder/department-feeder.component.mjs +6 -6
- package/esm2022/department/service/department-v3.service.mjs +4 -1
- package/esm2022/department/service/department-v4.service.mjs +46 -0
- package/esm2022/department/service/index.mjs +2 -1
- package/esm2022/dialog/dialog/dialog.component.mjs +2 -2
- package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +2 -2
- package/esm2022/dialog/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +1 -1
- package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +24 -5
- package/esm2022/dialog/dialog.service.mjs +3 -3
- package/esm2022/dialog/model/dialog-config.mjs +1 -1
- package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +3 -3
- package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +3 -3
- package/esm2022/form-field/form-field.component.mjs +15 -8
- package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +3 -3
- package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +2 -2
- package/esm2022/forms/number-format-input/translations.mjs +4 -4
- package/esm2022/forms/number-input/translations.mjs +4 -4
- package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +7 -5
- package/esm2022/forms/radio-group-input/radio/radio.component.mjs +9 -5
- package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +11 -4
- package/esm2022/forms/text-input/text-input.component.mjs +6 -3
- package/esm2022/forms/text-input/translations.mjs +4 -4
- package/esm2022/forms/textarea-input/textarea-input.component.mjs +33 -5
- package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +11 -53
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +10 -53
- package/esm2022/multi-select/displayer/displayer-input.directive.mjs +52 -33
- package/esm2022/multi-select/displayer/displayer.directive.mjs +2 -2
- package/esm2022/multi-select/input/index.mjs +2 -1
- package/esm2022/multi-select/input/panel-ref.factory.mjs +2 -1
- package/esm2022/multi-select/input/panel.model.mjs +1 -1
- package/esm2022/multi-select/input/select-all/index.mjs +2 -0
- package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +99 -0
- package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +36 -0
- package/esm2022/multi-select/input/select-all/select-all.models.mjs +3 -0
- package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +163 -0
- package/esm2022/multi-select/input/select-input.component.mjs +9 -11
- package/esm2022/multi-select/panel/option-group-context.pipe.mjs +24 -0
- package/esm2022/multi-select/panel/option-selected.pipe.mjs +5 -3
- package/esm2022/multi-select/panel/panel.component.mjs +5 -5
- package/esm2022/multi-select/select.model.mjs +22 -2
- package/esm2022/multi-select/translations.mjs +3 -3
- package/esm2022/option/item/option-item.component.mjs +3 -3
- package/esm2022/option/item/tree-option-item.component.mjs +3 -3
- package/esm2022/popover2/popover.directive.mjs +1 -1
- package/esm2022/simple-select/input/select-input.component.mjs +9 -7
- package/esm2022/simple-select/panel/option-selected.pipe.mjs +1 -1
- package/esm2022/simple-select/panel/panel.component.mjs +3 -3
- package/esm2022/simple-select/translations.mjs +6 -6
- package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +3 -3
- package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +3 -3
- package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +3 -3
- package/esm2022/tag/tag.component.mjs +1 -1
- package/esm2022/time/duration-picker/translations.mjs +2 -2
- package/esm2022/user/select/input/translations.mjs +2 -2
- package/esm2022/user/tile/user-tile.component.mjs +2 -2
- package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +137 -0
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select-api.mjs +38 -4
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +21 -3
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +21 -3
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +117 -93
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +73 -15
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +23 -2
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +1 -1
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +719 -0
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-department.mjs +50 -5
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +28 -9
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +14 -7
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -4
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +65 -23
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +488 -254
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +4 -4
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +15 -13
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +6 -6
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +1 -1
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +3 -3
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/form-field/form-field.component.d.ts +8 -5
- package/forms/phone-number-input/phone-number-input.component.d.ts +2 -1
- package/forms/radio-group-input/radio/radio.component.d.ts +1 -0
- package/forms/radio-group-input/radio-group-input.component.d.ts +5 -2
- package/forms/text-input/text-input.component.d.ts +2 -1
- package/forms/textarea-input/textarea-input.component.d.ts +10 -1
- package/multi-select/displayer/counter-displayer/counter-displayer.component.d.ts +0 -4
- package/multi-select/displayer/default-displayer.component.d.ts +0 -2
- package/multi-select/displayer/displayer-input.directive.d.ts +10 -6
- package/multi-select/input/index.d.ts +1 -0
- package/multi-select/input/panel.model.d.ts +2 -0
- package/multi-select/input/select-all/index.d.ts +1 -0
- package/multi-select/input/select-all/multi-select-all-displayer.component.d.ts +18 -0
- package/multi-select/input/select-all/multi-select-all-header.component.d.ts +9 -0
- package/multi-select/input/select-all/select-all.models.d.ts +10 -0
- package/multi-select/input/select-all/with-select-all.directive.d.ts +20 -0
- package/multi-select/input/select-input.component.d.ts +4 -4
- package/multi-select/panel/option-group-context.pipe.d.ts +11 -0
- package/multi-select/panel/option-selected.pipe.d.ts +6 -4
- package/multi-select/panel/panel.component.d.ts +2 -2
- package/multi-select/select.model.d.ts +20 -0
- package/package.json +20 -8
- package/popover2/popover.directive.d.ts +1 -1
- package/simple-select/input/select-input.component.d.ts +3 -2
- package/simple-select/panel/option-selected.pipe.d.ts +2 -1
- package/simple-select/panel/panel.component.d.ts +2 -2
- package/src/definitions/option/_option-item.scss +1 -0
- package/tag/tag.component.d.ts +3 -3
- package/esm2022/multi-select/panel/not-selected.pipe.mjs +0 -18
- package/multi-select/panel/not-selected.pipe.d.ts +0 -7
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CommentComponent {
|
|
3
|
+
#private;
|
|
4
|
+
noAvatar: import("@angular/core").Signal<boolean>;
|
|
5
|
+
avatar: import("@angular/core").Signal<import("@angular/core").TemplateRef<unknown>>;
|
|
6
|
+
authorName: import("@angular/core").Signal<import("@lucca-front/ng/core").PortalContent>;
|
|
7
|
+
size: import("@angular/core").Signal<"S" | "M">;
|
|
8
|
+
date: import("@angular/core").InputSignal<Date>;
|
|
9
|
+
content: import("@angular/core").InputSignal<string>;
|
|
10
|
+
contentIsHTML: import("@angular/core").Signal<boolean>;
|
|
11
|
+
dateDisplay: import("@angular/core").Signal<string>;
|
|
12
|
+
role: import("@angular/core").Signal<string>;
|
|
13
|
+
get roleAttr(): string;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommentComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CommentComponent, "lu-comment", never, { "date": { "alias": "date"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { PortalContent } from '@lucca-front/ng/core';
|
|
3
|
+
import { CommentComponent } from '../comment/comment.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CommentBlockComponent {
|
|
6
|
+
#private;
|
|
7
|
+
compact: boolean;
|
|
8
|
+
small: boolean;
|
|
9
|
+
chatAnswer: boolean;
|
|
10
|
+
comments: import("@angular/core").Signal<readonly CommentComponent[]>;
|
|
11
|
+
authorName: import("@angular/core").InputSignal<PortalContent>;
|
|
12
|
+
avatar: import("@angular/core").InputSignal<TemplateRef<unknown>>;
|
|
13
|
+
size: import("@angular/core").InputSignal<"S" | "M">;
|
|
14
|
+
noAvatar: import("@angular/core").Signal<boolean>;
|
|
15
|
+
isSingleComment: import("@angular/core").Signal<boolean>;
|
|
16
|
+
role: string;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommentBlockComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CommentBlockComponent, "lu-comment-block", never, { "compact": { "alias": "compact"; "required": false; }; "small": { "alias": "small"; "required": false; }; "chatAnswer": { "alias": "chatAnswer"; "required": false; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, ["comments"], ["*"], true, never>;
|
|
19
|
+
static ngAcceptInputType_compact: unknown;
|
|
20
|
+
static ngAcceptInputType_small: unknown;
|
|
21
|
+
static ngAcceptInputType_chatAnswer: unknown;
|
|
22
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CommentChatComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommentChatComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CommentChatComponent, "lu-comment-chat", never, {}, {}, never, ["*"], true, never>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { CommentBlockComponent } from './comment-block/comment-block.component';
|
|
3
|
+
import { CommentChatComponent } from './comment-chat/comment-chat.component';
|
|
4
|
+
export declare const COMMENT_BLOCK_INSTANCE: InjectionToken<CommentBlockComponent>;
|
|
5
|
+
export declare const COMMENT_CHAT_INSTANCE: InjectionToken<CommentChatComponent>;
|
package/core/public-api.d.ts
CHANGED
package/core/signal.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CreateEffectOptions, Signal } from '@angular/core';
|
|
2
|
+
type EffectWithDepsValues<T> = T extends readonly unknown[] ? TupleOfSignalValues<T> : [RecordOfSignalValues<T>];
|
|
3
|
+
type TupleOfSignalValues<T> = T extends readonly [Signal<infer U>, ...infer R] ? [U, ...TupleOfSignalValues<R>] : [];
|
|
4
|
+
type RecordOfSignalValues<T> = {
|
|
5
|
+
[K in keyof T]: T[K] extends Signal<infer U> ? U : never;
|
|
6
|
+
};
|
|
7
|
+
type EffectWithDepsInput = ReadonlyArray<Signal<unknown>> | Record<string, Signal<unknown>>;
|
|
8
|
+
/**
|
|
9
|
+
* Effect peut être dangereux car l'action accomplie peut elle-même déclencher des écritures dans des signaux.
|
|
10
|
+
* C'est une mauvaise pratique, interdite par défaut par Angular.
|
|
11
|
+
* La plupars du temps, seule la lecture des signaux est intéressante à tracker, pas les actions qui en découlent.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ɵeffectWithDeps<const T extends EffectWithDepsInput>(dependencies: T, action: (...values: EffectWithDepsValues<T>) => unknown, options?: CreateEffectOptions): void;
|
|
14
|
+
export {};
|
package/core/type/style.d.ts
CHANGED
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
* Available CSS palettes
|
|
3
3
|
*/
|
|
4
4
|
export type Palette = 'success' | 'warning' | 'error' | 'product' | 'neutral' | 'none' | 'primary' | 'grey';
|
|
5
|
+
export type DecorativePalette = 'kiwi' | 'lime' | 'cucumber' | 'mint' | 'glacier' | 'lagoon' | 'blueberry' | 'lavender' | 'grape' | 'watermelon' | 'pumpkin' | 'pineapple';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { ILuApiItem } from '@lucca-front/ng/api';
|
|
3
|
+
import { CoreSelectApiTotalCountProvider } from '@lucca-front/ng/core-select';
|
|
3
4
|
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
|
4
5
|
import { ALuCoreSelectApiDirective } from './api.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {
|
|
7
|
+
export declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> implements CoreSelectApiTotalCountProvider {
|
|
7
8
|
set apiV3(value: string);
|
|
8
9
|
set fields(value: string);
|
|
9
10
|
set orderBy(value: string | null);
|
|
@@ -18,6 +19,7 @@ export declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends AL
|
|
|
18
19
|
orderBy?: string;
|
|
19
20
|
fields?: string;
|
|
20
21
|
}>;
|
|
22
|
+
totalCount$: Observable<number>;
|
|
21
23
|
protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
|
|
22
24
|
protected optionComparer: (a: T, b: T) => boolean;
|
|
23
25
|
protected optionKey: (option: T) => number;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { ILuApiItem } from '@lucca-front/ng/api';
|
|
3
|
+
import { CoreSelectApiTotalCountProvider } from '@lucca-front/ng/core-select';
|
|
3
4
|
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
|
4
5
|
import { ALuCoreSelectApiDirective } from './api.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {
|
|
7
|
+
export declare class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> implements CoreSelectApiTotalCountProvider {
|
|
7
8
|
set apiV4(value: string);
|
|
8
9
|
set sort(value: string | null);
|
|
9
10
|
set filters(value: Record<string, string | number | boolean>);
|
|
@@ -12,6 +13,7 @@ export declare class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends AL
|
|
|
12
13
|
protected filters$: BehaviorSubject<Record<string, string | number | boolean>>;
|
|
13
14
|
protected httpClient: HttpClient;
|
|
14
15
|
protected params$: Observable<Record<string, string | number | boolean>>;
|
|
16
|
+
totalCount$: Observable<number>;
|
|
15
17
|
protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
|
|
16
18
|
protected optionComparer: (a: T, b: T) => boolean;
|
|
17
19
|
protected optionKey: (option: T) => number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { ALuSelectInputComponent } from '@lucca-front/ng/core-select';
|
|
2
|
+
import { ALuSelectInputComponent, LuOptionComparer } from '@lucca-front/ng/core-select';
|
|
3
3
|
import { Observable, Subject } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare const LU_SELECT_MAGIC_PAGE_SIZE = 20;
|
|
@@ -18,7 +18,7 @@ export declare abstract class ALuCoreSelectApiDirective<TOption, TParams = Recor
|
|
|
18
18
|
/**
|
|
19
19
|
* Compare two options to know if they are the same. For example, compare by id or by JSON
|
|
20
20
|
*/
|
|
21
|
-
protected abstract optionComparer:
|
|
21
|
+
protected abstract optionComparer: LuOptionComparer<TOption>;
|
|
22
22
|
/**
|
|
23
23
|
* Return a key to identify the option in for-of loops
|
|
24
24
|
*/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
|
+
import { CoreSelectApiTotalCountProvider } from '@lucca-front/ng/core-select';
|
|
3
4
|
import { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';
|
|
4
5
|
import { Observable } from 'rxjs';
|
|
5
6
|
import { LuCoreSelectEstablishment } from './models';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class LuCoreSelectEstablishmentsDirective<T extends LuCoreSelectEstablishment = LuCoreSelectEstablishment> extends ALuCoreSelectApiDirective<T> implements OnInit {
|
|
8
|
+
export declare class LuCoreSelectEstablishmentsDirective<T extends LuCoreSelectEstablishment = LuCoreSelectEstablishment> extends ALuCoreSelectApiDirective<T> implements OnInit, CoreSelectApiTotalCountProvider {
|
|
8
9
|
#private;
|
|
9
10
|
protected httpClient: HttpClient;
|
|
10
11
|
set url(url: string | null);
|
|
@@ -19,6 +20,7 @@ export declare class LuCoreSelectEstablishmentsDirective<T extends LuCoreSelectE
|
|
|
19
20
|
protected initGrouping(): void;
|
|
20
21
|
protected getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]>;
|
|
21
22
|
protected params$: Observable<Record<string, string | number | boolean>>;
|
|
23
|
+
totalCount$: Observable<number>;
|
|
22
24
|
protected optionComparer: (a: T, b: T) => boolean;
|
|
23
25
|
protected optionKey: (option: T) => number;
|
|
24
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectEstablishmentsDirective<any>, never>;
|
|
@@ -5,7 +5,7 @@ import { PortalContent } from '@lucca-front/ng/core';
|
|
|
5
5
|
import { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';
|
|
6
6
|
import { LuOptionGrouping } from '../option';
|
|
7
7
|
import { LuSelectPanelRef } from '../panel';
|
|
8
|
-
import { CoreSelectAddOptionStrategy, LuOptionContext } from '../select.model';
|
|
8
|
+
import { CoreSelectAddOptionStrategy, LuOptionComparer, LuOptionContext } from '../select.model';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {
|
|
11
11
|
#private;
|
|
@@ -24,7 +24,7 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
|
|
|
24
24
|
set addOptionStrategy(strategy: CoreSelectAddOptionStrategy);
|
|
25
25
|
protected get isSelectedClass(): boolean;
|
|
26
26
|
protected get isSearchFilledClass(): boolean;
|
|
27
|
-
protected abstract
|
|
27
|
+
protected abstract hasValue(): boolean;
|
|
28
28
|
get isPanelOpen(): boolean;
|
|
29
29
|
isPanelOpen$: BehaviorSubject<boolean>;
|
|
30
30
|
activeDescendant$: BehaviorSubject<string>;
|
|
@@ -32,10 +32,12 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
|
|
|
32
32
|
overlayConfig?: OverlayConfig;
|
|
33
33
|
set loading(value: boolean);
|
|
34
34
|
set options(options: TOption[]);
|
|
35
|
-
optionComparer:
|
|
35
|
+
optionComparer: LuOptionComparer<TOption>;
|
|
36
36
|
optionKey: (option: TOption) => unknown;
|
|
37
|
-
optionTpl
|
|
38
|
-
valueTpl
|
|
37
|
+
optionTpl: import("@angular/core").ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
|
|
38
|
+
valueTpl: import("@angular/core").ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
|
|
39
|
+
panelHeaderTpl: import("@angular/core").ModelSignal<Type<unknown> | TemplateRef<void>>;
|
|
40
|
+
displayerTpl: import("@angular/core").Signal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
|
|
39
41
|
grouping?: LuOptionGrouping<TOption, unknown>;
|
|
40
42
|
clueChange: EventEmitter<string>;
|
|
41
43
|
nextPage: EventEmitter<void>;
|
|
@@ -76,6 +78,6 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
|
|
|
76
78
|
writeValue(value: TValue): void;
|
|
77
79
|
updateValue(value: TValue, skipPanelOpen?: boolean): void;
|
|
78
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<ALuSelectInputComponent<any, any>, never>;
|
|
79
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ALuSelectInputComponent<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "addOptionLabel": { "alias": "addOptionLabel"; "required": false; }; "addOptionStrategy": { "alias": "addOptionStrategy"; "required": false; }; "overlayConfig": { "alias": "overlayConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionComparer": { "alias": "optionComparer"; "required": false; }; "optionKey": { "alias": "optionKey"; "required": false; }; "optionTpl": { "alias": "optionTpl"; "required": false; }; "valueTpl": { "alias": "valueTpl"; "required": false; }; }, { "clueChange": "clueChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; "addOption": "addOption"; }, never, never, false, never>;
|
|
81
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ALuSelectInputComponent<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "addOptionLabel": { "alias": "addOptionLabel"; "required": false; }; "addOptionStrategy": { "alias": "addOptionStrategy"; "required": false; }; "overlayConfig": { "alias": "overlayConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionComparer": { "alias": "optionComparer"; "required": false; }; "optionKey": { "alias": "optionKey"; "required": false; }; "optionTpl": { "alias": "optionTpl"; "required": false; "isSignal": true; }; "valueTpl": { "alias": "valueTpl"; "required": false; "isSignal": true; }; "panelHeaderTpl": { "alias": "panelHeaderTpl"; "required": false; "isSignal": true; }; }, { "optionTpl": "optionTplChange"; "valueTpl": "valueTplChange"; "panelHeaderTpl": "panelHeaderTplChange"; "clueChange": "clueChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; "addOption": "addOption"; }, never, never, false, never>;
|
|
80
82
|
static ngAcceptInputType_clearable: unknown;
|
|
81
83
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CoreSelectApiTotalCountProvider } from '../select.model';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LuCoreSelectTotalCountDirective implements CoreSelectApiTotalCountProvider {
|
|
4
|
+
totalCount: import("@angular/core").InputSignal<number>;
|
|
5
|
+
totalCount$: import("rxjs").Observable<number>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectTotalCountDirective, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectTotalCountDirective, "lu-simple-select[totalCount],lu-multi-select[totalCount]", never, { "totalCount": { "alias": "totalCount"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
|
+
import { CoreSelectApiTotalCountProvider } from '@lucca-front/ng/core-select';
|
|
3
4
|
import { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';
|
|
4
5
|
import { Observable } from 'rxjs';
|
|
5
6
|
import { LuCoreSelectJobQualification } from './models';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class LuCoreSelectJobQualificationsDirective<T extends LuCoreSelectJobQualification = LuCoreSelectJobQualification> extends ALuCoreSelectApiDirective<T> implements OnInit {
|
|
8
|
+
export declare class LuCoreSelectJobQualificationsDirective<T extends LuCoreSelectJobQualification = LuCoreSelectJobQualification> extends ALuCoreSelectApiDirective<T> implements OnInit, CoreSelectApiTotalCountProvider {
|
|
8
9
|
protected httpClient: HttpClient;
|
|
9
10
|
set url(url: string | null);
|
|
10
11
|
set filters(filters: Record<string, string | number | boolean> | null);
|
|
@@ -13,6 +14,7 @@ export declare class LuCoreSelectJobQualificationsDirective<T extends LuCoreSele
|
|
|
13
14
|
constructor();
|
|
14
15
|
protected getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]>;
|
|
15
16
|
protected params$: Observable<Record<string, string | number | boolean>>;
|
|
17
|
+
totalCount$: Observable<number>;
|
|
16
18
|
protected optionComparer: (a: T, b: T) => boolean;
|
|
17
19
|
protected optionKey: (option: T) => number;
|
|
18
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectJobQualificationsDirective<any>, never>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { EventEmitter, QueryList } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { ɵLuOptionComponent } from '../option';
|
|
4
|
+
import { LuOptionComparer } from '../select.model';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
interface CoreSelectKeyManagerOptions<T> {
|
|
6
7
|
queryList: QueryList<ɵLuOptionComponent<T>>;
|
|
7
8
|
options$: Observable<T[]>;
|
|
8
|
-
optionComparer:
|
|
9
|
+
optionComparer: LuOptionComparer<T>;
|
|
9
10
|
activeOptionIdChanged$: EventEmitter<string>;
|
|
10
11
|
clueChange$: Observable<string>;
|
|
11
12
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { ALuSelectInputComponent } from '../input';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LuCoreSelectPanelHeaderDirective {
|
|
5
|
+
readonly templateRef: TemplateRef<void>;
|
|
6
|
+
readonly select: import("@angular/core").InputSignal<ALuSelectInputComponent<unknown, unknown>>;
|
|
7
|
+
constructor();
|
|
8
|
+
static ngTemplateContextGuard(_dir: LuCoreSelectPanelHeaderDirective, ctx: unknown): ctx is void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectPanelHeaderDirective, never>;
|
|
10
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectPanelHeaderDirective, "[luSelectPanelHeader]", never, { "select": { "alias": "luSelectPanelHeader"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
export interface LuOptionContext<T> {
|
|
3
4
|
$implicit: T;
|
|
4
5
|
}
|
|
@@ -9,7 +10,12 @@ export interface LuOptionGroup<T, TGroup> {
|
|
|
9
10
|
key: TGroup;
|
|
10
11
|
options: T[];
|
|
11
12
|
}
|
|
13
|
+
export type LuOptionComparer<T> = (a: T, b: T) => boolean;
|
|
12
14
|
export type CoreSelectAddOptionStrategy = 'never' | 'always' | 'if-empty-clue' | 'if-not-empty-clue';
|
|
13
15
|
export declare const SELECT_ID: InjectionToken<number>;
|
|
14
16
|
export declare const SELECT_LABEL: InjectionToken<HTMLLabelElement>;
|
|
15
17
|
export declare const SELECT_LABEL_ID: InjectionToken<string>;
|
|
18
|
+
export interface CoreSelectApiTotalCountProvider {
|
|
19
|
+
totalCount$: Observable<number>;
|
|
20
|
+
}
|
|
21
|
+
export declare const CORE_SELECT_API_TOTAL_COUNT_PROVIDER: InjectionToken<CoreSelectApiTotalCountProvider>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InjectionToken, WritableSignal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface FormerEmployeesContext {
|
|
4
|
+
includeFormerEmployees: WritableSignal<boolean>;
|
|
5
|
+
}
|
|
6
|
+
export declare const FORMER_EMPLOYEES_CONTEXT: InjectionToken<FormerEmployeesContext>;
|
|
7
|
+
export declare class LuCoreSelectFormerEmployeesComponent {
|
|
8
|
+
readonly intl: import("./user.translate").LuCoreSelectUserTranslations;
|
|
9
|
+
readonly context: FormerEmployeesContext;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectFormerEmployeesComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuCoreSelectFormerEmployeesComponent, "lu-core-select-former-employees", never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
export declare const Translations: {
|
|
2
2
|
en: {
|
|
3
3
|
me: string;
|
|
4
|
+
includeFormerEmployees: string;
|
|
4
5
|
};
|
|
5
6
|
de: {
|
|
6
7
|
me: string;
|
|
8
|
+
includeFormerEmployees: string;
|
|
7
9
|
};
|
|
8
10
|
fr: {
|
|
9
11
|
me: string;
|
|
12
|
+
includeFormerEmployees: string;
|
|
10
13
|
};
|
|
11
14
|
it: {
|
|
12
15
|
me: string;
|
|
16
|
+
includeFormerEmployees: string;
|
|
13
17
|
};
|
|
14
18
|
nl: {
|
|
15
19
|
me: string;
|
|
20
|
+
includeFormerEmployees: string;
|
|
16
21
|
};
|
|
17
22
|
'nl-BE': {
|
|
18
23
|
me: string;
|
|
24
|
+
includeFormerEmployees: string;
|
|
19
25
|
};
|
|
20
26
|
es: {
|
|
21
27
|
me: string;
|
|
28
|
+
includeFormerEmployees: string;
|
|
22
29
|
};
|
|
23
30
|
pt: {
|
|
24
31
|
me: string;
|
|
32
|
+
includeFormerEmployees: string;
|
|
25
33
|
};
|
|
26
34
|
};
|
|
@@ -3,5 +3,6 @@ import { LuTranslation } from '@lucca-front/ng/core';
|
|
|
3
3
|
export declare const LU_CORE_SELECT_USER_TRANSLATIONS: InjectionToken<LuTranslation<LuCoreSelectUserTranslations>>;
|
|
4
4
|
export interface LuCoreSelectUserTranslations {
|
|
5
5
|
me: string;
|
|
6
|
+
includeFormerEmployees: string;
|
|
6
7
|
}
|
|
7
8
|
export declare const luCoreSelectUserTranslations: LuTranslation<LuCoreSelectUserTranslations>;
|
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { CoreSelectApiTotalCountProvider } from '@lucca-front/ng/core-select';
|
|
2
3
|
import { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';
|
|
3
4
|
import { LuDisplayFormat } from '@lucca-front/ng/user';
|
|
4
5
|
import { Observable } from 'rxjs';
|
|
5
6
|
import { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<LuCoreSelectWithAdditionnalInformation<T>> {
|
|
8
|
+
export declare class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser> extends ALuCoreSelectApiDirective<LuCoreSelectWithAdditionnalInformation<T>> implements CoreSelectApiTotalCountProvider {
|
|
8
9
|
#private;
|
|
9
10
|
protected httpClient: HttpClient;
|
|
10
11
|
currentUserId: number;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
set filters(filters: Record<string, string | number | boolean>);
|
|
21
|
-
protected _url: import("@angular/core").WritableSignal<string>;
|
|
12
|
+
displayFormat: import("@angular/core").InputSignal<LuDisplayFormat>;
|
|
13
|
+
filters: import("@angular/core").InputSignal<Record<string, string | number | boolean>>;
|
|
14
|
+
url: import("@angular/core").InputSignal<string>;
|
|
15
|
+
orderBy: import("@angular/core").InputSignal<string>;
|
|
16
|
+
operationIds: import("@angular/core").InputSignal<number[]>;
|
|
17
|
+
appInstanceId: import("@angular/core").InputSignal<number>;
|
|
18
|
+
enableFormerEmployees: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
displayMeOption: import("@angular/core").InputSignal<boolean>;
|
|
20
|
+
includeFormerEmployees: import("@angular/core").WritableSignal<boolean>;
|
|
22
21
|
constructor();
|
|
23
|
-
protected _orderBy: import("@angular/core").WritableSignal<string>;
|
|
24
|
-
protected _filters: import("@angular/core").WritableSignal<Record<string, string | number | boolean>>;
|
|
25
|
-
protected _operationIds: import("@angular/core").WritableSignal<number[]>;
|
|
26
|
-
protected _appInstanceId: import("@angular/core").WritableSignal<number>;
|
|
27
|
-
protected _enableFormerEmployees: import("@angular/core").WritableSignal<boolean>;
|
|
28
22
|
protected defaultUrl: import("@angular/core").Signal<string>;
|
|
29
|
-
protected customUrl: import("@angular/core").WritableSignal<string>;
|
|
30
|
-
protected _displayMeOption: import("@angular/core").WritableSignal<boolean>;
|
|
31
23
|
protected displayMeOption$: Observable<boolean>;
|
|
24
|
+
protected urlOrDefault: import("@angular/core").Signal<string>;
|
|
25
|
+
protected clue: import("@angular/core").Signal<string>;
|
|
32
26
|
protected params$: Observable<Record<string, string | number | boolean>>;
|
|
33
27
|
protected meParams$: Observable<{
|
|
34
28
|
id: number;
|
|
@@ -37,6 +31,7 @@ export declare class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuC
|
|
|
37
31
|
fields: string;
|
|
38
32
|
}>;
|
|
39
33
|
protected me$: Observable<T>;
|
|
34
|
+
totalCount$: Observable<number>;
|
|
40
35
|
protected getMe(): Observable<T | null>;
|
|
41
36
|
protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
|
|
42
37
|
protected getOptionsPage(params: Record<string, string | number | boolean>, page: number): Observable<{
|
|
@@ -46,5 +41,5 @@ export declare class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuC
|
|
|
46
41
|
protected optionComparer: (a: T, b: T) => boolean;
|
|
47
42
|
protected optionKey: (option: T) => number;
|
|
48
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectUsersDirective<any>, never>;
|
|
49
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectUsersDirective<any>, "lu-simple-select[users],lu-multi-select[users]", ["luUsers"], { "
|
|
44
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectUsersDirective<any>, "lu-simple-select[users],lu-multi-select[users]", ["luUsers"], { "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "orderBy": { "alias": "orderBy"; "required": false; "isSignal": true; }; "operationIds": { "alias": "operationIds"; "required": false; "isSignal": true; }; "appInstanceId": { "alias": "appInstanceId"; "required": false; "isSignal": true; }; "enableFormerEmployees": { "alias": "enableFormerEmployees"; "required": false; "isSignal": true; }; "displayMeOption": { "alias": "displayMeOption"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
50
45
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export type CalendarWeekDay = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
3
|
+
export interface CalendarWeekInfo {
|
|
4
|
+
firstDay: CalendarWeekDay;
|
|
5
|
+
weekend: CalendarWeekDay[];
|
|
6
|
+
}
|
|
7
|
+
export declare const WEEK_INFO: InjectionToken<CalendarWeekInfo>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DateRange } from './date-range';
|
|
2
|
+
import { CellStatus } from './cell-status';
|
|
3
|
+
export interface CalendarCellInfo {
|
|
4
|
+
day: number;
|
|
5
|
+
isWeekend: boolean;
|
|
6
|
+
isOverflow: boolean;
|
|
7
|
+
date: Date;
|
|
8
|
+
status: CellStatus;
|
|
9
|
+
isCurrent: boolean;
|
|
10
|
+
classes: string[];
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
label?: string;
|
|
13
|
+
rangeInfo: {
|
|
14
|
+
range?: DateRange;
|
|
15
|
+
isStart: boolean;
|
|
16
|
+
isEnd: boolean;
|
|
17
|
+
label?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface CalendarMonthInfo {
|
|
21
|
+
date: Date;
|
|
22
|
+
short: string;
|
|
23
|
+
long: string;
|
|
24
|
+
isCurrent: boolean;
|
|
25
|
+
status: CellStatus;
|
|
26
|
+
}
|
|
27
|
+
export interface CalendarYearInfo {
|
|
28
|
+
date: Date;
|
|
29
|
+
label: string;
|
|
30
|
+
isCurrent: boolean;
|
|
31
|
+
status: CellStatus;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CalendarMode = 'day' | 'month' | 'year';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CalendarMode } from './calendar-mode';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class Calendar2CellDirective {
|
|
4
|
+
#private;
|
|
5
|
+
luCalendar2Cell: import("@angular/core").InputSignal<number>;
|
|
6
|
+
luCalendar2Mode: import("@angular/core").InputSignal<CalendarMode>;
|
|
7
|
+
luCalendar2Date: import("@angular/core").InputSignal<Date>;
|
|
8
|
+
get tabindex(): 0 | -1;
|
|
9
|
+
isTabbableDate: import("@angular/core").Signal<boolean>;
|
|
10
|
+
keydown($event: KeyboardEvent): void;
|
|
11
|
+
focus(): void;
|
|
12
|
+
blur(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Calendar2CellDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Calendar2CellDirective, "[luCalendar2Cell]", never, { "luCalendar2Cell": { "alias": "luCalendar2Cell"; "required": true; "isSignal": true; }; "luCalendar2Mode": { "alias": "luCalendar2Mode"; "required": true; "isSignal": true; }; "luCalendar2Date": { "alias": "luCalendar2Date"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { CalendarCellInfo, CalendarMonthInfo, CalendarYearInfo } from './calendar-cell-info';
|
|
3
|
+
import { CalendarMode } from './calendar-mode';
|
|
4
|
+
import { Calendar2CellDirective } from './calendar2-cell.directive';
|
|
5
|
+
import { CellStatus } from './cell-status';
|
|
6
|
+
import { DateRange } from './date-range';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class Calendar2Component implements OnInit {
|
|
9
|
+
#private;
|
|
10
|
+
readonly elementRef: ElementRef<HTMLElement>;
|
|
11
|
+
intl: import("../date2.translate").Date2Translate;
|
|
12
|
+
showOverflow: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
|
|
13
|
+
enableOverflow: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
|
|
14
|
+
hideToday: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
|
|
15
|
+
hasTodayButton: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
|
|
16
|
+
hideWeekend: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
|
|
17
|
+
date: import("@angular/core").ModelSignal<Date>;
|
|
18
|
+
tabbableDate: import("@angular/core").ModelSignal<Date>;
|
|
19
|
+
mode: import("@angular/core").ModelSignal<CalendarMode>;
|
|
20
|
+
displayMode: import("@angular/core").ModelSignal<CalendarMode>;
|
|
21
|
+
ranges: import("@angular/core").InputSignal<DateRange[]>;
|
|
22
|
+
getCellInfo: import("@angular/core").InputSignal<(date: Date, displayMode: CalendarMode) => CellStatus>;
|
|
23
|
+
month: import("@angular/core").Signal<Date>;
|
|
24
|
+
year: import("@angular/core").Signal<Date>;
|
|
25
|
+
decade: import("@angular/core").Signal<Date>;
|
|
26
|
+
previousMonth: import("@angular/core").Signal<Date>;
|
|
27
|
+
nextMonth: import("@angular/core").Signal<Date>;
|
|
28
|
+
nextPage: import("@angular/core").OutputEmitterRef<void>;
|
|
29
|
+
previousPage: import("@angular/core").OutputEmitterRef<void>;
|
|
30
|
+
dateClicked: import("@angular/core").OutputEmitterRef<Date>;
|
|
31
|
+
todayLabel: string;
|
|
32
|
+
thisMonthLabel: string;
|
|
33
|
+
thisYearLabel: string;
|
|
34
|
+
calendar2CellInstances: import("@angular/core").Signal<readonly Calendar2CellDirective[]>;
|
|
35
|
+
daysOfWeek: {
|
|
36
|
+
long: string;
|
|
37
|
+
short: string;
|
|
38
|
+
}[];
|
|
39
|
+
monthGridDisplay: import("@angular/core").Signal<CalendarCellInfo[][]>;
|
|
40
|
+
yearGridDisplay: import("@angular/core").Signal<CalendarMonthInfo[][]>;
|
|
41
|
+
decadeGridDisplay: import("@angular/core").Signal<CalendarYearInfo[][]>;
|
|
42
|
+
currentMonthLabel: import("@angular/core").Signal<string>;
|
|
43
|
+
currentYearLabel: import("@angular/core").Signal<string>;
|
|
44
|
+
currentDecadeLabel: import("@angular/core").Signal<string>;
|
|
45
|
+
constructor();
|
|
46
|
+
focusTabbableDate(): void;
|
|
47
|
+
blurTabbableDate(): void;
|
|
48
|
+
clickToday(): void;
|
|
49
|
+
ngOnInit(): void;
|
|
50
|
+
onCellClicked(date: Date): void;
|
|
51
|
+
dateToCellInfo(date: Date, isOverflow?: boolean): CalendarCellInfo;
|
|
52
|
+
getRangeInfo(date: Date, scope: CalendarMode): {
|
|
53
|
+
range: DateRange;
|
|
54
|
+
isStart: boolean;
|
|
55
|
+
isEnd: boolean;
|
|
56
|
+
label: string;
|
|
57
|
+
class: string;
|
|
58
|
+
};
|
|
59
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Calendar2Component, never>;
|
|
60
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Calendar2Component, "lu-calendar2", never, { "showOverflow": { "alias": "showOverflow"; "required": false; "isSignal": true; }; "enableOverflow": { "alias": "enableOverflow"; "required": false; "isSignal": true; }; "hideToday": { "alias": "hideToday"; "required": false; "isSignal": true; }; "hasTodayButton": { "alias": "hasTodayButton"; "required": false; "isSignal": true; }; "hideWeekend": { "alias": "hideWeekend"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "tabbableDate": { "alias": "tabbableDate"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "ranges": { "alias": "ranges"; "required": false; "isSignal": true; }; "getCellInfo": { "alias": "getCellInfo"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "tabbableDate": "tabbableDateChange"; "mode": "modeChange"; "displayMode": "displayModeChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; "dateClicked": "dateClicked"; }, never, never, true, never>;
|
|
61
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { InjectionToken, Signal, WritableSignal } from '@angular/core';
|
|
2
|
+
import { Calendar2CellDirective } from './calendar2-cell.directive';
|
|
3
|
+
export declare const CALENDAR_CELLS: InjectionToken<Signal<Calendar2CellDirective[]>>;
|
|
4
|
+
export declare const CALENDAR_TABBABLE_DATE: InjectionToken<WritableSignal<Date>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDateFormat(locale: string): string;
|