@agorapulse/ui-components 13.1.6 → 13.1.9
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/agorapulse-ui-components-13.1.9.tgz +0 -0
- package/esm2020/index.mjs +5 -6
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +16 -21
- package/esm2020/src/lib/avatar/avatar.component.mjs +14 -3
- package/esm2020/src/lib/labels/label-list.component.mjs +97 -0
- package/esm2020/src/lib/labels/label.component.mjs +53 -0
- package/esm2020/src/lib/labels-selector/labels-selector.component.mjs +89 -0
- package/esm2020/src/lib/notification/notification.component.mjs +2 -2
- package/esm2020/src/lib/text-measurement/text-measurement.service.mjs +2 -1
- package/fesm2015/agorapulse-ui-components.mjs +819 -841
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components.mjs +797 -817
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +4 -6
- package/package.json +1 -1
- package/src/lib/agorapulse-ui-components.module.d.ts +60 -61
- package/src/lib/avatar/avatar.component.d.ts +3 -0
- package/src/lib/labels/label-list.component.d.ts +30 -0
- package/src/lib/{tags/tag.component.d.ts → labels/label.component.d.ts} +6 -5
- package/src/lib/labels-selector/labels-selector.component.d.ts +34 -0
- package/agorapulse-ui-components-13.1.6.tgz +0 -0
- package/esm2020/src/lib/lead-modal/lead-info.model.mjs +0 -2
- package/esm2020/src/lib/lead-modal/lead-modal.component.mjs +0 -49
- package/esm2020/src/lib/tags/tag-list.component.mjs +0 -96
- package/esm2020/src/lib/tags/tag.component.mjs +0 -47
- package/esm2020/src/lib/tags-selector/tags-selector.component.mjs +0 -82
- package/src/lib/lead-modal/lead-info.model.d.ts +0 -7
- package/src/lib/lead-modal/lead-modal.component.d.ts +0 -31
- package/src/lib/tags/tag-list.component.d.ts +0 -30
- package/src/lib/tags-selector/tags-selector.component.d.ts +0 -32
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { AgorapulseUiComponentsModule } from './src/lib/agorapulse-ui-components.module';
|
|
2
|
+
export { PopmenuModule } from './src/lib/popmenu/popmenu.module';
|
|
2
3
|
export { AutosizeTextareaDirective } from './src/lib/directives/autosize-textarea.directive';
|
|
3
4
|
export { DefaultImageDirective } from './src/lib/directives/default-image.directive';
|
|
4
5
|
export { EllipsisDirective } from './src/lib/directives/ellipsis.directive';
|
|
@@ -16,7 +17,9 @@ export { DatepickerComponent, DatepickerMode, I18nDatePicker, Period } from './s
|
|
|
16
17
|
export { DotsStepperComponent } from './src/lib/dots-stepper/dots-stepper.component';
|
|
17
18
|
export { ImageCarouselComponent, InstagramCarouselItemType } from './src/lib/image-carousel/image-carousel.component';
|
|
18
19
|
export { FeatureOnboardingComponent } from './src/lib/feature-onboarding/feature-onboarding.component';
|
|
19
|
-
export {
|
|
20
|
+
export { LabelComponent } from './src/lib/labels/label.component';
|
|
21
|
+
export { LabelListComponent } from './src/lib/labels/label-list.component';
|
|
22
|
+
export { LabelsSelectorComponent } from './src/lib/labels-selector/labels-selector.component';
|
|
20
23
|
export { MediaDisplayOverlayDialogComponent } from './src/lib/media-display-overlay/media-display-overlay-dialog.component';
|
|
21
24
|
export { ModalComponent, ModalConfig } from './src/lib/modal/modal.component';
|
|
22
25
|
export { OverlayDialogComponent } from './src/lib/overlay/overlay-dialog.component';
|
|
@@ -27,12 +30,8 @@ export { PasswordInputComponent } from './src/lib/password-input/password-input.
|
|
|
27
30
|
export { PlaceComponent } from './src/lib/places/place.component';
|
|
28
31
|
export { PlaceListComponent } from './src/lib/places/place-list.component';
|
|
29
32
|
export { PopmenuComponent } from './src/lib/popmenu/popmenu.component';
|
|
30
|
-
export { PopmenuModule } from './src/lib/popmenu/popmenu.module';
|
|
31
33
|
export { SplashscreenComponent } from './src/lib/splashscreen/splashscreen.component';
|
|
32
34
|
export { SnackBarComponent } from './src/lib/snackbar/snackbar.component';
|
|
33
|
-
export { TagComponent } from './src/lib/tags/tag.component';
|
|
34
|
-
export { TagListComponent } from './src/lib/tags/tag-list.component';
|
|
35
|
-
export { TagsSelectorComponent } from './src/lib/tags-selector/tags-selector.component';
|
|
36
35
|
export { Time, TimeFormat } from './src/lib/timepicker/timepicker.component';
|
|
37
36
|
export { TryPopupComponent } from './src/lib/try-popup/try-popup.component';
|
|
38
37
|
export { NotificationComponent } from './src/lib/notification/notification.component';
|
|
@@ -44,6 +43,5 @@ export { StarRatingComponent } from './src/lib/star-rating/star-rating.component
|
|
|
44
43
|
export { SnackbarsThreadService } from './src/lib/snackbars-thread/service/snackbars-thread.service';
|
|
45
44
|
export { Step } from './src/lib/stepper/step.model';
|
|
46
45
|
export { ConfirmModalTexts } from './src/lib/confirm-modal/confirm-modal-texts.model';
|
|
47
|
-
export { LeadInfo } from './src/lib/lead-modal/lead-info.model';
|
|
48
46
|
export { TryPopupTexts } from './src/lib/try-popup/try-popup-texts.model';
|
|
49
47
|
export { generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed } from './src/lib/snackbars-thread/model/snackbars-thread.model';
|
package/package.json
CHANGED
|
@@ -9,68 +9,67 @@ import * as i7 from "./dots-stepper/dots-stepper.component";
|
|
|
9
9
|
import * as i8 from "./directives/ellipsis.directive";
|
|
10
10
|
import * as i9 from "./image-carousel/image-carousel.component";
|
|
11
11
|
import * as i10 from "./feature-onboarding/feature-onboarding.component";
|
|
12
|
-
import * as i11 from "./
|
|
13
|
-
import * as i12 from "./
|
|
14
|
-
import * as i13 from "./
|
|
15
|
-
import * as i14 from "./
|
|
16
|
-
import * as i15 from "./overlay
|
|
17
|
-
import * as i16 from "./
|
|
18
|
-
import * as i17 from "./
|
|
19
|
-
import * as i18 from "./places/place
|
|
20
|
-
import * as i19 from "./
|
|
21
|
-
import * as i20 from "./
|
|
22
|
-
import * as i21 from "./
|
|
23
|
-
import * as i22 from "./
|
|
24
|
-
import * as i23 from "./
|
|
25
|
-
import * as i24 from "./
|
|
26
|
-
import * as i25 from "./
|
|
27
|
-
import * as i26 from "./
|
|
28
|
-
import * as i27 from "./
|
|
29
|
-
import * as i28 from "./paginator/paginator.component";
|
|
30
|
-
import * as i29 from "./
|
|
31
|
-
import * as i30 from "./
|
|
32
|
-
import * as i31 from "./
|
|
33
|
-
import * as i32 from "./
|
|
34
|
-
import * as i33 from "./directives/
|
|
35
|
-
import * as i34 from "./directives/
|
|
36
|
-
import * as i35 from "./directives/
|
|
37
|
-
import * as i36 from "./directives/
|
|
38
|
-
import * as i37 from "./
|
|
39
|
-
import * as i38 from "
|
|
40
|
-
import * as i39 from "@
|
|
41
|
-
import * as i40 from "
|
|
42
|
-
import * as i41 from "
|
|
43
|
-
import * as i42 from "@
|
|
44
|
-
import * as i43 from "
|
|
45
|
-
import * as i44 from "
|
|
46
|
-
import * as i45 from "@angular/
|
|
47
|
-
import * as i46 from "@angular/material/
|
|
48
|
-
import * as i47 from "@angular/material/button";
|
|
49
|
-
import * as i48 from "@angular/material/
|
|
50
|
-
import * as i49 from "@angular/material/
|
|
51
|
-
import * as i50 from "@angular/material/
|
|
52
|
-
import * as i51 from "@angular/material/
|
|
53
|
-
import * as i52 from "@angular/material/
|
|
54
|
-
import * as i53 from "@angular/material/progress-
|
|
55
|
-
import * as i54 from "@angular/material/
|
|
56
|
-
import * as i55 from "@angular/material/
|
|
57
|
-
import * as i56 from "@angular/material/
|
|
58
|
-
import * as i57 from "@angular/material/
|
|
59
|
-
import * as i58 from "@angular/material/
|
|
60
|
-
import * as i59 from "@angular/material/
|
|
61
|
-
import * as i60 from "@angular/material/
|
|
62
|
-
import * as i61 from "@angular/material/
|
|
63
|
-
import * as i62 from "@angular/material/
|
|
64
|
-
import * as i63 from "@angular/material/
|
|
65
|
-
import * as i64 from "@angular/material/
|
|
66
|
-
import * as i65 from "@angular/material/
|
|
67
|
-
import * as i66 from "@angular/material/
|
|
68
|
-
import * as i67 from "@angular/material/
|
|
69
|
-
import * as i68 from "@angular/material/
|
|
70
|
-
import * as i69 from "@angular/material/
|
|
71
|
-
import * as i70 from "@angular/material/table";
|
|
12
|
+
import * as i11 from "./labels/label-list.component";
|
|
13
|
+
import * as i12 from "./labels-selector/labels-selector.component";
|
|
14
|
+
import * as i13 from "./media-display-overlay/media-display-overlay-dialog.component";
|
|
15
|
+
import * as i14 from "./modal/modal.component";
|
|
16
|
+
import * as i15 from "./overlay/overlay-dialog.component";
|
|
17
|
+
import * as i16 from "./overlay-in-div/overlay-in-div.component";
|
|
18
|
+
import * as i17 from "./password-input/password-input.component";
|
|
19
|
+
import * as i18 from "./places/place.component";
|
|
20
|
+
import * as i19 from "./places/place-list.component";
|
|
21
|
+
import * as i20 from "./snackbar/snackbar.component";
|
|
22
|
+
import * as i21 from "./splashscreen/splashscreen.component";
|
|
23
|
+
import * as i22 from "./star-rating/star-rating.component";
|
|
24
|
+
import * as i23 from "./labels/label.component";
|
|
25
|
+
import * as i24 from "./timepicker/timepicker.component";
|
|
26
|
+
import * as i25 from "./try-popup/try-popup.component";
|
|
27
|
+
import * as i26 from "./notification/notification.component";
|
|
28
|
+
import * as i27 from "./paginator/paginator.component";
|
|
29
|
+
import * as i28 from "./paginator/paginator-button/paginator-button.component";
|
|
30
|
+
import * as i29 from "./slide-toggle/slide-toggle.component";
|
|
31
|
+
import * as i30 from "./snackbars-thread/component/snackbars-thread.component";
|
|
32
|
+
import * as i31 from "./tooltip-neo/tooltip-neo.component";
|
|
33
|
+
import * as i32 from "./directives/default-image.directive";
|
|
34
|
+
import * as i33 from "./directives/frozen-gif.directive";
|
|
35
|
+
import * as i34 from "./directives/equal-validator.directive";
|
|
36
|
+
import * as i35 from "./directives/multi-style-text.directive";
|
|
37
|
+
import * as i36 from "./directives/truncate-tooltip.directive";
|
|
38
|
+
import * as i37 from "./tooltip-neo/tooltip-neo.directive";
|
|
39
|
+
import * as i38 from "@agorapulse/ui-symbol";
|
|
40
|
+
import * as i39 from "@angular/common";
|
|
41
|
+
import * as i40 from "ngx-daterangepicker-material";
|
|
42
|
+
import * as i41 from "@angular/forms";
|
|
43
|
+
import * as i42 from "@ng-select/ng-select";
|
|
44
|
+
import * as i43 from "./popmenu/popmenu.module";
|
|
45
|
+
import * as i44 from "@angular/cdk/overlay";
|
|
46
|
+
import * as i45 from "@angular/material/badge";
|
|
47
|
+
import * as i46 from "@angular/material/button";
|
|
48
|
+
import * as i47 from "@angular/material/button-toggle";
|
|
49
|
+
import * as i48 from "@angular/material/chips";
|
|
50
|
+
import * as i49 from "@angular/material/expansion";
|
|
51
|
+
import * as i50 from "@angular/material/checkbox";
|
|
52
|
+
import * as i51 from "@angular/material/icon";
|
|
53
|
+
import * as i52 from "@angular/material/progress-bar";
|
|
54
|
+
import * as i53 from "@angular/material/progress-spinner";
|
|
55
|
+
import * as i54 from "@angular/material/radio";
|
|
56
|
+
import * as i55 from "@angular/material/slider";
|
|
57
|
+
import * as i56 from "@angular/material/slide-toggle";
|
|
58
|
+
import * as i57 from "@angular/material/menu";
|
|
59
|
+
import * as i58 from "@angular/material/sidenav";
|
|
60
|
+
import * as i59 from "@angular/material/toolbar";
|
|
61
|
+
import * as i60 from "@angular/material/card";
|
|
62
|
+
import * as i61 from "@angular/material/divider";
|
|
63
|
+
import * as i62 from "@angular/material/grid-list";
|
|
64
|
+
import * as i63 from "@angular/material/list";
|
|
65
|
+
import * as i64 from "@angular/material/tabs";
|
|
66
|
+
import * as i65 from "@angular/material/stepper";
|
|
67
|
+
import * as i66 from "@angular/material/bottom-sheet";
|
|
68
|
+
import * as i67 from "@angular/material/dialog";
|
|
69
|
+
import * as i68 from "@angular/material/snack-bar";
|
|
70
|
+
import * as i69 from "@angular/material/table";
|
|
72
71
|
export declare class AgorapulseUiComponentsModule {
|
|
73
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<AgorapulseUiComponentsModule, never>;
|
|
74
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.ImageCarouselComponent, typeof i10.FeatureOnboardingComponent, typeof i11.
|
|
73
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.ImageCarouselComponent, typeof i10.FeatureOnboardingComponent, typeof i11.LabelListComponent, typeof i12.LabelsSelectorComponent, typeof i13.MediaDisplayOverlayDialogComponent, typeof i14.ModalComponent, typeof i15.OverlayDialogComponent, typeof i16.OverlayInDivComponent, typeof i17.PasswordInputComponent, typeof i18.PlaceComponent, typeof i19.PlaceListComponent, typeof i20.SnackBarComponent, typeof i21.SplashscreenComponent, typeof i22.StarRatingComponent, typeof i23.LabelComponent, typeof i24.TimepickerComponent, typeof i25.TryPopupComponent, typeof i26.NotificationComponent, typeof i27.PaginatorComponent, typeof i28.PaginatorButtonComponent, typeof i29.SlideToggleComponent, typeof i30.SnackbarsThreadComponent, typeof i31.TooltipNeoComponent, typeof i3.AutosizeTextareaDirective, typeof i32.DefaultImageDirective, typeof i33.FrozenGifDirective, typeof i29.SlideToggleComponent, typeof i34.EqualValidatorDirective, typeof i35.MultiStyleTextDirective, typeof i36.TruncateTooltipDirective, typeof i37.TooltipNeoDirective], [typeof i38.AgorapulseUiSymbolModule, typeof i39.CommonModule, typeof i40.NgxDaterangepickerMd, typeof i41.FormsModule, typeof i41.ReactiveFormsModule, typeof i42.NgSelectModule, typeof i43.PopmenuModule, typeof i44.OverlayModule, typeof i45.MatBadgeModule, typeof i46.MatButtonModule, typeof i47.MatButtonToggleModule, typeof i48.MatChipsModule, typeof i49.MatExpansionModule, typeof i50.MatCheckboxModule, typeof i51.MatIconModule, typeof i52.MatProgressBarModule, typeof i53.MatProgressSpinnerModule, typeof i54.MatRadioModule, typeof i55.MatSliderModule, typeof i56.MatSlideToggleModule, typeof i57.MatMenuModule, typeof i58.MatSidenavModule, typeof i59.MatToolbarModule, typeof i60.MatCardModule, typeof i61.MatDividerModule, typeof i62.MatGridListModule, typeof i63.MatListModule, typeof i64.MatTabsModule, typeof i65.MatStepperModule, typeof i66.MatBottomSheetModule, typeof i67.MatDialogModule, typeof i68.MatSnackBarModule, typeof i69.MatTableModule], [typeof i41.FormsModule, typeof i41.ReactiveFormsModule, typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.ImageCarouselComponent, typeof i10.FeatureOnboardingComponent, typeof i23.LabelComponent, typeof i11.LabelListComponent, typeof i13.MediaDisplayOverlayDialogComponent, typeof i14.ModalComponent, typeof i15.OverlayDialogComponent, typeof i16.OverlayInDivComponent, typeof i17.PasswordInputComponent, typeof i18.PlaceComponent, typeof i19.PlaceListComponent, typeof i20.SnackBarComponent, typeof i21.SplashscreenComponent, typeof i22.StarRatingComponent, typeof i12.LabelsSelectorComponent, typeof i24.TimepickerComponent, typeof i25.TryPopupComponent, typeof i26.NotificationComponent, typeof i27.PaginatorComponent, typeof i28.PaginatorButtonComponent, typeof i29.SlideToggleComponent, typeof i30.SnackbarsThreadComponent, typeof i3.AutosizeTextareaDirective, typeof i32.DefaultImageDirective, typeof i33.FrozenGifDirective, typeof i34.EqualValidatorDirective, typeof i35.MultiStyleTextDirective, typeof i36.TruncateTooltipDirective, typeof i37.TooltipNeoDirective, typeof i42.NgSelectModule, typeof i43.PopmenuModule, typeof i45.MatBadgeModule, typeof i46.MatButtonModule, typeof i47.MatButtonToggleModule, typeof i50.MatCheckboxModule, typeof i48.MatChipsModule, typeof i49.MatExpansionModule, typeof i51.MatIconModule, typeof i52.MatProgressBarModule, typeof i53.MatProgressSpinnerModule, typeof i54.MatRadioModule, typeof i55.MatSliderModule, typeof i56.MatSlideToggleModule, typeof i57.MatMenuModule, typeof i58.MatSidenavModule, typeof i59.MatToolbarModule, typeof i60.MatCardModule, typeof i61.MatDividerModule, typeof i62.MatGridListModule, typeof i63.MatListModule, typeof i64.MatTabsModule, typeof i65.MatStepperModule, typeof i66.MatBottomSheetModule, typeof i67.MatDialogModule, typeof i68.MatSnackBarModule, typeof i69.MatTableModule]>;
|
|
75
74
|
static ɵinj: i0.ɵɵInjectorDeclaration<AgorapulseUiComponentsModule>;
|
|
76
75
|
}
|
|
@@ -22,6 +22,9 @@ export declare class AvatarComponent implements OnInit, OnChanges {
|
|
|
22
22
|
sizeMapNumbers: {
|
|
23
23
|
[key: string]: number;
|
|
24
24
|
};
|
|
25
|
+
symbolSizeByAvatarSize: {
|
|
26
|
+
[key: string]: string;
|
|
27
|
+
};
|
|
25
28
|
ngOnInit(): void;
|
|
26
29
|
ngOnChanges(changes: SimpleChanges): void;
|
|
27
30
|
onError(): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { TextMeasurementService } from "../text-measurement/text-measurement.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LabelListComponent implements AfterContentInit, OnChanges, OnDestroy {
|
|
5
|
+
private changeDetectorRef;
|
|
6
|
+
private elementRef;
|
|
7
|
+
private textMeasurementService;
|
|
8
|
+
private zone;
|
|
9
|
+
labels: string[];
|
|
10
|
+
removeLabelsEnabled: boolean;
|
|
11
|
+
responsive: boolean;
|
|
12
|
+
seeLessTranslation: string;
|
|
13
|
+
removeLabel: EventEmitter<string[]>;
|
|
14
|
+
expanded: boolean;
|
|
15
|
+
howManyItemsLeft: number;
|
|
16
|
+
responsiveLabels: string[];
|
|
17
|
+
private observer;
|
|
18
|
+
private width$;
|
|
19
|
+
constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, textMeasurementService: TextMeasurementService, zone: NgZone);
|
|
20
|
+
ngAfterContentInit(): void;
|
|
21
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
22
|
+
ngOnDestroy(): void;
|
|
23
|
+
onExpand(): void;
|
|
24
|
+
onRemoveLabel(label: string): void;
|
|
25
|
+
onResize(): void;
|
|
26
|
+
trackByLabelContent(index: any, entry: string): string;
|
|
27
|
+
private generateResponsiveLabels;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LabelListComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LabelListComponent, "ap-label-list", never, { "labels": "labels"; "removeLabelsEnabled": "removeLabelsEnabled"; "responsive": "responsive"; "seeLessTranslation": "seeLessTranslation"; }, { "removeLabel": "removeLabel"; }, never, never>;
|
|
30
|
+
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { EventEmitter, ElementRef, NgZone, OnDestroy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class LabelComponent implements OnDestroy {
|
|
4
4
|
private elementRef;
|
|
5
5
|
private zone;
|
|
6
6
|
color: string | 'blue' | 'red' | 'purple' | 'orange' | 'yellow' | 'green';
|
|
7
7
|
content: string;
|
|
8
8
|
onlyText: boolean;
|
|
9
|
+
selectorWidth: number;
|
|
9
10
|
removable: boolean;
|
|
10
|
-
|
|
11
|
+
remove: EventEmitter<string>;
|
|
11
12
|
private observer;
|
|
12
13
|
tooltipEnabled: boolean;
|
|
13
14
|
constructor(elementRef: ElementRef, zone: NgZone);
|
|
14
15
|
ngAfterViewInit(): void;
|
|
15
16
|
ngOnDestroy(): void;
|
|
16
|
-
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
17
|
+
onRemoveLabel(): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LabelComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LabelComponent, "ap-label", never, { "color": "color"; "content": "content"; "onlyText": "onlyText"; "selectorWidth": "selectorWidth"; "removable": "removable"; }, { "remove": "remove"; }, never, never>;
|
|
19
20
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Observable, Subject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface LabelsSelectorTranslation {
|
|
5
|
+
placeholder: string;
|
|
6
|
+
createLabel: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class LabelsSelectorComponent implements OnInit, OnChanges {
|
|
9
|
+
private changeDetectorRef;
|
|
10
|
+
readonly INFINITY: number;
|
|
11
|
+
addLabelEnabled: boolean;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
initialLabels: string[];
|
|
14
|
+
translation: LabelsSelectorTranslation;
|
|
15
|
+
loadingOnSearch: boolean;
|
|
16
|
+
multipleEnabled: boolean;
|
|
17
|
+
searchLabelsFunction: (string: any) => Observable<string[]>;
|
|
18
|
+
createLabel: EventEmitter<string>;
|
|
19
|
+
selectLabels: EventEmitter<string[]>;
|
|
20
|
+
searchErrorMessage: EventEmitter<string>;
|
|
21
|
+
labels: string[];
|
|
22
|
+
labelsInput$: Subject<string>;
|
|
23
|
+
labels$: Observable<string[]>;
|
|
24
|
+
labelsLoading: boolean;
|
|
25
|
+
constructor(changeDetectorRef: ChangeDetectorRef);
|
|
26
|
+
ngOnInit(): void;
|
|
27
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
28
|
+
onCreateLabel(label: string): void;
|
|
29
|
+
onOpen(): void;
|
|
30
|
+
onLabelsChange(): void;
|
|
31
|
+
setSearchFunction(): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LabelsSelectorComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LabelsSelectorComponent, "ap-labels-selector", never, { "addLabelEnabled": "addLabelEnabled"; "disabled": "disabled"; "initialLabels": "initialLabels"; "translation": "translation"; "loadingOnSearch": "loadingOnSearch"; "multipleEnabled": "multipleEnabled"; "searchLabelsFunction": "searchLabelsFunction"; }, { "createLabel": "createLabel"; "selectLabels": "selectLabels"; "searchErrorMessage": "searchErrorMessage"; }, never, never>;
|
|
34
|
+
}
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1pbmZvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvbGVhZC1tb2RhbC9sZWFkLWluZm8ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGVhZEluZm8ge1xuICAgIGxhbmd1YWdlOiBzdHJpbmc7XG4gICAgcHJvZmlsZVR5cGU6IHN0cmluZztcbiAgICBxdWFsaWZpZWRQbGFuOiBzdHJpbmc7XG4gICAgcXVhbGlmaWVkUHJvZmlsZVBsYW46IHN0cmluZztcbiAgICBxdWFsaWZpZWRUZWFtUGxhbjogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/material/button-toggle";
|
|
6
|
-
import * as i3 from "@angular/material/button";
|
|
7
|
-
import * as i4 from "../modal/modal.component";
|
|
8
|
-
import * as i5 from "@angular/forms";
|
|
9
|
-
export class LeadModalComponent {
|
|
10
|
-
constructor(dialogRef, translatedStrings) {
|
|
11
|
-
this.dialogRef = dialogRef;
|
|
12
|
-
this.translatedStrings = translatedStrings;
|
|
13
|
-
this.plans = {
|
|
14
|
-
PRO: 'pro',
|
|
15
|
-
PREMIUM: 'premium',
|
|
16
|
-
PREMIUM_PLUS: 'premium+',
|
|
17
|
-
ENTERPRISE: 'enterprise',
|
|
18
|
-
};
|
|
19
|
-
this.orderedPlans = [
|
|
20
|
-
this.plans.PRO,
|
|
21
|
-
this.plans.PREMIUM,
|
|
22
|
-
this.plans.PREMIUM_PLUS,
|
|
23
|
-
this.plans.ENTERPRISE,
|
|
24
|
-
];
|
|
25
|
-
dialogRef.disableClose = true;
|
|
26
|
-
}
|
|
27
|
-
onValidate(qualifiedProfilePlan, qualifiedTeamPlan, profileType) {
|
|
28
|
-
const qualifiedPlan = this.orderedPlans.indexOf(qualifiedProfilePlan) > this.orderedPlans.indexOf(qualifiedTeamPlan)
|
|
29
|
-
? qualifiedProfilePlan
|
|
30
|
-
: qualifiedTeamPlan;
|
|
31
|
-
return {
|
|
32
|
-
language: window.navigator && window.navigator.language ? window.navigator.language : '',
|
|
33
|
-
qualifiedPlan: qualifiedPlan,
|
|
34
|
-
qualifiedProfilePlan: qualifiedProfilePlan,
|
|
35
|
-
qualifiedTeamPlan: qualifiedTeamPlan,
|
|
36
|
-
profileType: profileType
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/** @nocollapse */ /** @nocollapse */ LeadModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LeadModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
/** @nocollapse */ /** @nocollapse */ LeadModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: LeadModalComponent, selector: "ap-lead-modal", ngImport: i0, template: "<ng-template #headerTemplate>\n <h1 mat-dialog-title>\n {{translatedStrings.title}}\n </h1>\n</ng-template>\n\n<ng-template #mainTemplate>\n <div mat-dialog-content>\n <div class=\"form-field\">\n <label for=\"profileField\">\n {{translatedStrings.profileFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedProfilePlan\"\n id=\"profileField\"\n name=\"qualifiedProfilePlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 10</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">11 - 25</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">26 - 40</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">40+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"teamField\">\n {{translatedStrings.teamFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedTeamPlan\"\n id=\"teamField\"\n name=\"qualifiedTeamPlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 2</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">3 - 4</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">5 - 8</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">8+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"agencyField\">\n {{translatedStrings.agencyFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"profileType\"\n id=\"agencyField\"\n class=\"agency-toggle\"\n name=\"profileType\">\n <mat-button-toggle value=\"agency\">{{translatedStrings.agencyYesLabel}}</mat-button-toggle>\n <mat-button-toggle value=\"none\">{{translatedStrings.agencyNoLabel}}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div>\n <button mat-flat-button\n color=\"primary\"\n [disabled]=\"!(qualifiedProfilePlan && qualifiedTeamPlan && profileType)\"\n [mat-dialog-close]=\"onValidate(qualifiedProfilePlan, qualifiedTeamPlan, profileType)\">\n {{translatedStrings.validateButtonLabel}}\n </button>\n </div>\n</ng-template>\n\n<ap-modal\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n", components: [{ type: i2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.ModalComponent, selector: "ap-modal", inputs: ["closable", "headerBottomBorderEnabled", "footerTemplate", "footerVisible", "headerTemplate", "headerVisible", "mainTemplate", "config", "containerStyle", "headerStyle", "contentStyle", "footerStyle", "defaultLayout"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LeadModalComponent, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-lead-modal', template: "<ng-template #headerTemplate>\n <h1 mat-dialog-title>\n {{translatedStrings.title}}\n </h1>\n</ng-template>\n\n<ng-template #mainTemplate>\n <div mat-dialog-content>\n <div class=\"form-field\">\n <label for=\"profileField\">\n {{translatedStrings.profileFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedProfilePlan\"\n id=\"profileField\"\n name=\"qualifiedProfilePlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 10</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">11 - 25</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">26 - 40</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">40+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"teamField\">\n {{translatedStrings.teamFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedTeamPlan\"\n id=\"teamField\"\n name=\"qualifiedTeamPlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 2</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">3 - 4</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">5 - 8</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">8+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"agencyField\">\n {{translatedStrings.agencyFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"profileType\"\n id=\"agencyField\"\n class=\"agency-toggle\"\n name=\"profileType\">\n <mat-button-toggle value=\"agency\">{{translatedStrings.agencyYesLabel}}</mat-button-toggle>\n <mat-button-toggle value=\"none\">{{translatedStrings.agencyNoLabel}}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div>\n <button mat-flat-button\n color=\"primary\"\n [disabled]=\"!(qualifiedProfilePlan && qualifiedTeamPlan && profileType)\"\n [mat-dialog-close]=\"onValidate(qualifiedProfilePlan, qualifiedTeamPlan, profileType)\">\n {{translatedStrings.validateButtonLabel}}\n </button>\n </div>\n</ng-template>\n\n<ap-modal\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n" }]
|
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
46
|
-
type: Inject,
|
|
47
|
-
args: [MAT_DIALOG_DATA]
|
|
48
|
-
}] }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9sZWFkLW1vZGFsL2xlYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvbGVhZC1tb2RhbC9sZWFkLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQW1CekQsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUNXLFNBQTJDLEVBQ2xCLGlCQUFvQztRQUQ3RCxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUNsQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSXhFLFVBQUssR0FBRztZQUNKLEdBQUcsRUFBRSxLQUFLO1lBQ1YsT0FBTyxFQUFFLFNBQVM7WUFDbEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsVUFBVSxFQUFFLFlBQVk7U0FDM0IsQ0FBQztRQUVGLGlCQUFZLEdBQUc7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUN4QixDQUFDO1FBZkUsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQW9CRCxVQUFVLENBQUMsb0JBQTRCLEVBQUUsaUJBQXlCLEVBQUUsV0FBbUI7UUFDbkYsTUFBTSxhQUFhLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUN4SCxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUV4QixPQUFPO1lBQ0gsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hGLGFBQWEsRUFBRSxhQUFhO1lBQzVCLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsV0FBVyxFQUFFLFdBQVc7U0FDM0IsQ0FBQztJQUNOLENBQUM7O3FKQXRDUSxrQkFBa0IsOENBSWYsZUFBZTt5SUFKbEIsa0JBQWtCLHFEQ3JCL0IsKzlGQW9FQTsyRkQvQ2Esa0JBQWtCO2tCQUw5QixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsZUFBZTs7MEJBT3BCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEF9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0xlYWRJbmZvfSBmcm9tICcuL2xlYWQtaW5mby5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRlZFN0cmluZ3Mge1xuICAgIGFnZW5jeUZpZWxkTGFiZWw6IHN0cmluZztcbiAgICBhZ2VuY3lOb0xhYmVsOiBzdHJpbmc7XG4gICAgYWdlbmN5WWVzTGFiZWw6IHN0cmluZztcbiAgICBwcm9maWxlRmllbGRMYWJlbDogc3RyaW5nO1xuICAgIHRlYW1GaWVsZExhYmVsOiBzdHJpbmc7XG4gICAgdGVhbU1lTGFiZWw6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHZhbGlkYXRlQnV0dG9uTGFiZWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1sZWFkLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xlYWQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMZWFkTW9kYWxDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxMZWFkTW9kYWxDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHRyYW5zbGF0ZWRTdHJpbmdzOiBUcmFuc2xhdGVkU3RyaW5ncykge1xuICAgICAgICBkaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwbGFucyA9IHtcbiAgICAgICAgUFJPOiAncHJvJyxcbiAgICAgICAgUFJFTUlVTTogJ3ByZW1pdW0nLFxuICAgICAgICBQUkVNSVVNX1BMVVM6ICdwcmVtaXVtKycsXG4gICAgICAgIEVOVEVSUFJJU0U6ICdlbnRlcnByaXNlJyxcbiAgICB9O1xuXG4gICAgb3JkZXJlZFBsYW5zID0gW1xuICAgICAgICB0aGlzLnBsYW5zLlBSTyxcbiAgICAgICAgdGhpcy5wbGFucy5QUkVNSVVNLFxuICAgICAgICB0aGlzLnBsYW5zLlBSRU1JVU1fUExVUyxcbiAgICAgICAgdGhpcy5wbGFucy5FTlRFUlBSSVNFLFxuICAgIF07XG5cbiAgICBxdWFsaWZpZWRQcm9maWxlUGxhbjogc3RyaW5nO1xuICAgIHF1YWxpZmllZFRlYW1QbGFuOiBzdHJpbmc7XG4gICAgcHJvZmlsZVR5cGU6IHN0cmluZztcblxuICAgIG9uVmFsaWRhdGUocXVhbGlmaWVkUHJvZmlsZVBsYW46IHN0cmluZywgcXVhbGlmaWVkVGVhbVBsYW46IHN0cmluZywgcHJvZmlsZVR5cGU6IHN0cmluZyk6IExlYWRJbmZvIHtcbiAgICAgICAgY29uc3QgcXVhbGlmaWVkUGxhbjogc3RyaW5nID0gdGhpcy5vcmRlcmVkUGxhbnMuaW5kZXhPZihxdWFsaWZpZWRQcm9maWxlUGxhbikgPiB0aGlzLm9yZGVyZWRQbGFucy5pbmRleE9mKHF1YWxpZmllZFRlYW1QbGFuKVxuICAgICAgICAgICAgPyBxdWFsaWZpZWRQcm9maWxlUGxhblxuICAgICAgICAgICAgOiBxdWFsaWZpZWRUZWFtUGxhbjtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFuZ3VhZ2U6IHdpbmRvdy5uYXZpZ2F0b3IgJiYgd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZSA/IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2UgOiAnJyxcbiAgICAgICAgICAgIHF1YWxpZmllZFBsYW46IHF1YWxpZmllZFBsYW4sXG4gICAgICAgICAgICBxdWFsaWZpZWRQcm9maWxlUGxhbjogcXVhbGlmaWVkUHJvZmlsZVBsYW4sXG4gICAgICAgICAgICBxdWFsaWZpZWRUZWFtUGxhbjogcXVhbGlmaWVkVGVhbVBsYW4sXG4gICAgICAgICAgICBwcm9maWxlVHlwZTogcHJvZmlsZVR5cGVcbiAgICAgICAgfTtcbiAgICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gICAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgICAgIHt7dHJhbnNsYXRlZFN0cmluZ3MudGl0bGV9fVxuICAgIDwvaDE+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21haW5UZW1wbGF0ZT5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInByb2ZpbGVGaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3RyYW5zbGF0ZWRTdHJpbmdzLnByb2ZpbGVGaWVsZExhYmVsfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInF1YWxpZmllZFByb2ZpbGVQbGFuXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJwcm9maWxlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicXVhbGlmaWVkUHJvZmlsZVBsYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJwbGFucy5QUk9cIj4xIC0gMTA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cInBsYW5zLlBSRU1JVU1cIj4xMSAtIDI1PC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJwbGFucy5QUkVNSVVNX1BMVVNcIj4yNiAtIDQwPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJwbGFucy5FTlRFUlBSSVNFXCI+NDArPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ0ZWFtRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGVkU3RyaW5ncy50ZWFtRmllbGRMYWJlbH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJxdWFsaWZpZWRUZWFtUGxhblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwidGVhbUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInF1YWxpZmllZFRlYW1QbGFuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwicGxhbnMuUFJPXCI+MSAtIDI8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cInBsYW5zLlBSRU1JVU1cIj4zIC0gNDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwicGxhbnMuUFJFTUlVTV9QTFVTXCI+NSAtIDg8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cInBsYW5zLkVOVEVSUFJJU0VcIj44KzwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYWdlbmN5RmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGVkU3RyaW5ncy5hZ2VuY3lGaWVsZExhYmVsfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInByb2ZpbGVUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZ2VuY3lGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWdlbmN5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwcm9maWxlVHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJhZ2VuY3lcIj57e3RyYW5zbGF0ZWRTdHJpbmdzLmFnZW5jeVllc0xhYmVsfX08L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJub25lXCI+e3t0cmFuc2xhdGVkU3RyaW5ncy5hZ2VuY3lOb0xhYmVsfX08L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKHF1YWxpZmllZFByb2ZpbGVQbGFuICYmIHF1YWxpZmllZFRlYW1QbGFuICYmIHByb2ZpbGVUeXBlKVwiXG4gICAgICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwib25WYWxpZGF0ZShxdWFsaWZpZWRQcm9maWxlUGxhbiwgcXVhbGlmaWVkVGVhbVBsYW4sIHByb2ZpbGVUeXBlKVwiPlxuICAgICAgICAgICAge3t0cmFuc2xhdGVkU3RyaW5ncy52YWxpZGF0ZUJ1dHRvbkxhYmVsfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48YXAtbW9kYWxcbiAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgIFttYWluVGVtcGxhdGVdPVwibWFpblRlbXBsYXRlXCJcbiAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxuPjwvYXAtbW9kYWw+XG4iXX0=
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from "rxjs";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../text-measurement/text-measurement.service";
|
|
5
|
-
import * as i2 from "./tag.component";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
export class TagListComponent {
|
|
8
|
-
constructor(elementRef, changeDetectorRef, textMeasurementService, zone) {
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
11
|
-
this.textMeasurementService = textMeasurementService;
|
|
12
|
-
this.zone = zone;
|
|
13
|
-
this.removeTagsEnabled = false;
|
|
14
|
-
this.responsive = false;
|
|
15
|
-
this.seeLessTranslation = 'See less';
|
|
16
|
-
this.deleteTag = new EventEmitter();
|
|
17
|
-
this.expanded = false;
|
|
18
|
-
this.howManyItemsLeft = 0;
|
|
19
|
-
this.responsiveTags = [];
|
|
20
|
-
this.width$ = new BehaviorSubject(0);
|
|
21
|
-
}
|
|
22
|
-
ngAfterViewInit() {
|
|
23
|
-
if (this.responsive) {
|
|
24
|
-
this.generateResponsiveTags(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0].offsetWidth);
|
|
25
|
-
this.observer = new ResizeObserver(entries => {
|
|
26
|
-
this.zone.run(() => {
|
|
27
|
-
this.width$.next(entries[0].contentRect.width);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
this.observer.observe(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0]);
|
|
31
|
-
this.width$.subscribe(width => {
|
|
32
|
-
this.generateResponsiveTags(width);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ngOnChanges(changes) {
|
|
37
|
-
if (changes.tags.currentValue) {
|
|
38
|
-
this.generateResponsiveTags(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0].offsetWidth);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.observer.unobserve(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0]);
|
|
43
|
-
}
|
|
44
|
-
onExpand() {
|
|
45
|
-
this.expanded = !this.expanded;
|
|
46
|
-
}
|
|
47
|
-
onDeleteTag(tag) {
|
|
48
|
-
this.tags.splice(this.tags.indexOf(tag), 1);
|
|
49
|
-
this.deleteTag.emit(this.tags);
|
|
50
|
-
}
|
|
51
|
-
onResize() {
|
|
52
|
-
this.generateResponsiveTags(this.elementRef.nativeElement.children[0].offsetWidth);
|
|
53
|
-
}
|
|
54
|
-
trackByTagContent(index, entry) {
|
|
55
|
-
return entry;
|
|
56
|
-
}
|
|
57
|
-
generateResponsiveTags(width) {
|
|
58
|
-
let seeMoreElementWidth = this.textMeasurementService.calculateTextWidth('+'.concat(this.tags.length.toString()), 14, 'Averta');
|
|
59
|
-
seeMoreElementWidth += 1 + 8 + 8 + 1; // border-left + padding-left + padding-right + border-right
|
|
60
|
-
let elementWidth = width;
|
|
61
|
-
elementWidth -= seeMoreElementWidth;
|
|
62
|
-
let currentIndex = 0;
|
|
63
|
-
for (let index = 0; index < this.tags.length; index++) {
|
|
64
|
-
let textWidth = this.textMeasurementService.calculateTextWidth(this.tags[index], 14, 'Averta');
|
|
65
|
-
textWidth += 1 + 8 + (this.removeTagsEnabled ? 25 : 8) + 1 + 4; // border-left + padding-left + padding-right + border-right + tag spacing
|
|
66
|
-
elementWidth -= textWidth;
|
|
67
|
-
if (elementWidth <= 0) {
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
currentIndex = index;
|
|
71
|
-
}
|
|
72
|
-
if (currentIndex + 1 === (this.tags.length)) {
|
|
73
|
-
this.expanded = false;
|
|
74
|
-
}
|
|
75
|
-
this.howManyItemsLeft = this.tags.length - (currentIndex + 1);
|
|
76
|
-
this.responsiveTags = this.tags.slice(0, currentIndex + 1);
|
|
77
|
-
this.changeDetectorRef.markForCheck();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/** @nocollapse */ /** @nocollapse */ TagListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TagListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.TextMeasurementService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
/** @nocollapse */ /** @nocollapse */ TagListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TagListComponent, selector: "ap-tag-list", inputs: { removeTagsEnabled: "removeTagsEnabled", responsive: "responsive", seeLessTranslation: "seeLessTranslation", tags: "tags" }, outputs: { deleteTag: "deleteTag" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tags-list\" (window:resize)=\"onResize()\">\n <ng-container *ngIf=\"responsive; else defaultTags\">\n <ng-container *ngFor=\"let tag of expanded ? tags : responsiveTags\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n <button *ngIf=\"!expanded && responsiveTags.length !== tags.length\"\n class=\"tag-expand\"\n (click)=\"onExpand()\">\n +{{howManyItemsLeft}}\n </button>\n <button *ngIf=\"expanded\"\n class=\"tag-retract\"\n (click)=\"onExpand()\">\n {{seeLessTranslation}}\n </button>\n </ng-container>\n\n <ng-template #defaultTags>\n <ng-container *ngFor=\"let tag of tags; trackBy: trackByTagContent;\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n </ng-template>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.tags-list{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:4px;max-width:100%}.tags-list>*{max-width:100%}.tag-expand{box-sizing:border-box;padding:0 8px;line-height:22px;background:#e8f4ff;border-radius:25px;border:1px solid #74bbfe;color:#178dfe;height:24px;min-width:30px;text-align:center;text-overflow:ellipsis}.tag-expand:hover{cursor:pointer;text-decoration:underline}.tag-retract{box-sizing:border-box;padding:0;border:0;background-color:transparent;line-height:24px;color:#178dfe}.tag-retract:hover{cursor:pointer;text-decoration:underline}\n"], components: [{ type: i2.TagComponent, selector: "ap-tag", inputs: ["color", "content", "onlyText", "removable"], outputs: ["deleteTag"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TagListComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-tag-list', template: "<div class=\"tags-list\" (window:resize)=\"onResize()\">\n <ng-container *ngIf=\"responsive; else defaultTags\">\n <ng-container *ngFor=\"let tag of expanded ? tags : responsiveTags\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n <button *ngIf=\"!expanded && responsiveTags.length !== tags.length\"\n class=\"tag-expand\"\n (click)=\"onExpand()\">\n +{{howManyItemsLeft}}\n </button>\n <button *ngIf=\"expanded\"\n class=\"tag-retract\"\n (click)=\"onExpand()\">\n {{seeLessTranslation}}\n </button>\n </ng-container>\n\n <ng-template #defaultTags>\n <ng-container *ngFor=\"let tag of tags; trackBy: trackByTagContent;\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n </ng-template>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.tags-list{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:4px;max-width:100%}.tags-list>*{max-width:100%}.tag-expand{box-sizing:border-box;padding:0 8px;line-height:22px;background:#e8f4ff;border-radius:25px;border:1px solid #74bbfe;color:#178dfe;height:24px;min-width:30px;text-align:center;text-overflow:ellipsis}.tag-expand:hover{cursor:pointer;text-decoration:underline}.tag-retract{box-sizing:border-box;padding:0;border:0;background-color:transparent;line-height:24px;color:#178dfe}.tag-retract:hover{cursor:pointer;text-decoration:underline}\n"] }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.TextMeasurementService }, { type: i0.NgZone }]; }, propDecorators: { removeTagsEnabled: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], responsive: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], seeLessTranslation: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], tags: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], deleteTag: [{
|
|
94
|
-
type: Output
|
|
95
|
-
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvdGFncy90YWctbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi90YWdzL3RhZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUXJDLE1BQU0sT0FBTyxnQkFBZ0I7SUFlekIsWUFBb0IsVUFBc0IsRUFDdEIsaUJBQW9DLEVBQ3BDLHNCQUE4QyxFQUM5QyxJQUFZO1FBSFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQWhCdkIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsdUJBQWtCLEdBQVcsVUFBVSxDQUFDO1FBR3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRW5ELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBRXRCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztJQU1oRCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFOUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDakg7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQWE7UUFDekMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoSSxtQkFBbUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyw0REFBNEQ7UUFDbEcsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLFlBQVksSUFBSSxtQkFBbUIsQ0FBQztRQUNwQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25ELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRixTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsMEVBQTBFO1lBQzFJLFlBQVksSUFBSSxTQUFTLENBQUM7WUFDMUIsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFO2dCQUNuQixNQUFNO2FBQ1Q7WUFDRCxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxZQUFZLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7O21KQXRGUSxnQkFBZ0I7dUlBQWhCLGdCQUFnQixtUENwQjdCLDJsQ0EyQkE7MkZEUGEsZ0JBQWdCO2tCQU41QixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsYUFBYTsyTEFNZCxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUZXh0TWVhc3VyZW1lbnRTZXJ2aWNlfSBmcm9tIFwiLi4vdGV4dC1tZWFzdXJlbWVudC90ZXh0LW1lYXN1cmVtZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLXRhZy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFnLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhZy1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFnTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHJlbW92ZVRhZ3NFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVzcG9uc2l2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlZUxlc3NUcmFuc2xhdGlvbjogc3RyaW5nID0gJ1NlZSBsZXNzJztcbiAgICBASW5wdXQoKSB0YWdzOiBzdHJpbmdbXTtcblxuICAgIEBPdXRwdXQoKSBkZWxldGVUYWcgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBob3dNYW55SXRlbXNMZWZ0ID0gMDtcbiAgICByZXNwb25zaXZlVGFnczogc3RyaW5nW10gPSBbXTtcbiAgICBwcml2YXRlIG9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcbiAgICBwcml2YXRlIHdpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHRleHRNZWFzdXJlbWVudFNlcnZpY2U6IFRleHRNZWFzdXJlbWVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVSZXNwb25zaXZlVGFncyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0YWdzLWxpc3QnKVswXS5vZmZzZXRXaWR0aCk7XG5cbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGgkLm5leHQoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhZ3MtbGlzdCcpWzBdKTtcbiAgICAgICAgICAgIHRoaXMud2lkdGgkLnN1YnNjcmliZSh3aWR0aCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZVJlc3BvbnNpdmVUYWdzKHdpZHRoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRhZ3MuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlUmVzcG9uc2l2ZVRhZ3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGFncy1saXN0JylbMF0ub2Zmc2V0V2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhZ3MtbGlzdCcpWzBdKTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZCgpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIH1cblxuICAgIG9uRGVsZXRlVGFnKHRhZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFncy5zcGxpY2UodGhpcy50YWdzLmluZGV4T2YodGFnKSwgMSk7XG4gICAgICAgIHRoaXMuZGVsZXRlVGFnLmVtaXQodGhpcy50YWdzKTtcbiAgICB9XG5cbiAgICBvblJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVJlc3BvbnNpdmVUYWdzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLm9mZnNldFdpZHRoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeVRhZ0NvbnRlbnQoaW5kZXgsIGVudHJ5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGVudHJ5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVSZXNwb25zaXZlVGFncyh3aWR0aDogbnVtYmVyKSB7XG4gICAgICAgIGxldCBzZWVNb3JlRWxlbWVudFdpZHRoID0gdGhpcy50ZXh0TWVhc3VyZW1lbnRTZXJ2aWNlLmNhbGN1bGF0ZVRleHRXaWR0aCgnKycuY29uY2F0KHRoaXMudGFncy5sZW5ndGgudG9TdHJpbmcoKSksIDE0LCAnQXZlcnRhJyk7XG4gICAgICAgIHNlZU1vcmVFbGVtZW50V2lkdGggKz0gMSArIDggKyA4ICsgMTsgLy8gYm9yZGVyLWxlZnQgKyBwYWRkaW5nLWxlZnQgKyBwYWRkaW5nLXJpZ2h0ICsgYm9yZGVyLXJpZ2h0XG4gICAgICAgIGxldCBlbGVtZW50V2lkdGggPSB3aWR0aDtcbiAgICAgICAgZWxlbWVudFdpZHRoIC09IHNlZU1vcmVFbGVtZW50V2lkdGg7XG4gICAgICAgIGxldCBjdXJyZW50SW5kZXggPSAwO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy50YWdzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbGV0IHRleHRXaWR0aCA9IHRoaXMudGV4dE1lYXN1cmVtZW50U2VydmljZS5jYWxjdWxhdGVUZXh0V2lkdGgodGhpcy50YWdzW2luZGV4XSwgMTQsICdBdmVydGEnKTtcbiAgICAgICAgICAgIHRleHRXaWR0aCArPSAxICsgOCArICh0aGlzLnJlbW92ZVRhZ3NFbmFibGVkID8gMjUgOiA4KSArIDEgKyA0OyAvLyBib3JkZXItbGVmdCArIHBhZGRpbmctbGVmdCArIHBhZGRpbmctcmlnaHQgKyBib3JkZXItcmlnaHQgKyB0YWcgc3BhY2luZ1xuICAgICAgICAgICAgZWxlbWVudFdpZHRoIC09IHRleHRXaWR0aDtcbiAgICAgICAgICAgIGlmIChlbGVtZW50V2lkdGggPD0gMCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCArIDEgPT09ICh0aGlzLnRhZ3MubGVuZ3RoKSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG93TWFueUl0ZW1zTGVmdCA9IHRoaXMudGFncy5sZW5ndGggLSAoY3VycmVudEluZGV4ICsgMSk7XG4gICAgICAgIHRoaXMucmVzcG9uc2l2ZVRhZ3MgPSB0aGlzLnRhZ3Muc2xpY2UoMCwgY3VycmVudEluZGV4ICsgMSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG5cblxufVxuIiwiPGRpdiBjbGFzcz1cInRhZ3MtbGlzdFwiICh3aW5kb3c6cmVzaXplKT1cIm9uUmVzaXplKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2l2ZTsgZWxzZSBkZWZhdWx0VGFnc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWcgb2YgZXhwYW5kZWQgPyB0YWdzIDogcmVzcG9uc2l2ZVRhZ3NcIj5cbiAgICAgICAgICAgIDxhcC10YWcgW2NvbnRlbnRdPVwidGFnXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJyZW1vdmVUYWdzRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChkZWxldGVUYWcpPVwib25EZWxldGVUYWcoJGV2ZW50KVwiPjwvYXAtdGFnPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFleHBhbmRlZCAmJiByZXNwb25zaXZlVGFncy5sZW5ndGggIT09IHRhZ3MubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhZy1leHBhbmRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZCgpXCI+XG4gICAgICAgICAgICAre3tob3dNYW55SXRlbXNMZWZ0fX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJleHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWctcmV0cmFjdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kKClcIj5cbiAgICAgICAgICAgIHt7c2VlTGVzc1RyYW5zbGF0aW9ufX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWdzPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnczsgdHJhY2tCeTogdHJhY2tCeVRhZ0NvbnRlbnQ7XCI+XG4gICAgICAgICAgICA8YXAtdGFnIFtjb250ZW50XT1cInRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwicmVtb3ZlVGFnc0VuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoZGVsZXRlVGFnKT1cIm9uRGVsZXRlVGFnKCRldmVudClcIj48L2FwLXRhZz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|