spiderly 19.0.2 → 19.0.4
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/fesm2022/spiderly.mjs +548 -532
- package/fesm2022/spiderly.mjs.map +1 -1
- package/lib/components/layout/{layout-base.component.d.ts → layout.component.d.ts} +14 -6
- package/lib/components/layout/profile-avatar/profile-avatar.component.d.ts +42 -0
- package/lib/components/layout/sidemenu-topbar/sidemenu-topbar.component.d.ts +18 -0
- package/lib/components/layout/topbar/topbar.component.d.ts +9 -40
- package/lib/components/not-found/not-found.component.d.ts +1 -0
- package/lib/components/spiderly-data-table/spiderly-data-table.component.d.ts +2 -2
- package/lib/components/spiderly-data-view/spiderly-data-view.component.d.ts +59 -0
- package/lib/components/spiderly-form-control/spiderly-form-control.d.ts +7 -6
- package/lib/components/spiderly-panels/spiderly-panels.module.d.ts +3 -2
- package/lib/controls/spiderly-autocomplete/spiderly-autocomplete.component.d.ts +10 -3
- package/lib/directives/template-type.directive.d.ts +7 -0
- package/lib/entities/base-entity.d.ts +0 -10
- package/lib/entities/table-filter-context.d.ts +7 -4
- package/lib/entities/table-filter-sort-meta.d.ts +2 -2
- package/lib/entities/table-filter.d.ts +14 -4
- package/lib/enums/match-mode-enum-codes.d.ts +8 -0
- package/lib/services/config-base.service.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +5 -2
- package/styles/components/layout/topbar/topbar.component.scss +33 -0
- package/styles/components/spiderly-data-view/spiderly-data-view.component.scss +50 -0
- package/styles/components/spiderly-panels/panel-footer/panel-footer.component.scss +1 -1
- package/styles/styles/layout/_main.scss +4 -0
- package/styles/styles/layout/_menu.scss +1 -1
- package/styles/styles/layout/_topbar.scss +2 -2
- package/styles/styles/layout/layout.scss +0 -1
- package/styles/styles/shared.scss +13 -10
- package/lib/modules/primeng.module.d.ts +0 -42
- package/styles/styles/layout/_config.scss +0 -42
package/fesm2022/spiderly.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, makeEnvironmentProviders, APP_INITIALIZER, ErrorHandler,
|
|
2
|
+
import { Injectable, makeEnvironmentProviders, APP_INITIALIZER, ErrorHandler, importProvidersFrom, NgModule, Input, Component, EventEmitter, Output, ViewChild, LOCALE_ID, Inject, TemplateRef, ContentChild, HostBinding, inject, Directive } from '@angular/core';
|
|
3
3
|
import * as i1$1 from 'primeng/api';
|
|
4
4
|
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
5
5
|
import { BehaviorSubject, Subject, of, map as map$1, throttleTime, combineLatest, forkJoin, delay as delay$1, withLatestFrom, firstValueFrom, filter as filter$1, finalize as finalize$1, tap as tap$1, throwError } from 'rxjs';
|
|
@@ -11,78 +11,63 @@ import { HttpParams, HttpHeaders, HttpErrorResponse, HttpResponse } from '@angul
|
|
|
11
11
|
import * as i3$1 from '@abacritt/angularx-social-login';
|
|
12
12
|
import * as i1$2 from '@jsverse/transloco';
|
|
13
13
|
import { provideTransloco, TranslocoModule, TranslocoDirective, TranslocoService } from '@jsverse/transloco';
|
|
14
|
-
import * as i1$3 from 'primeng/button';
|
|
15
|
-
import { ButtonModule } from 'primeng/button';
|
|
16
|
-
import * as i5$2 from 'primeng/checkbox';
|
|
17
|
-
import { CheckboxModule } from 'primeng/checkbox';
|
|
18
|
-
import { DialogModule } from 'primeng/dialog';
|
|
19
|
-
import * as i3$3 from 'primeng/select';
|
|
20
|
-
import { SelectModule } from 'primeng/select';
|
|
21
|
-
import { InputSwitchModule } from 'primeng/inputswitch';
|
|
22
|
-
import * as i4$2 from 'primeng/inputtext';
|
|
23
|
-
import { InputTextModule } from 'primeng/inputtext';
|
|
24
|
-
import * as i4$5 from 'primeng/textarea';
|
|
25
|
-
import { TextareaModule } from 'primeng/textarea';
|
|
26
|
-
import * as i4$4 from 'primeng/multiselect';
|
|
27
|
-
import { MultiSelectModule } from 'primeng/multiselect';
|
|
28
|
-
import * as i5$5 from 'primeng/password';
|
|
29
|
-
import { PasswordModule } from 'primeng/password';
|
|
30
|
-
import * as i7 from 'primeng/table';
|
|
31
|
-
import { TableModule } from 'primeng/table';
|
|
32
|
-
import { ToastModule } from 'primeng/toast';
|
|
33
|
-
import * as i4 from 'primeng/tooltip';
|
|
34
|
-
import { TooltipModule, Tooltip } from 'primeng/tooltip';
|
|
35
|
-
import * as i2$1 from 'primeng/confirmdialog';
|
|
36
|
-
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
37
|
-
import { SidebarModule } from 'primeng/sidebar';
|
|
38
|
-
import * as i8$1 from 'primeng/badge';
|
|
39
|
-
import { BadgeModule } from 'primeng/badge';
|
|
40
|
-
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
41
|
-
import * as i8 from 'primeng/ripple';
|
|
42
|
-
import { RippleModule } from 'primeng/ripple';
|
|
43
14
|
import * as i1$6 from 'primeng/dynamicdialog';
|
|
44
15
|
import { DialogService } from 'primeng/dynamicdialog';
|
|
45
|
-
import * as i3$4 from 'primeng/panel';
|
|
46
|
-
import { PanelModule } from 'primeng/panel';
|
|
47
|
-
import * as i4$1 from 'primeng/autocomplete';
|
|
48
|
-
import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
49
|
-
import * as i9 from 'primeng/avatar';
|
|
50
|
-
import { AvatarModule } from 'primeng/avatar';
|
|
51
|
-
import { AvatarGroupModule } from 'primeng/avatargroup';
|
|
52
|
-
import { ProgressBarModule } from 'primeng/progressbar';
|
|
53
|
-
import { DividerModule } from 'primeng/divider';
|
|
54
|
-
import * as i5$4 from 'primeng/inputnumber';
|
|
55
|
-
import { InputNumberModule } from 'primeng/inputnumber';
|
|
56
|
-
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
57
|
-
import * as i4$6 from 'primeng/menu';
|
|
58
|
-
import { MenuModule } from 'primeng/menu';
|
|
59
|
-
import { PaginatorModule } from 'primeng/paginator';
|
|
60
|
-
import * as i5$3 from 'primeng/editor';
|
|
61
|
-
import { EditorModule, Editor } from 'primeng/editor';
|
|
62
|
-
import * as i5 from 'primeng/inputgroup';
|
|
63
|
-
import { InputGroupModule } from 'primeng/inputgroup';
|
|
64
|
-
import * as i6 from 'primeng/inputgroupaddon';
|
|
65
|
-
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
66
|
-
import { TimelineModule } from 'primeng/timeline';
|
|
67
|
-
import { CardModule } from 'primeng/card';
|
|
68
|
-
import * as i6$1 from 'primeng/colorpicker';
|
|
69
|
-
import { ColorPickerModule } from 'primeng/colorpicker';
|
|
70
|
-
import * as i4$3 from 'primeng/fileupload';
|
|
71
|
-
import { FileUploadModule } from 'primeng/fileupload';
|
|
72
|
-
import { DataViewModule } from 'primeng/dataview';
|
|
73
|
-
import * as i5$1 from 'primeng/datepicker';
|
|
74
|
-
import { DatePickerModule } from 'primeng/datepicker';
|
|
75
16
|
import { provideTranslocoPreloadLangs } from '@jsverse/transloco-preload-langs';
|
|
17
|
+
import * as i4 from 'primeng/autocomplete';
|
|
18
|
+
import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
76
19
|
import * as i2 from '@angular/common';
|
|
77
20
|
import { CommonModule, formatDate } from '@angular/common';
|
|
78
21
|
import * as i3$2 from '@angular/forms';
|
|
79
|
-
import {
|
|
22
|
+
import { FormControl, FormGroup, FormArray, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
23
|
+
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
24
|
+
import * as i5 from 'primeng/tooltip';
|
|
25
|
+
import { TooltipModule, Tooltip } from 'primeng/tooltip';
|
|
26
|
+
import { InputGroupModule } from 'primeng/inputgroup';
|
|
27
|
+
import * as i4$1 from 'primeng/datepicker';
|
|
28
|
+
import { DatePickerModule } from 'primeng/datepicker';
|
|
29
|
+
import * as i4$2 from 'primeng/checkbox';
|
|
30
|
+
import { CheckboxModule } from 'primeng/checkbox';
|
|
31
|
+
import * as i4$3 from 'primeng/colorpicker';
|
|
32
|
+
import { ColorPickerModule } from 'primeng/colorpicker';
|
|
33
|
+
import * as i3$3 from 'primeng/select';
|
|
34
|
+
import { SelectModule } from 'primeng/select';
|
|
35
|
+
import * as i4$4 from 'primeng/editor';
|
|
36
|
+
import { EditorModule, Editor } from 'primeng/editor';
|
|
37
|
+
import * as i3$4 from 'primeng/fileupload';
|
|
38
|
+
import { FileUploadModule } from 'primeng/fileupload';
|
|
80
39
|
import * as FileSaver from 'file-saver';
|
|
40
|
+
import * as i1$3 from 'primeng/button';
|
|
41
|
+
import { ButtonModule } from 'primeng/button';
|
|
81
42
|
import * as i1$5 from 'primeng/splitbutton';
|
|
82
43
|
import { SplitButtonModule } from 'primeng/splitbutton';
|
|
44
|
+
import * as i4$5 from 'primeng/multiselect';
|
|
45
|
+
import { MultiSelectModule } from 'primeng/multiselect';
|
|
46
|
+
import * as i4$6 from 'primeng/inputnumber';
|
|
47
|
+
import { InputNumberModule } from 'primeng/inputnumber';
|
|
48
|
+
import * as i4$7 from 'primeng/password';
|
|
49
|
+
import { PasswordModule } from 'primeng/password';
|
|
50
|
+
import * as i4$8 from 'primeng/textarea';
|
|
51
|
+
import { TextareaModule } from 'primeng/textarea';
|
|
52
|
+
import * as i4$9 from 'primeng/inputtext';
|
|
53
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
54
|
+
import * as i2$1 from 'primeng/menu';
|
|
55
|
+
import { MenuModule } from 'primeng/menu';
|
|
56
|
+
import * as i4$a from 'primeng/panel';
|
|
57
|
+
import { PanelModule } from 'primeng/panel';
|
|
83
58
|
import * as i1$4 from 'primeng/skeleton';
|
|
84
59
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
60
|
+
import * as i9 from 'primeng/table';
|
|
61
|
+
import { TableModule } from 'primeng/table';
|
|
62
|
+
import * as i2$2 from 'primeng/confirmdialog';
|
|
63
|
+
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
85
64
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
65
|
+
import * as i7 from 'primeng/avatar';
|
|
66
|
+
import { AvatarModule } from 'primeng/avatar';
|
|
67
|
+
import * as i8 from 'primeng/badge';
|
|
68
|
+
import { BadgeModule } from 'primeng/badge';
|
|
69
|
+
import * as i3$5 from 'primeng/menubar';
|
|
70
|
+
import { MenubarModule } from 'primeng/menubar';
|
|
86
71
|
import { NgxSpinnerService } from 'ngx-spinner';
|
|
87
72
|
|
|
88
73
|
function authInitializer(authService) {
|
|
@@ -93,21 +78,9 @@ function authInitializer(authService) {
|
|
|
93
78
|
|
|
94
79
|
class BaseEntity {
|
|
95
80
|
constructor(typeName) {
|
|
96
|
-
this.pipedProperties = [];
|
|
97
81
|
this.typeName = typeName;
|
|
98
82
|
}
|
|
99
83
|
}
|
|
100
|
-
class PipedProperty {
|
|
101
|
-
constructor(p, c) {
|
|
102
|
-
this.pipe = p;
|
|
103
|
-
this.control = c;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
var PropertyPipes;
|
|
107
|
-
(function (PropertyPipes) {
|
|
108
|
-
PropertyPipes[PropertyPipes["IntegerPipe"] = 0] = "IntegerPipe";
|
|
109
|
-
PropertyPipes[PropertyPipes["DecimalPipe"] = 1] = "DecimalPipe";
|
|
110
|
-
})(PropertyPipes || (PropertyPipes = {}));
|
|
111
84
|
|
|
112
85
|
class User extends BaseEntity {
|
|
113
86
|
constructor({ id, email, } = {}) {
|
|
@@ -304,6 +277,7 @@ class ConfigBaseService {
|
|
|
304
277
|
headers: new HttpHeaders({ 'Content-Type': 'application/json' }),
|
|
305
278
|
params: new HttpParams().set('X-Skip-Spinner', 'true')
|
|
306
279
|
};
|
|
280
|
+
this.logoPath = 'assets/images/logo/logo.svg';
|
|
307
281
|
}
|
|
308
282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConfigBaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
309
283
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConfigBaseService, providedIn: 'root' }); }
|
|
@@ -444,7 +418,7 @@ class AuthBaseService {
|
|
|
444
418
|
};
|
|
445
419
|
this.initCompanyAuthDialogDetails = () => {
|
|
446
420
|
return of(new InitCompanyAuthDialogDetails({
|
|
447
|
-
image:
|
|
421
|
+
image: this.config.logoPath,
|
|
448
422
|
companyName: this.config.companyName,
|
|
449
423
|
}));
|
|
450
424
|
};
|
|
@@ -694,6 +668,7 @@ function provideSpiderlyCore() {
|
|
|
694
668
|
return makeEnvironmentProviders([
|
|
695
669
|
MessageService,
|
|
696
670
|
ConfirmationService,
|
|
671
|
+
DialogService,
|
|
697
672
|
{
|
|
698
673
|
provide: APP_INITIALIZER,
|
|
699
674
|
useFactory: authInitializer,
|
|
@@ -707,239 +682,6 @@ function provideSpiderlyCore() {
|
|
|
707
682
|
]);
|
|
708
683
|
}
|
|
709
684
|
|
|
710
|
-
class PrimengModule {
|
|
711
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PrimengModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
712
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.13", ngImport: i0, type: PrimengModule, imports: [TableModule,
|
|
713
|
-
ButtonModule,
|
|
714
|
-
MultiSelectModule,
|
|
715
|
-
InputTextModule,
|
|
716
|
-
TextareaModule,
|
|
717
|
-
SelectModule,
|
|
718
|
-
TooltipModule,
|
|
719
|
-
InputSwitchModule,
|
|
720
|
-
DialogModule,
|
|
721
|
-
DatePickerModule,
|
|
722
|
-
CheckboxModule,
|
|
723
|
-
PasswordModule,
|
|
724
|
-
ToastModule,
|
|
725
|
-
ConfirmDialogModule,
|
|
726
|
-
SidebarModule,
|
|
727
|
-
BadgeModule,
|
|
728
|
-
RadioButtonModule,
|
|
729
|
-
RippleModule,
|
|
730
|
-
PanelModule,
|
|
731
|
-
AutoCompleteModule,
|
|
732
|
-
AvatarModule,
|
|
733
|
-
AvatarGroupModule,
|
|
734
|
-
ProgressBarModule,
|
|
735
|
-
DividerModule,
|
|
736
|
-
InputNumberModule,
|
|
737
|
-
OverlayPanelModule,
|
|
738
|
-
MenuModule,
|
|
739
|
-
PaginatorModule,
|
|
740
|
-
EditorModule,
|
|
741
|
-
InputGroupModule,
|
|
742
|
-
InputGroupAddonModule,
|
|
743
|
-
TimelineModule,
|
|
744
|
-
CardModule,
|
|
745
|
-
ColorPickerModule,
|
|
746
|
-
FileUploadModule,
|
|
747
|
-
DataViewModule], exports: [TableModule,
|
|
748
|
-
ButtonModule,
|
|
749
|
-
MultiSelectModule,
|
|
750
|
-
InputTextModule,
|
|
751
|
-
TextareaModule,
|
|
752
|
-
SelectModule,
|
|
753
|
-
TooltipModule,
|
|
754
|
-
InputSwitchModule,
|
|
755
|
-
DialogModule,
|
|
756
|
-
DatePickerModule,
|
|
757
|
-
CheckboxModule,
|
|
758
|
-
PasswordModule,
|
|
759
|
-
ToastModule,
|
|
760
|
-
ConfirmDialogModule,
|
|
761
|
-
SidebarModule,
|
|
762
|
-
BadgeModule,
|
|
763
|
-
RadioButtonModule,
|
|
764
|
-
RippleModule,
|
|
765
|
-
PanelModule,
|
|
766
|
-
AutoCompleteModule,
|
|
767
|
-
AvatarModule,
|
|
768
|
-
AvatarGroupModule,
|
|
769
|
-
ProgressBarModule,
|
|
770
|
-
DividerModule,
|
|
771
|
-
InputNumberModule,
|
|
772
|
-
OverlayPanelModule,
|
|
773
|
-
MenuModule,
|
|
774
|
-
PaginatorModule,
|
|
775
|
-
EditorModule,
|
|
776
|
-
InputGroupModule,
|
|
777
|
-
InputGroupAddonModule,
|
|
778
|
-
TimelineModule,
|
|
779
|
-
CardModule,
|
|
780
|
-
ColorPickerModule,
|
|
781
|
-
FileUploadModule,
|
|
782
|
-
DataViewModule] }); }
|
|
783
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PrimengModule, providers: [
|
|
784
|
-
DialogService,
|
|
785
|
-
], imports: [TableModule,
|
|
786
|
-
ButtonModule,
|
|
787
|
-
MultiSelectModule,
|
|
788
|
-
InputTextModule,
|
|
789
|
-
TextareaModule,
|
|
790
|
-
SelectModule,
|
|
791
|
-
TooltipModule,
|
|
792
|
-
InputSwitchModule,
|
|
793
|
-
DialogModule,
|
|
794
|
-
DatePickerModule,
|
|
795
|
-
CheckboxModule,
|
|
796
|
-
PasswordModule,
|
|
797
|
-
ToastModule,
|
|
798
|
-
ConfirmDialogModule,
|
|
799
|
-
SidebarModule,
|
|
800
|
-
BadgeModule,
|
|
801
|
-
RadioButtonModule,
|
|
802
|
-
RippleModule,
|
|
803
|
-
PanelModule,
|
|
804
|
-
AutoCompleteModule,
|
|
805
|
-
AvatarModule,
|
|
806
|
-
AvatarGroupModule,
|
|
807
|
-
ProgressBarModule,
|
|
808
|
-
DividerModule,
|
|
809
|
-
InputNumberModule,
|
|
810
|
-
OverlayPanelModule,
|
|
811
|
-
MenuModule,
|
|
812
|
-
PaginatorModule,
|
|
813
|
-
EditorModule,
|
|
814
|
-
InputGroupModule,
|
|
815
|
-
InputGroupAddonModule,
|
|
816
|
-
TimelineModule,
|
|
817
|
-
CardModule,
|
|
818
|
-
ColorPickerModule,
|
|
819
|
-
FileUploadModule,
|
|
820
|
-
DataViewModule, TableModule,
|
|
821
|
-
ButtonModule,
|
|
822
|
-
MultiSelectModule,
|
|
823
|
-
InputTextModule,
|
|
824
|
-
TextareaModule,
|
|
825
|
-
SelectModule,
|
|
826
|
-
TooltipModule,
|
|
827
|
-
InputSwitchModule,
|
|
828
|
-
DialogModule,
|
|
829
|
-
DatePickerModule,
|
|
830
|
-
CheckboxModule,
|
|
831
|
-
PasswordModule,
|
|
832
|
-
ToastModule,
|
|
833
|
-
ConfirmDialogModule,
|
|
834
|
-
SidebarModule,
|
|
835
|
-
BadgeModule,
|
|
836
|
-
RadioButtonModule,
|
|
837
|
-
RippleModule,
|
|
838
|
-
PanelModule,
|
|
839
|
-
AutoCompleteModule,
|
|
840
|
-
AvatarModule,
|
|
841
|
-
AvatarGroupModule,
|
|
842
|
-
ProgressBarModule,
|
|
843
|
-
DividerModule,
|
|
844
|
-
InputNumberModule,
|
|
845
|
-
OverlayPanelModule,
|
|
846
|
-
MenuModule,
|
|
847
|
-
PaginatorModule,
|
|
848
|
-
EditorModule,
|
|
849
|
-
InputGroupModule,
|
|
850
|
-
InputGroupAddonModule,
|
|
851
|
-
TimelineModule,
|
|
852
|
-
CardModule,
|
|
853
|
-
ColorPickerModule,
|
|
854
|
-
FileUploadModule,
|
|
855
|
-
DataViewModule] }); }
|
|
856
|
-
}
|
|
857
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PrimengModule, decorators: [{
|
|
858
|
-
type: NgModule,
|
|
859
|
-
args: [{
|
|
860
|
-
imports: [
|
|
861
|
-
TableModule,
|
|
862
|
-
ButtonModule,
|
|
863
|
-
MultiSelectModule,
|
|
864
|
-
InputTextModule,
|
|
865
|
-
TextareaModule,
|
|
866
|
-
SelectModule,
|
|
867
|
-
TooltipModule,
|
|
868
|
-
InputSwitchModule,
|
|
869
|
-
DialogModule,
|
|
870
|
-
DatePickerModule,
|
|
871
|
-
CheckboxModule,
|
|
872
|
-
PasswordModule,
|
|
873
|
-
ToastModule,
|
|
874
|
-
ConfirmDialogModule,
|
|
875
|
-
SidebarModule,
|
|
876
|
-
BadgeModule,
|
|
877
|
-
RadioButtonModule,
|
|
878
|
-
RippleModule,
|
|
879
|
-
PanelModule,
|
|
880
|
-
AutoCompleteModule,
|
|
881
|
-
AvatarModule,
|
|
882
|
-
AvatarGroupModule,
|
|
883
|
-
ProgressBarModule,
|
|
884
|
-
DividerModule,
|
|
885
|
-
InputNumberModule,
|
|
886
|
-
OverlayPanelModule,
|
|
887
|
-
MenuModule,
|
|
888
|
-
PaginatorModule,
|
|
889
|
-
EditorModule,
|
|
890
|
-
InputGroupModule,
|
|
891
|
-
InputGroupAddonModule,
|
|
892
|
-
TimelineModule,
|
|
893
|
-
CardModule,
|
|
894
|
-
ColorPickerModule,
|
|
895
|
-
FileUploadModule,
|
|
896
|
-
DataViewModule,
|
|
897
|
-
],
|
|
898
|
-
exports: [
|
|
899
|
-
TableModule,
|
|
900
|
-
ButtonModule,
|
|
901
|
-
MultiSelectModule,
|
|
902
|
-
InputTextModule,
|
|
903
|
-
TextareaModule,
|
|
904
|
-
SelectModule,
|
|
905
|
-
TooltipModule,
|
|
906
|
-
InputSwitchModule,
|
|
907
|
-
DialogModule,
|
|
908
|
-
DatePickerModule,
|
|
909
|
-
CheckboxModule,
|
|
910
|
-
PasswordModule,
|
|
911
|
-
ToastModule,
|
|
912
|
-
ConfirmDialogModule,
|
|
913
|
-
SidebarModule,
|
|
914
|
-
BadgeModule,
|
|
915
|
-
RadioButtonModule,
|
|
916
|
-
RippleModule,
|
|
917
|
-
PanelModule,
|
|
918
|
-
AutoCompleteModule,
|
|
919
|
-
AvatarModule,
|
|
920
|
-
AvatarGroupModule,
|
|
921
|
-
ProgressBarModule,
|
|
922
|
-
DividerModule,
|
|
923
|
-
InputNumberModule,
|
|
924
|
-
OverlayPanelModule,
|
|
925
|
-
MenuModule,
|
|
926
|
-
PaginatorModule,
|
|
927
|
-
EditorModule,
|
|
928
|
-
InputGroupModule,
|
|
929
|
-
InputGroupAddonModule,
|
|
930
|
-
TimelineModule,
|
|
931
|
-
CardModule,
|
|
932
|
-
ColorPickerModule,
|
|
933
|
-
FileUploadModule,
|
|
934
|
-
DataViewModule
|
|
935
|
-
],
|
|
936
|
-
declarations: [],
|
|
937
|
-
providers: [
|
|
938
|
-
DialogService,
|
|
939
|
-
],
|
|
940
|
-
}]
|
|
941
|
-
}] });
|
|
942
|
-
|
|
943
685
|
class SpiderlyTranslocoLoader {
|
|
944
686
|
constructor(http) {
|
|
945
687
|
this.http = http;
|
|
@@ -1012,9 +754,6 @@ class BaseControl {
|
|
|
1012
754
|
ngOnInit() {
|
|
1013
755
|
if (this.control != null && this.disabled == true)
|
|
1014
756
|
this.control.disable();
|
|
1015
|
-
// TODO FT: Delete if you don't need
|
|
1016
|
-
// if(this.control?.validator?.hasNotEmptyRule == true) // FT HACK: Be carefull with this name, if you change it in generator you need to change it here also
|
|
1017
|
-
// this.control.required = true;
|
|
1018
757
|
this.errorMessageTooltipEvent = window.innerWidth > 1000 ? 'hover' : 'focus';
|
|
1019
758
|
}
|
|
1020
759
|
ngAfterViewInit() {
|
|
@@ -1024,7 +763,7 @@ class BaseControl {
|
|
|
1024
763
|
}
|
|
1025
764
|
getValidationErrrorMessages() {
|
|
1026
765
|
if (this.control?.errors && this.control?.dirty) {
|
|
1027
|
-
//
|
|
766
|
+
// It should always be one error message for single form control,
|
|
1028
767
|
// also i don't need to reassign it to null because it will be shown only when control.valid == false
|
|
1029
768
|
return this.control.errors['_'];
|
|
1030
769
|
}
|
|
@@ -1114,20 +853,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1114
853
|
args: [{ selector: 'required', standalone: true, template: "<span style=\"color: red; margin-left: 4px;\">*</span>" }]
|
|
1115
854
|
}], ctorParameters: () => [] });
|
|
1116
855
|
|
|
1117
|
-
|
|
856
|
+
// It's made like generic type because of <number>, <string> etc. not to put class like User.
|
|
857
|
+
class SpiderlyFormControl extends FormControl {
|
|
858
|
+
constructor(value, opts = null, required = false) {
|
|
859
|
+
opts = opts ?? { updateOn: 'blur' };
|
|
860
|
+
super(value, opts);
|
|
861
|
+
this.required = required;
|
|
862
|
+
}
|
|
863
|
+
getRawValue() {
|
|
864
|
+
return super.getRawValue();
|
|
865
|
+
}
|
|
866
|
+
get validator() {
|
|
867
|
+
return this._spiderlyValidator;
|
|
868
|
+
}
|
|
869
|
+
set validator(validator) {
|
|
870
|
+
this._spiderlyValidator = validator;
|
|
871
|
+
this.setValidators(validator);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
class SpiderlyFormGroup extends FormGroup {
|
|
875
|
+
constructor(controls) {
|
|
876
|
+
super(controls);
|
|
877
|
+
this.initSaveBody = () => null;
|
|
878
|
+
this.controlNamesFromHtml = [];
|
|
879
|
+
}
|
|
880
|
+
getRawValue() {
|
|
881
|
+
return super.getRawValue();
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
class SpiderlyFormArray extends FormArray {
|
|
885
|
+
constructor() {
|
|
886
|
+
super(...arguments);
|
|
887
|
+
this.controlNamesFromHtml = [];
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
class ValidatorAbstractService {
|
|
1118
892
|
constructor(translocoService) {
|
|
893
|
+
this.translocoService = translocoService;
|
|
894
|
+
this.isArrayEmpty = (control) => {
|
|
895
|
+
const validator = () => {
|
|
896
|
+
const value = control.value;
|
|
897
|
+
const notEmptyRule = typeof value !== 'undefined' && value !== null && value.length !== 0;
|
|
898
|
+
const arrayValid = notEmptyRule;
|
|
899
|
+
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
900
|
+
};
|
|
901
|
+
validator.hasNotEmptyRule = true;
|
|
902
|
+
control.required = true;
|
|
903
|
+
return validator;
|
|
904
|
+
};
|
|
905
|
+
this.notEmpty = (control) => {
|
|
906
|
+
const validator = () => {
|
|
907
|
+
const value = control.value;
|
|
908
|
+
const notEmptyRule = typeof value !== 'undefined' && value !== null && value !== '';
|
|
909
|
+
const arrayValid = notEmptyRule;
|
|
910
|
+
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
911
|
+
};
|
|
912
|
+
validator.hasNotEmptyRule = true;
|
|
913
|
+
control.required = true;
|
|
914
|
+
control.validator = validator;
|
|
915
|
+
control.updateValueAndValidity();
|
|
916
|
+
};
|
|
917
|
+
this.isFormArrayEmpty = (control) => {
|
|
918
|
+
const validator = () => {
|
|
919
|
+
const value = control;
|
|
920
|
+
const notEmptyRule = typeof value !== 'undefined' && value !== null && value.length !== 0;
|
|
921
|
+
const arrayValid = notEmptyRule;
|
|
922
|
+
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
923
|
+
};
|
|
924
|
+
validator.hasNotEmptyRule = true;
|
|
925
|
+
control.required = true;
|
|
926
|
+
return validator;
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
930
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, providedIn: 'root' }); }
|
|
931
|
+
}
|
|
932
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, decorators: [{
|
|
933
|
+
type: Injectable,
|
|
934
|
+
args: [{
|
|
935
|
+
providedIn: 'root',
|
|
936
|
+
}]
|
|
937
|
+
}], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
|
|
938
|
+
|
|
939
|
+
class SpiderlyAutocompleteComponent extends BaseAutocompleteControl {
|
|
940
|
+
constructor(translocoService, validatorService) {
|
|
1119
941
|
super(translocoService);
|
|
1120
942
|
this.translocoService = translocoService;
|
|
943
|
+
this.validatorService = validatorService;
|
|
1121
944
|
this.appendTo = 'body';
|
|
1122
945
|
this.showClear = true;
|
|
946
|
+
this.helperFormControl = new SpiderlyFormControl(null, { updateOn: 'change' });
|
|
1123
947
|
}
|
|
1124
948
|
ngOnInit() {
|
|
1125
949
|
super.ngOnInit();
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
}
|
|
950
|
+
this.helperFormControl.label = this.control.label;
|
|
951
|
+
this.validatorService.setValidator(this.helperFormControl, this.control.parentClassName);
|
|
952
|
+
if (this.control.value != null)
|
|
953
|
+
this.helperFormControl.setValue({ label: this.displayName, code: this.control.value });
|
|
1131
954
|
if (this.emptyMessage == null) {
|
|
1132
955
|
this.emptyMessage = this.translocoService.translate('EmptyMessage');
|
|
1133
956
|
}
|
|
@@ -1136,21 +959,32 @@ class SpiderlyAutocompleteComponent extends BaseAutocompleteControl {
|
|
|
1136
959
|
this.onTextInput.next(event);
|
|
1137
960
|
}
|
|
1138
961
|
select(event) {
|
|
962
|
+
this.control.setValue(event.value.code);
|
|
963
|
+
}
|
|
964
|
+
clear() {
|
|
965
|
+
this.control.setValue(null);
|
|
1139
966
|
}
|
|
1140
|
-
|
|
1141
|
-
|
|
967
|
+
autocompleteMarkAsDirty() {
|
|
968
|
+
this.dropdownMarkAsDirty();
|
|
969
|
+
this.helperFormControl.markAsDirty();
|
|
970
|
+
}
|
|
971
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyAutocompleteComponent, deps: [{ token: i1$2.TranslocoService }, { token: ValidatorAbstractService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
972
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyAutocompleteComponent, isStandalone: true, selector: "spiderly-autocomplete", inputs: { appendTo: "appendTo", showClear: "showClear", emptyMessage: "emptyMessage", displayName: "displayName" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\"> <!-- By passing an empty string we remove the label entirely -->\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n \r\n <!-- Don't support p-inputgroup -->\r\n <p-autocomplete\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"helperFormControl\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"options\"\r\n (completeMethod)=\"search($event)\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"false\"\r\n [showClear]=\"showClear\"\r\n (onHide)=\"autocompleteMarkAsDirty()\"\r\n (onSelect)=\"select($event)\"\r\n (onClear)=\"clear()\"\r\n [completeOnFocus]=\"true\"\r\n [fluid]=\"true\"\r\n [style]=\"{'width':'100%'}\"\r\n [appendTo]=\"appendTo\"\r\n [emptyMessage]=\"emptyMessage\"\r\n [lazy]=\"true\"\r\n ></p-autocomplete>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RequiredComponent, selector: "required" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
1142
973
|
}
|
|
1143
974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyAutocompleteComponent, decorators: [{
|
|
1144
975
|
type: Component,
|
|
1145
976
|
args: [{ selector: 'spiderly-autocomplete', imports: [
|
|
1146
977
|
ReactiveFormsModule,
|
|
1147
978
|
FormsModule,
|
|
1148
|
-
|
|
979
|
+
AutoCompleteModule,
|
|
980
|
+
InputGroupAddonModule,
|
|
981
|
+
InputGroupModule,
|
|
982
|
+
TooltipModule,
|
|
1149
983
|
CommonModule,
|
|
1150
984
|
RequiredComponent,
|
|
1151
985
|
TranslocoDirective,
|
|
1152
|
-
], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\"
|
|
1153
|
-
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { appendTo: [{
|
|
986
|
+
], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\"> <!-- By passing an empty string we remove the label entirely -->\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n \r\n <!-- Don't support p-inputgroup -->\r\n <p-autocomplete\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"helperFormControl\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"options\"\r\n (completeMethod)=\"search($event)\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"false\"\r\n [showClear]=\"showClear\"\r\n (onHide)=\"autocompleteMarkAsDirty()\"\r\n (onSelect)=\"select($event)\"\r\n (onClear)=\"clear()\"\r\n [completeOnFocus]=\"true\"\r\n [fluid]=\"true\"\r\n [style]=\"{'width':'100%'}\"\r\n [appendTo]=\"appendTo\"\r\n [emptyMessage]=\"emptyMessage\"\r\n [lazy]=\"true\"\r\n ></p-autocomplete>\r\n </div>\r\n</ng-container>" }]
|
|
987
|
+
}], ctorParameters: () => [{ type: i1$2.TranslocoService }, { type: ValidatorAbstractService }], propDecorators: { appendTo: [{
|
|
1154
988
|
type: Input
|
|
1155
989
|
}], showClear: [{
|
|
1156
990
|
type: Input
|
|
@@ -1172,7 +1006,7 @@ class SpiderlyCalendarComponent extends BaseControl {
|
|
|
1172
1006
|
setDate(event) {
|
|
1173
1007
|
}
|
|
1174
1008
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyCalendarComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyCalendarComponent, isStandalone: true, selector: "spiderly-calendar", inputs: { showTime: "showTime" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n <p-datepicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n dateFormat=\"dd.mm.yy.\"\r\n iconDisplay=\"input\" \r\n [showIcon]=\"true\" \r\n [showTime]=\"showTime\"\r\n (onSelect)=\"setDate($event)\"\r\n appendTo=\"body\"\r\n [fluid]=\"true\"\r\n />\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1009
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyCalendarComponent, isStandalone: true, selector: "spiderly-calendar", inputs: { showTime: "showTime" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n <p-datepicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n dateFormat=\"dd.mm.yy.\"\r\n iconDisplay=\"input\" \r\n [showIcon]=\"true\" \r\n [showTime]=\"showTime\"\r\n (onSelect)=\"setDate($event)\"\r\n appendTo=\"body\"\r\n [fluid]=\"true\"\r\n />\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i4$1.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1176
1010
|
}
|
|
1177
1011
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyCalendarComponent, decorators: [{
|
|
1178
1012
|
type: Component,
|
|
@@ -1180,7 +1014,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1180
1014
|
CommonModule,
|
|
1181
1015
|
ReactiveFormsModule,
|
|
1182
1016
|
FormsModule,
|
|
1183
|
-
|
|
1017
|
+
DatePickerModule,
|
|
1018
|
+
TooltipModule,
|
|
1184
1019
|
RequiredComponent
|
|
1185
1020
|
], template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n <p-datepicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n dateFormat=\"dd.mm.yy.\"\r\n iconDisplay=\"input\" \r\n [showIcon]=\"true\" \r\n [showTime]=\"showTime\"\r\n (onSelect)=\"setDate($event)\"\r\n appendTo=\"body\"\r\n [fluid]=\"true\"\r\n />\r\n</div>\r\n" }]
|
|
1186
1021
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { showTime: [{
|
|
@@ -1201,7 +1036,7 @@ class SpiderlyCheckboxComponent extends BaseControl {
|
|
|
1201
1036
|
super.ngOnInit();
|
|
1202
1037
|
}
|
|
1203
1038
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyCheckboxComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1204
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyCheckboxComponent, isStandalone: true, selector: "spiderly-checkbox", inputs: { fakeLabel: "fakeLabel", initializeToFalse: "initializeToFalse", inlineLabel: "inlineLabel" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"inlineLabel === false && getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup p-fluid\" style=\"margin-top: 0.5rem;\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [formControl]=\"control\"\r\n [value]=\"inlineLabel ? label : null\"\r\n [id]=\"label\"\r\n [binary]=\"true\"\r\n />\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1039
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyCheckboxComponent, isStandalone: true, selector: "spiderly-checkbox", inputs: { fakeLabel: "fakeLabel", initializeToFalse: "initializeToFalse", inlineLabel: "inlineLabel" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"inlineLabel === false && getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup p-fluid\" style=\"margin-top: 0.5rem;\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [formControl]=\"control\"\r\n [value]=\"inlineLabel ? label : null\"\r\n [id]=\"label\"\r\n [binary]=\"true\"\r\n />\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i4$2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1205
1040
|
}
|
|
1206
1041
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyCheckboxComponent, decorators: [{
|
|
1207
1042
|
type: Component,
|
|
@@ -1209,7 +1044,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1209
1044
|
CommonModule,
|
|
1210
1045
|
ReactiveFormsModule,
|
|
1211
1046
|
FormsModule,
|
|
1212
|
-
|
|
1047
|
+
CheckboxModule,
|
|
1048
|
+
TooltipModule,
|
|
1213
1049
|
RequiredComponent
|
|
1214
1050
|
], template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"inlineLabel === false && getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup p-fluid\" style=\"margin-top: 0.5rem;\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [formControl]=\"control\"\r\n [value]=\"inlineLabel ? label : null\"\r\n [id]=\"label\"\r\n [binary]=\"true\"\r\n />\r\n </div>\r\n</div>" }]
|
|
1215
1051
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { fakeLabel: [{
|
|
@@ -1234,7 +1070,7 @@ class SpiderlyColorpickComponent extends BaseControl {
|
|
|
1234
1070
|
super.ngOnInit();
|
|
1235
1071
|
}
|
|
1236
1072
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyColorpickComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1237
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyColorpickComponent, isStandalone: true, selector: "spiderly-colorpick", usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div style=\"display: flex; gap: 10px;\">\r\n <div class=\"p-inputgroup p-fluid\">\r\n <!-- <span class=\"p-inputgroup-addon\">\r\n #\r\n </span> -->\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{'width':'100%', 'position': 'relative'}\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n />\r\n </div>\r\n <p-colorpicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n appendTo=\"body\"\r\n ></p-colorpicker>\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyColorpickComponent, isStandalone: true, selector: "spiderly-colorpick", usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div style=\"display: flex; gap: 10px;\">\r\n <div class=\"p-inputgroup p-fluid\">\r\n <!-- <span class=\"p-inputgroup-addon\">\r\n #\r\n </span> -->\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{'width':'100%', 'position': 'relative'}\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n />\r\n </div>\r\n <p-colorpicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n appendTo=\"body\"\r\n ></p-colorpicker>\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ColorPickerModule }, { kind: "component", type: i4$3.ColorPicker, selector: "p-colorPicker, p-colorpicker, p-color-picker", inputs: ["style", "styleClass", "inline", "format", "appendTo", "disabled", "tabindex", "inputId", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "autofocus"], outputs: ["onChange", "onShow", "onHide"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1238
1074
|
}
|
|
1239
1075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyColorpickComponent, decorators: [{
|
|
1240
1076
|
type: Component,
|
|
@@ -1242,7 +1078,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1242
1078
|
CommonModule,
|
|
1243
1079
|
ReactiveFormsModule,
|
|
1244
1080
|
FormsModule,
|
|
1245
|
-
|
|
1081
|
+
ColorPickerModule,
|
|
1082
|
+
TooltipModule,
|
|
1246
1083
|
RequiredComponent
|
|
1247
1084
|
], template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div style=\"display: flex; gap: 10px;\">\r\n <div class=\"p-inputgroup p-fluid\">\r\n <!-- <span class=\"p-inputgroup-addon\">\r\n #\r\n </span> -->\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{'width':'100%', 'position': 'relative'}\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n />\r\n </div>\r\n <p-colorpicker\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n appendTo=\"body\"\r\n ></p-colorpicker>\r\n </div>\r\n</div>" }]
|
|
1248
1085
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
|
|
@@ -1260,16 +1097,17 @@ class SpiderlyDropdownComponent extends BaseDropdownControl {
|
|
|
1260
1097
|
this.onChange.next(event);
|
|
1261
1098
|
}
|
|
1262
1099
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDropdownComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1263
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyDropdownComponent, isStandalone: true, selector: "spiderly-dropdown", outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n\r\n <!-- Don't support p-inputgroup -->\r\n <p-select\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n [showClear]=\"true\"\r\n (onHide)=\"dropdownMarkAsDirty()\"\r\n (onChange)=\"change($event)\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n \r\n</div>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyDropdownComponent, isStandalone: true, selector: "spiderly-dropdown", outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n\r\n <!-- Don't support p-inputgroup -->\r\n <p-select\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n [showClear]=\"true\"\r\n (onHide)=\"dropdownMarkAsDirty()\"\r\n (onChange)=\"change($event)\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n \r\n</div>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$3.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1264
1101
|
}
|
|
1265
1102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDropdownComponent, decorators: [{
|
|
1266
1103
|
type: Component,
|
|
1267
1104
|
args: [{ selector: 'spiderly-dropdown', imports: [
|
|
1268
1105
|
ReactiveFormsModule,
|
|
1269
1106
|
FormsModule,
|
|
1270
|
-
|
|
1107
|
+
SelectModule,
|
|
1108
|
+
TooltipModule,
|
|
1271
1109
|
CommonModule,
|
|
1272
|
-
RequiredComponent
|
|
1110
|
+
RequiredComponent,
|
|
1273
1111
|
], template: "<div class=\"flex flex-column gap-2\">\r\n\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n <!-- tabindex=\"-1\": Makes the element focusable, but removes it from the tab order. -->\r\n <i *ngIf=\"showTooltip\" class=\"{{tooltipIcon}}\" style=\"margin-left: 5px; cursor: pointer;\" [pTooltip]=\"tooltipText\" tabindex=\"-1\" tooltipEvent=\"focus\"></i>\r\n </div>\r\n\r\n <!-- Don't support p-inputgroup -->\r\n <p-select\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\" \r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n [showClear]=\"true\"\r\n (onHide)=\"dropdownMarkAsDirty()\"\r\n (onChange)=\"change($event)\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n \r\n</div>" }]
|
|
1274
1112
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { onChange: [{
|
|
1275
1113
|
type: Output
|
|
@@ -1301,7 +1139,7 @@ class SpiderlyEditorComponent extends BaseControl {
|
|
|
1301
1139
|
};
|
|
1302
1140
|
}
|
|
1303
1141
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyEditorComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1304
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyEditorComponent, isStandalone: true, selector: "spiderly-editor", viewQueries: [{ propertyName: "editor", first: true, predicate: Editor, descendants: true }, { propertyName: "tooltip", first: true, predicate: Tooltip, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n\r\n <!-- Disable doesn't work on this control -->\r\n <p-editor\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [readonly]=\"control.disabled\"\r\n [class]=\"control.invalid && control.dirty ? 'control-error-border' : ''\"\r\n [id]=\"control.label\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"onClick()\"\r\n [style]=\"{ height: '320px' }\"\r\n ></p-editor>\r\n\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyEditorComponent, isStandalone: true, selector: "spiderly-editor", viewQueries: [{ propertyName: "editor", first: true, predicate: Editor, descendants: true }, { propertyName: "tooltip", first: true, predicate: Tooltip, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n\r\n <!-- Disable doesn't work on this control -->\r\n <p-editor\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [readonly]=\"control.disabled\"\r\n [class]=\"control.invalid && control.dirty ? 'control-error-border' : ''\"\r\n [id]=\"control.label\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"onClick()\"\r\n [style]=\"{ height: '320px' }\"\r\n ></p-editor>\r\n\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i4$4.Editor, selector: "p-editor", inputs: ["style", "styleClass", "placeholder", "formats", "modules", "bounds", "scrollingContainer", "debug", "readonly"], outputs: ["onInit", "onTextChange", "onSelectionChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1305
1143
|
}
|
|
1306
1144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyEditorComponent, decorators: [{
|
|
1307
1145
|
type: Component,
|
|
@@ -1309,7 +1147,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1309
1147
|
CommonModule,
|
|
1310
1148
|
ReactiveFormsModule,
|
|
1311
1149
|
FormsModule,
|
|
1312
|
-
|
|
1150
|
+
EditorModule,
|
|
1151
|
+
TooltipModule,
|
|
1313
1152
|
RequiredComponent
|
|
1314
1153
|
], template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n\r\n <!-- Disable doesn't work on this control -->\r\n <p-editor\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [readonly]=\"control.disabled\"\r\n [class]=\"control.invalid && control.dirty ? 'control-error-border' : ''\"\r\n [id]=\"control.label\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"onClick()\"\r\n [style]=\"{ height: '320px' }\"\r\n ></p-editor>\r\n\r\n</div>" }]
|
|
1315
1154
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { editor: [{
|
|
@@ -1674,7 +1513,7 @@ class SpiderlyFileComponent extends BaseControl {
|
|
|
1674
1513
|
return isExcelFileType(mimeType);
|
|
1675
1514
|
}
|
|
1676
1515
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyFileComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1677
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyFileComponent, isStandalone: true, selector: "spiderly-file", inputs: { objectId: "objectId", fileData: "fileData", acceptedFileTypes: "acceptedFileTypes", required: "required", multiple: "multiple", files: "files" }, outputs: { onFileSelected: "onFileSelected", onFileRemoved: "onFileRemoved" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <!--
|
|
1516
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyFileComponent, isStandalone: true, selector: "spiderly-file", inputs: { objectId: "objectId", fileData: "fileData", acceptedFileTypes: "acceptedFileTypes", required: "required", multiple: "multiple", files: "files" }, outputs: { onFileSelected: "onFileSelected", onFileRemoved: "onFileRemoved" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <!-- It's okay for this control, because for the custom uploads where we are not initializing the control from the backend, there is no need for formControl. -->\r\n <required *ngIf=\"control?.required || required\"></required>\r\n </div>\r\n\r\n <p-fileUpload \r\n [files]=\"files\" \r\n [disabled]=\"disabled\" \r\n [name]=\"control?.label ?? label\" \r\n [multiple]=\"multiple\" \r\n [accept]=\"acceptedFileTypesCommaSeparated\" \r\n [maxFileSize]=\"1000000\" \r\n (onSelect)=\"filesSelected($event)\"\r\n [class]=\"control?.invalid && control?.dirty ? 'control-error-border' : ''\"\r\n >\r\n <ng-template pTemplate=\"header\" let-files let-chooseCallback=\"chooseCallback\" let-clearCallback=\"clearCallback\" let-uploadCallback=\"uploadCallback\">\r\n <div class=\"flex flex-wrap justify-content-between align-items-center flex-1 gap-2\">\r\n <div class=\"flex gap-2\">\r\n <spiderly-button [disabled]=\"disabled\" (onClick)=\"choose($event, chooseCallback)\" icon=\"pi pi-upload\" [rounded]=\"true\" [outlined]=\"true\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-files let-removeFileCallback=\"removeFileCallback\">\r\n <div *ngIf=\"files?.length > 0\">\r\n <div class=\"flex justify-content-center p-0 gap-5\">\r\n <div *ngFor=\"let file of files; let index = index\" class=\"card m-0 px-3 py-3 flex flex-column align-items-center gap-3\" style=\"justify-content: center; overflow: hidden;\">\r\n <div *ngIf=\"isImageFileType(file.type)\" class=\"image-container\">\r\n <img role=\"presentation\" [src]=\"file.objectURL\"/>\r\n </div>\r\n <div *ngIf=\"isExcelFileType(file.type)\" class=\"excel-container\">\r\n <div class=\"excel-details\">\r\n <i class=\"pi pi-file-excel\" style=\"color: green; margin-right: 4px;\"></i>\r\n <span class=\"file-name\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n <spiderly-button [disabled]=\"disabled\" icon=\"pi pi-times\" (onClick)=\"fileRemoved(removeFileCallback, index)\" [outlined]=\"true\" [rounded]=\"true\" severity=\"danger\" />\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"file\"> </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n <div class=\"flex align-items-center justify-content-center flex-column\">\r\n <i class=\"pi pi-cloud-upload border-2 border-circle p-5 text-8xl text-400 border-400 mt-3\"></i>\r\n <p class=\"mt-4 mb-0\">{{t('DragAndDropFilesHereToUpload')}}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileUpload>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i3$4.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: RequiredComponent, selector: "required" }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
1678
1517
|
}
|
|
1679
1518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyFileComponent, decorators: [{
|
|
1680
1519
|
type: Component,
|
|
@@ -1682,11 +1521,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1682
1521
|
CommonModule,
|
|
1683
1522
|
ReactiveFormsModule,
|
|
1684
1523
|
FormsModule,
|
|
1685
|
-
|
|
1524
|
+
FileUploadModule,
|
|
1686
1525
|
RequiredComponent,
|
|
1687
1526
|
SpiderlyButtonComponent,
|
|
1688
1527
|
TranslocoDirective
|
|
1689
|
-
], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <!--
|
|
1528
|
+
], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <!-- It's okay for this control, because for the custom uploads where we are not initializing the control from the backend, there is no need for formControl. -->\r\n <required *ngIf=\"control?.required || required\"></required>\r\n </div>\r\n\r\n <p-fileUpload \r\n [files]=\"files\" \r\n [disabled]=\"disabled\" \r\n [name]=\"control?.label ?? label\" \r\n [multiple]=\"multiple\" \r\n [accept]=\"acceptedFileTypesCommaSeparated\" \r\n [maxFileSize]=\"1000000\" \r\n (onSelect)=\"filesSelected($event)\"\r\n [class]=\"control?.invalid && control?.dirty ? 'control-error-border' : ''\"\r\n >\r\n <ng-template pTemplate=\"header\" let-files let-chooseCallback=\"chooseCallback\" let-clearCallback=\"clearCallback\" let-uploadCallback=\"uploadCallback\">\r\n <div class=\"flex flex-wrap justify-content-between align-items-center flex-1 gap-2\">\r\n <div class=\"flex gap-2\">\r\n <spiderly-button [disabled]=\"disabled\" (onClick)=\"choose($event, chooseCallback)\" icon=\"pi pi-upload\" [rounded]=\"true\" [outlined]=\"true\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-files let-removeFileCallback=\"removeFileCallback\">\r\n <div *ngIf=\"files?.length > 0\">\r\n <div class=\"flex justify-content-center p-0 gap-5\">\r\n <div *ngFor=\"let file of files; let index = index\" class=\"card m-0 px-3 py-3 flex flex-column align-items-center gap-3\" style=\"justify-content: center; overflow: hidden;\">\r\n <div *ngIf=\"isImageFileType(file.type)\" class=\"image-container\">\r\n <img role=\"presentation\" [src]=\"file.objectURL\"/>\r\n </div>\r\n <div *ngIf=\"isExcelFileType(file.type)\" class=\"excel-container\">\r\n <div class=\"excel-details\">\r\n <i class=\"pi pi-file-excel\" style=\"color: green; margin-right: 4px;\"></i>\r\n <span class=\"file-name\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n <spiderly-button [disabled]=\"disabled\" icon=\"pi pi-times\" (onClick)=\"fileRemoved(removeFileCallback, index)\" [outlined]=\"true\" [rounded]=\"true\" severity=\"danger\" />\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"file\"> </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n <div class=\"flex align-items-center justify-content-center flex-column\">\r\n <i class=\"pi pi-cloud-upload border-2 border-circle p-5 text-8xl text-400 border-400 mt-3\"></i>\r\n <p class=\"mt-4 mb-0\">{{t('DragAndDropFilesHereToUpload')}}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileUpload>\r\n </div>\r\n</ng-container>" }]
|
|
1690
1529
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { onFileSelected: [{
|
|
1691
1530
|
type: Output
|
|
1692
1531
|
}], onFileRemoved: [{
|
|
@@ -1724,14 +1563,15 @@ class SpiderlyMultiAutocompleteComponent extends BaseAutocompleteControl {
|
|
|
1724
1563
|
this.onTextInput.next(event);
|
|
1725
1564
|
}
|
|
1726
1565
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyMultiAutocompleteComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1727
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyMultiAutocompleteComponent, isStandalone: true, selector: "spiderly-multiautocomplete", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n\r\n <!-- Don't support p-inputgroup -->\r\n <!-- Showing label fix: https://github.com/primefaces/primeng/issues/17332#issuecomment-2922861294 -->\r\n <p-autocomplete \r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"options\"\r\n (completeMethod)=\"search($event)\"\r\n [forceSelection]=\"true\"\r\n [multiple]=\"true\"\r\n [dropdown]=\"false\"\r\n [showClear]=\"true\"\r\n (onHide)=\"dropdownMarkAsDirty()\"\r\n [completeOnFocus]=\"true\"\r\n dropdownIcon=\"pi pi-plus\"\r\n [fluid]=\"true\"\r\n [style]=\"{'width': '100%'}\"\r\n >\r\n </p-autocomplete>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1566
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyMultiAutocompleteComponent, isStandalone: true, selector: "spiderly-multiautocomplete", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n\r\n <!-- Don't support p-inputgroup -->\r\n <!-- Showing label fix: https://github.com/primefaces/primeng/issues/17332#issuecomment-2922861294 -->\r\n <p-autocomplete \r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"options\"\r\n (completeMethod)=\"search($event)\"\r\n [forceSelection]=\"true\"\r\n [multiple]=\"true\"\r\n [dropdown]=\"false\"\r\n [showClear]=\"true\"\r\n (onHide)=\"dropdownMarkAsDirty()\"\r\n [completeOnFocus]=\"true\"\r\n dropdownIcon=\"pi pi-plus\"\r\n [fluid]=\"true\"\r\n [style]=\"{'width': '100%'}\"\r\n >\r\n </p-autocomplete>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RequiredComponent, selector: "required" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
1728
1567
|
}
|
|
1729
1568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyMultiAutocompleteComponent, decorators: [{
|
|
1730
1569
|
type: Component,
|
|
1731
1570
|
args: [{ selector: 'spiderly-multiautocomplete', imports: [
|
|
1732
1571
|
ReactiveFormsModule,
|
|
1733
1572
|
FormsModule,
|
|
1734
|
-
|
|
1573
|
+
AutoCompleteModule,
|
|
1574
|
+
TooltipModule,
|
|
1735
1575
|
CommonModule,
|
|
1736
1576
|
RequiredComponent,
|
|
1737
1577
|
TranslocoDirective,
|
|
@@ -1747,7 +1587,7 @@ class SpiderlyMultiSelectComponent extends BaseDropdownControl {
|
|
|
1747
1587
|
super.ngOnInit();
|
|
1748
1588
|
}
|
|
1749
1589
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyMultiSelectComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1750
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyMultiSelectComponent, isStandalone: true, selector: "spiderly-multiselect", usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-multiSelect\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n display=\"chip\"\r\n [maxSelectedLabels]=\"20\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n <!-- [virtualScroll]=\"true\" FT: I think that this is not doing anything, check -->\r\n <!-- (onFilter)=\"search($event)\" FT: While they don't implement lazy load like here: https://github.com/yelhouti/primeng/blob/8.0.0-rc2/src/app/components/multiselect/multiselect.ts\r\n we need to use this and dropdown control only on the client -->\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1590
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyMultiSelectComponent, isStandalone: true, selector: "spiderly-multiselect", usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-multiSelect\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n display=\"chip\"\r\n [maxSelectedLabels]=\"20\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n <!-- [virtualScroll]=\"true\" FT: I think that this is not doing anything, check -->\r\n <!-- (onFilter)=\"search($event)\" FT: While they don't implement lazy load like here: https://github.com/yelhouti/primeng/blob/8.0.0-rc2/src/app/components/multiselect/multiselect.ts\r\n we need to use this and dropdown control only on the client -->\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1751
1591
|
}
|
|
1752
1592
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyMultiSelectComponent, decorators: [{
|
|
1753
1593
|
type: Component,
|
|
@@ -1755,7 +1595,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1755
1595
|
CommonModule,
|
|
1756
1596
|
ReactiveFormsModule,
|
|
1757
1597
|
FormsModule,
|
|
1758
|
-
|
|
1598
|
+
MultiSelectModule,
|
|
1599
|
+
TooltipModule,
|
|
1759
1600
|
RequiredComponent
|
|
1760
1601
|
], template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-multiSelect\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [id]=\"label\"\r\n [formControl]=\"control\"\r\n [options]=\"options\"\r\n optionLabel=\"label\"\r\n optionValue=\"code\"\r\n display=\"chip\"\r\n [maxSelectedLabels]=\"20\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n appendTo=\"body\"\r\n />\r\n <!-- [virtualScroll]=\"true\" FT: I think that this is not doing anything, check -->\r\n <!-- (onFilter)=\"search($event)\" FT: While they don't implement lazy load like here: https://github.com/yelhouti/primeng/blob/8.0.0-rc2/src/app/components/multiselect/multiselect.ts\r\n we need to use this and dropdown control only on the client -->\r\n</div>" }]
|
|
1761
1602
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
|
|
@@ -1771,7 +1612,7 @@ class SpiderlyNumberComponent extends BaseControl {
|
|
|
1771
1612
|
super.ngOnInit();
|
|
1772
1613
|
}
|
|
1773
1614
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyNumberComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1774
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyNumberComponent, isStandalone: true, selector: "spiderly-number", inputs: { prefix: "prefix", showButtons: "showButtons", decimal: "decimal", maxFractionDigits: "maxFractionDigits" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"showLabel\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-inputNumber\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n [prefix]=\"prefix\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n [showButtons]=\"showButtons\"\r\n buttonLayout=\"horizontal\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n />\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1615
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyNumberComponent, isStandalone: true, selector: "spiderly-number", inputs: { prefix: "prefix", showButtons: "showButtons", decimal: "decimal", maxFractionDigits: "maxFractionDigits" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"showLabel\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-inputNumber\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n [prefix]=\"prefix\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n [showButtons]=\"showButtons\"\r\n buttonLayout=\"horizontal\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n />\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i4$6.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1775
1616
|
}
|
|
1776
1617
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyNumberComponent, decorators: [{
|
|
1777
1618
|
type: Component,
|
|
@@ -1779,7 +1620,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1779
1620
|
CommonModule,
|
|
1780
1621
|
ReactiveFormsModule,
|
|
1781
1622
|
FormsModule,
|
|
1782
|
-
|
|
1623
|
+
InputNumberModule,
|
|
1624
|
+
TooltipModule,
|
|
1783
1625
|
RequiredComponent
|
|
1784
1626
|
], template: "<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"showLabel\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-inputNumber\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (onBlur)=\"control.markAsDirty()\"\r\n [prefix]=\"prefix\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n [showButtons]=\"showButtons\"\r\n buttonLayout=\"horizontal\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n />\r\n </div>" }]
|
|
1785
1627
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { prefix: [{
|
|
@@ -1802,7 +1644,7 @@ class SpiderlyPasswordComponent extends BaseControl {
|
|
|
1802
1644
|
super.ngOnInit();
|
|
1803
1645
|
}
|
|
1804
1646
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPasswordComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1805
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyPasswordComponent, isStandalone: true, selector: "spiderly-password", inputs: { showPasswordStrength: "showPasswordStrength" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-password\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control?.label\"\r\n [toggleMask]=\"true\"\r\n [feedback]=\"showPasswordStrength\"\r\n (onBlur)=\"control?.markAsDirty()\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n />\r\n </div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1647
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyPasswordComponent, isStandalone: true, selector: "spiderly-password", inputs: { showPasswordStrength: "showPasswordStrength" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-password\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control?.label\"\r\n [toggleMask]=\"true\"\r\n [feedback]=\"showPasswordStrength\"\r\n (onBlur)=\"control?.markAsDirty()\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n />\r\n </div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i4$7.Password, selector: "p-password", inputs: ["ariaLabel", "fluid", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "size", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1806
1648
|
}
|
|
1807
1649
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPasswordComponent, decorators: [{
|
|
1808
1650
|
type: Component,
|
|
@@ -1810,7 +1652,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1810
1652
|
CommonModule,
|
|
1811
1653
|
ReactiveFormsModule,
|
|
1812
1654
|
FormsModule,
|
|
1813
|
-
|
|
1655
|
+
PasswordModule,
|
|
1656
|
+
TooltipModule,
|
|
1814
1657
|
RequiredComponent
|
|
1815
1658
|
], template: "<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <p-password\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n [formControl]=\"control\"\r\n [id]=\"control?.label\"\r\n [toggleMask]=\"true\"\r\n [feedback]=\"showPasswordStrength\"\r\n (onBlur)=\"control?.markAsDirty()\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n />\r\n </div>\r\n" }]
|
|
1816
1659
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { showPasswordStrength: [{
|
|
@@ -1826,7 +1669,7 @@ class SpiderlyTextareaComponent extends BaseControl {
|
|
|
1826
1669
|
super.ngOnInit();
|
|
1827
1670
|
}
|
|
1828
1671
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTextareaComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1829
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyTextareaComponent, isStandalone: true, selector: "spiderly-textarea", usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <textarea\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pTextarea\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [autoResize]=\"true\"\r\n [class]=\"control.disabled ? 'disabled' : ''\"\r\n ></textarea>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1672
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyTextareaComponent, isStandalone: true, selector: "spiderly-textarea", usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <textarea\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pTextarea\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [autoResize]=\"true\"\r\n [class]=\"control.disabled ? 'disabled' : ''\"\r\n ></textarea>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i4$8.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1830
1673
|
}
|
|
1831
1674
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTextareaComponent, decorators: [{
|
|
1832
1675
|
type: Component,
|
|
@@ -1834,7 +1677,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1834
1677
|
CommonModule,
|
|
1835
1678
|
ReactiveFormsModule,
|
|
1836
1679
|
FormsModule,
|
|
1837
|
-
|
|
1680
|
+
TextareaModule,
|
|
1681
|
+
TooltipModule,
|
|
1838
1682
|
RequiredComponent
|
|
1839
1683
|
], template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div>\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <textarea\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pTextarea\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [autoResize]=\"true\"\r\n [class]=\"control.disabled ? 'disabled' : ''\"\r\n ></textarea>\r\n </div>" }]
|
|
1840
1684
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
|
|
@@ -1853,7 +1697,7 @@ class SpiderlyTextboxComponent extends BaseControl {
|
|
|
1853
1697
|
this.onButtonClick.next(null);
|
|
1854
1698
|
}
|
|
1855
1699
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTextboxComponent, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1856
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyTextboxComponent, isStandalone: true, selector: "spiderly-textbox", inputs: { showButton: "showButton", buttonIcon: "buttonIcon" }, outputs: { onButtonClick: "onButtonClick" }, usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup\">\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n />\r\n <span *ngIf=\"showButton\" (click)=\"buttonClick()\" class=\"p-inputgroup-addon\" style=\"cursor: pointer; background-color: var(--p-primary-color); border-color: var(--p-primary-color);\">\r\n <i class=\"pi {{buttonIcon}}\" style=\"color: #fff;\"></i>\r\n </span>\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type:
|
|
1700
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyTextboxComponent, isStandalone: true, selector: "spiderly-textbox", inputs: { showButton: "showButton", buttonIcon: "buttonIcon" }, outputs: { onButtonClick: "onButtonClick" }, usesInheritance: true, ngImport: i0, template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup\">\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n />\r\n <span *ngIf=\"showButton\" (click)=\"buttonClick()\" class=\"p-inputgroup-addon\" style=\"cursor: pointer; background-color: var(--p-primary-color); border-color: var(--p-primary-color);\">\r\n <i class=\"pi {{buttonIcon}}\" style=\"color: #fff;\"></i>\r\n </span>\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$9.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: RequiredComponent, selector: "required" }] }); }
|
|
1857
1701
|
}
|
|
1858
1702
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTextboxComponent, decorators: [{
|
|
1859
1703
|
type: Component,
|
|
@@ -1861,7 +1705,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
1861
1705
|
CommonModule,
|
|
1862
1706
|
ReactiveFormsModule,
|
|
1863
1707
|
FormsModule,
|
|
1864
|
-
|
|
1708
|
+
InputTextModule,
|
|
1709
|
+
TooltipModule,
|
|
1865
1710
|
RequiredComponent
|
|
1866
1711
|
], template: "<!-- Can't put (onBlur) in this control -->\r\n\r\n<div class=\"flex flex-column gap-2\">\r\n <div *ngIf=\"getTranslatedLabel() != '' && getTranslatedLabel() != null\">\r\n <label>{{getTranslatedLabel()}}</label>\r\n <required *ngIf=\"control?.required\"></required>\r\n </div>\r\n <div class=\"p-inputgroup\">\r\n <input\r\n *ngIf=\"control\"\r\n [pTooltip]=\"getValidationErrrorMessages()\" [tooltipEvent]=\"errorMessageTooltipEvent\" tooltipPosition=\"bottom\" [tooltipDisabled]=\"control.valid\" tooltipStyleClass=\"spiderly-tooltip-invalid\"\r\n pInputText\r\n [formControl]=\"control\"\r\n [id]=\"control.label\"\r\n (blur)=\"control.markAsDirty()\"\r\n [placeholder]=\"placeholder\"\r\n [fluid]=\"true\"\r\n />\r\n <span *ngIf=\"showButton\" (click)=\"buttonClick()\" class=\"p-inputgroup-addon\" style=\"cursor: pointer; background-color: var(--p-primary-color); border-color: var(--p-primary-color);\">\r\n <i class=\"pi {{buttonIcon}}\" style=\"color: #fff;\"></i>\r\n </span>\r\n </div>\r\n</div>" }]
|
|
1867
1712
|
}], ctorParameters: () => [{ type: i1$2.TranslocoService }], propDecorators: { showButton: [{
|
|
@@ -1893,11 +1738,11 @@ class PanelFooterComponent {
|
|
|
1893
1738
|
ngOnInit() {
|
|
1894
1739
|
}
|
|
1895
1740
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PanelFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1896
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: PanelFooterComponent, isStandalone: false, selector: "panel-footer", ngImport: i0, template: "<div class=\"spiderly-panel-footer\">\r\n <div class=\"buttons-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <span class=\"p-text-secondary\">\r\n <ng-content select=\"[footerRight]\"></ng-content>\r\n </span>\r\n</div>", styles: [".spiderly-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid
|
|
1741
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: PanelFooterComponent, isStandalone: false, selector: "panel-footer", ngImport: i0, template: "<div class=\"spiderly-panel-footer\">\r\n <div class=\"buttons-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <span class=\"p-text-secondary\">\r\n <ng-content select=\"[footerRight]\"></ng-content>\r\n </span>\r\n</div>", styles: [".spiderly-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--p-content-border-color);border-bottom-right-radius:var(--p-content-border-radius);border-bottom-left-radius:var(--p-content-border-radius);padding:18px}\n"] }); }
|
|
1897
1742
|
}
|
|
1898
1743
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PanelFooterComponent, decorators: [{
|
|
1899
1744
|
type: Component,
|
|
1900
|
-
args: [{ selector: 'panel-footer', standalone: false, template: "<div class=\"spiderly-panel-footer\">\r\n <div class=\"buttons-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <span class=\"p-text-secondary\">\r\n <ng-content select=\"[footerRight]\"></ng-content>\r\n </span>\r\n</div>", styles: [".spiderly-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid
|
|
1745
|
+
args: [{ selector: 'panel-footer', standalone: false, template: "<div class=\"spiderly-panel-footer\">\r\n <div class=\"buttons-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <span class=\"p-text-secondary\">\r\n <ng-content select=\"[footerRight]\"></ng-content>\r\n </span>\r\n</div>", styles: [".spiderly-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--p-content-border-color);border-bottom-right-radius:var(--p-content-border-radius);border-bottom-left-radius:var(--p-content-border-radius);padding:18px}\n"] }]
|
|
1901
1746
|
}], ctorParameters: () => [] });
|
|
1902
1747
|
|
|
1903
1748
|
class PanelHeaderComponent {
|
|
@@ -1968,7 +1813,7 @@ class SpiderlyPanelComponent {
|
|
|
1968
1813
|
this.onRemoveIconClick.next(null);
|
|
1969
1814
|
}
|
|
1970
1815
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1971
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyPanelComponent, isStandalone: false, selector: "spiderly-panel", inputs: { isFirstMultiplePanel: "isFirstMultiplePanel", isMiddleMultiplePanel: "isMiddleMultiplePanel", isLastMultiplePanel: "isLastMultiplePanel", toggleable: "toggleable", collapsed: "collapsed", crudMenu: "crudMenu", showCrudMenu: "showCrudMenu", showRemoveIcon: "showRemoveIcon", index: "index", showPanelHeader: "showPanelHeader" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<p-panel \r\n[showHeader]=\"showPanelHeader\"\r\n[ngClass]=\"{\r\n 'multiple-panel-first-without-header': isFirstMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-first': isFirstMultiplePanel,\r\n 'multiple-panel-middle-without-header': isMiddleMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-middle': isMiddleMultiplePanel,\r\n 'multiple-panel-last-without-header': isLastMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-last': isLastMultiplePanel,\r\n 'panel-border': !isFirstMultiplePanel,\r\n 'spiderly-panel': true,\r\n}\"\r\n[toggleable]=\"toggleable\"\r\n[collapsed]=\"toggleable && collapsed\"\r\nexpandIcon=\"pi pi-chevron-up\"\r\ncollapseIcon=\"pi pi-chevron-down\"\r\n>\r\n <ng-template pTemplate=\"header\">\r\n <div>\r\n <ng-content select=\"panel-header\"></ng-content>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"icons\">\r\n <div *ngIf=\"showCrudMenu && crudMenu\" class=\"mr-2\">\r\n <i class=\"pi pi-ellipsis-h icon-hover\" (click)=\"menuItemClick(index, $event)\"></i>\r\n <p-menu #menu [model]=\"crudMenu\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n </div>\r\n <div *ngIf=\"showRemoveIcon\" class=\"mr-2\">\r\n <i class=\"pi pi-minus icon-hover error-color-light\" (click)=\"removeItemClick()\"></i>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"panel-body-wrapper\">\r\n <ng-content select=\"panel-body\"></ng-content>\r\n </div>\r\n\r\n <ng-content select=\"panel-footer\"></ng-content>\r\n\r\n</p-panel>\r\n", styles: [":host ::ng-deep .p-panel{overflow:hidden}:host ::ng-deep .p-panel-icons{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "
|
|
1816
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyPanelComponent, isStandalone: false, selector: "spiderly-panel", inputs: { isFirstMultiplePanel: "isFirstMultiplePanel", isMiddleMultiplePanel: "isMiddleMultiplePanel", isLastMultiplePanel: "isLastMultiplePanel", toggleable: "toggleable", collapsed: "collapsed", crudMenu: "crudMenu", showCrudMenu: "showCrudMenu", showRemoveIcon: "showRemoveIcon", index: "index", showPanelHeader: "showPanelHeader" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<p-panel \r\n[showHeader]=\"showPanelHeader\"\r\n[ngClass]=\"{\r\n 'multiple-panel-first-without-header': isFirstMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-first': isFirstMultiplePanel,\r\n 'multiple-panel-middle-without-header': isMiddleMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-middle': isMiddleMultiplePanel,\r\n 'multiple-panel-last-without-header': isLastMultiplePanel && !showPanelHeader,\r\n 'multiple-panel-last': isLastMultiplePanel,\r\n 'panel-border': !isFirstMultiplePanel,\r\n 'spiderly-panel': true,\r\n}\"\r\n[toggleable]=\"toggleable\"\r\n[collapsed]=\"toggleable && collapsed\"\r\nexpandIcon=\"pi pi-chevron-up\"\r\ncollapseIcon=\"pi pi-chevron-down\"\r\n>\r\n <ng-template pTemplate=\"header\">\r\n <div>\r\n <ng-content select=\"panel-header\"></ng-content>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"icons\">\r\n <div *ngIf=\"showCrudMenu && crudMenu\" class=\"mr-2\">\r\n <i class=\"pi pi-ellipsis-h icon-hover\" (click)=\"menuItemClick(index, $event)\"></i>\r\n <p-menu #menu [model]=\"crudMenu\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n </div>\r\n <div *ngIf=\"showRemoveIcon\" class=\"mr-2\">\r\n <i class=\"pi pi-minus icon-hover error-color-light\" (click)=\"removeItemClick()\"></i>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"panel-body-wrapper\">\r\n <ng-content select=\"panel-body\"></ng-content>\r\n </div>\r\n\r\n <ng-content select=\"panel-footer\"></ng-content>\r\n\r\n</p-panel>\r\n", styles: [":host ::ng-deep .p-panel{overflow:hidden}:host ::ng-deep .p-panel-icons{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$a.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }] }); }
|
|
1972
1817
|
}
|
|
1973
1818
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPanelComponent, decorators: [{
|
|
1974
1819
|
type: Component,
|
|
@@ -2027,20 +1872,23 @@ class SpiderlyPanelsModule {
|
|
|
2027
1872
|
PanelFooterComponent,
|
|
2028
1873
|
SpiderlyPanelComponent,
|
|
2029
1874
|
SpiderlyCardComponent], imports: [CommonModule,
|
|
2030
|
-
|
|
1875
|
+
MenuModule,
|
|
1876
|
+
PanelModule], exports: [PanelHeaderComponent,
|
|
2031
1877
|
PanelBodyComponent,
|
|
2032
1878
|
PanelFooterComponent,
|
|
2033
1879
|
SpiderlyPanelComponent,
|
|
2034
1880
|
SpiderlyCardComponent] }); }
|
|
2035
1881
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPanelsModule, imports: [CommonModule,
|
|
2036
|
-
|
|
1882
|
+
MenuModule,
|
|
1883
|
+
PanelModule] }); }
|
|
2037
1884
|
}
|
|
2038
1885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyPanelsModule, decorators: [{
|
|
2039
1886
|
type: NgModule,
|
|
2040
1887
|
args: [{
|
|
2041
1888
|
imports: [
|
|
2042
1889
|
CommonModule,
|
|
2043
|
-
|
|
1890
|
+
MenuModule,
|
|
1891
|
+
PanelModule
|
|
2044
1892
|
],
|
|
2045
1893
|
exports: [
|
|
2046
1894
|
PanelHeaderComponent,
|
|
@@ -2204,41 +2052,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
2204
2052
|
type: Input
|
|
2205
2053
|
}] } });
|
|
2206
2054
|
|
|
2207
|
-
// It's made like generic type because of <number>, <string> etc. not to put class like User.
|
|
2208
|
-
class SpiderlyFormControl extends FormControl {
|
|
2209
|
-
constructor(value, opts = null, required = false) {
|
|
2210
|
-
opts = opts ?? { updateOn: 'blur' };
|
|
2211
|
-
super(value, opts);
|
|
2212
|
-
this.required = required;
|
|
2213
|
-
}
|
|
2214
|
-
getRawValue() {
|
|
2215
|
-
return super.getRawValue();
|
|
2216
|
-
}
|
|
2217
|
-
get validator() {
|
|
2218
|
-
return this._spiderlyValidator;
|
|
2219
|
-
}
|
|
2220
|
-
set validator(validator) {
|
|
2221
|
-
this._spiderlyValidator = validator;
|
|
2222
|
-
this.setValidators(validator);
|
|
2223
|
-
}
|
|
2224
|
-
}
|
|
2225
|
-
class SpiderlyFormGroup extends FormGroup {
|
|
2226
|
-
constructor(controls) {
|
|
2227
|
-
super(controls);
|
|
2228
|
-
this.initSaveBody = () => null;
|
|
2229
|
-
this.controlNamesFromHtml = [];
|
|
2230
|
-
}
|
|
2231
|
-
getRawValue() {
|
|
2232
|
-
return super.getRawValue();
|
|
2233
|
-
}
|
|
2234
|
-
}
|
|
2235
|
-
class SpiderlyFormArray extends FormArray {
|
|
2236
|
-
constructor() {
|
|
2237
|
-
super(...arguments);
|
|
2238
|
-
this.controlNamesFromHtml = [];
|
|
2239
|
-
}
|
|
2240
|
-
}
|
|
2241
|
-
|
|
2242
2055
|
class IsAuthorizedForSaveEvent extends BaseEntity {
|
|
2243
2056
|
constructor({ isAuthorizedForSave, currentUserPermissionCodes, } = {}) {
|
|
2244
2057
|
super('IsAuthorizedForSaveEvent');
|
|
@@ -2260,54 +2073,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
2260
2073
|
}]
|
|
2261
2074
|
}], ctorParameters: () => [] });
|
|
2262
2075
|
|
|
2263
|
-
class ValidatorAbstractService {
|
|
2264
|
-
constructor(translocoService) {
|
|
2265
|
-
this.translocoService = translocoService;
|
|
2266
|
-
this.isArrayEmpty = (control) => {
|
|
2267
|
-
const validator = () => {
|
|
2268
|
-
const value = control.value;
|
|
2269
|
-
const notEmptyRule = typeof value !== 'undefined' && value !== null && value.length !== 0;
|
|
2270
|
-
const arrayValid = notEmptyRule;
|
|
2271
|
-
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
2272
|
-
};
|
|
2273
|
-
validator.hasNotEmptyRule = true;
|
|
2274
|
-
control.required = true;
|
|
2275
|
-
return validator;
|
|
2276
|
-
};
|
|
2277
|
-
this.notEmpty = (control) => {
|
|
2278
|
-
const validator = () => {
|
|
2279
|
-
const value = control.value;
|
|
2280
|
-
const notEmptyRule = typeof value !== 'undefined' && value !== null && value !== '';
|
|
2281
|
-
const arrayValid = notEmptyRule;
|
|
2282
|
-
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
2283
|
-
};
|
|
2284
|
-
validator.hasNotEmptyRule = true;
|
|
2285
|
-
control.required = true;
|
|
2286
|
-
control.validator = validator;
|
|
2287
|
-
control.updateValueAndValidity();
|
|
2288
|
-
};
|
|
2289
|
-
this.isFormArrayEmpty = (control) => {
|
|
2290
|
-
const validator = () => {
|
|
2291
|
-
const value = control;
|
|
2292
|
-
const notEmptyRule = typeof value !== 'undefined' && value !== null && value.length !== 0;
|
|
2293
|
-
const arrayValid = notEmptyRule;
|
|
2294
|
-
return arrayValid ? null : { _: this.translocoService.translate('NotEmpty') };
|
|
2295
|
-
};
|
|
2296
|
-
validator.hasNotEmptyRule = true;
|
|
2297
|
-
control.required = true;
|
|
2298
|
-
return validator;
|
|
2299
|
-
};
|
|
2300
|
-
}
|
|
2301
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2302
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, providedIn: 'root' }); }
|
|
2303
|
-
}
|
|
2304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ValidatorAbstractService, decorators: [{
|
|
2305
|
-
type: Injectable,
|
|
2306
|
-
args: [{
|
|
2307
|
-
providedIn: 'root',
|
|
2308
|
-
}]
|
|
2309
|
-
}], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
|
|
2310
|
-
|
|
2311
2076
|
class BaseFormService {
|
|
2312
2077
|
constructor(translateLabelsService, validatorService, messageService, translocoService) {
|
|
2313
2078
|
this.translateLabelsService = translateLabelsService;
|
|
@@ -2318,14 +2083,14 @@ class BaseFormService {
|
|
|
2318
2083
|
if (modelConstructor == null)
|
|
2319
2084
|
return null;
|
|
2320
2085
|
if (formGroup == null)
|
|
2321
|
-
console.error('
|
|
2086
|
+
console.error('Spiderly: You need to instantiate the form group.');
|
|
2322
2087
|
this.initFormGroup(formGroup, modelConstructor, updateOnChangeControls);
|
|
2323
2088
|
parentFormGroup.setControl(propertyNameInSaveBody, formGroup); // FT: Use setControl because it will update formGroup if it already exists
|
|
2324
2089
|
return formGroup;
|
|
2325
2090
|
};
|
|
2326
2091
|
this.initFormGroup = (formGroup, modelConstructor, updateOnChangeControls) => {
|
|
2327
2092
|
if (formGroup == null)
|
|
2328
|
-
console.error('
|
|
2093
|
+
console.error('Spiderly: You need to instantiate the form group.');
|
|
2329
2094
|
Object.keys(modelConstructor).forEach((formControlName) => {
|
|
2330
2095
|
let formControl;
|
|
2331
2096
|
const formControlValue = modelConstructor[formControlName];
|
|
@@ -2338,13 +2103,14 @@ class BaseFormService {
|
|
|
2338
2103
|
}
|
|
2339
2104
|
formControl.label = formControlName;
|
|
2340
2105
|
formControl.labelForDisplay = this.getTranslatedLabel(formControlName);
|
|
2106
|
+
formControl.parentClassName = modelConstructor.typeName;
|
|
2341
2107
|
formGroup.setControl(formControlName, formControl); // FT: Use setControl because it will update formControl if it already exists
|
|
2342
2108
|
this.validatorService.setValidator(formControl, modelConstructor.typeName);
|
|
2343
2109
|
});
|
|
2344
2110
|
return formGroup;
|
|
2345
2111
|
};
|
|
2346
2112
|
//#region Helpers
|
|
2347
|
-
//
|
|
2113
|
+
// If you want to call single method
|
|
2348
2114
|
this.checkFormGroupValidity = (formGroup) => {
|
|
2349
2115
|
if (formGroup.invalid) {
|
|
2350
2116
|
Object.keys(formGroup.controls).forEach(key => {
|
|
@@ -2527,7 +2293,7 @@ class RoleBaseDetailsComponent {
|
|
|
2527
2293
|
}
|
|
2528
2294
|
}
|
|
2529
2295
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RoleBaseDetailsComponent, deps: [{ token: ApiSecurityService }, { token: i3.ActivatedRoute }, { token: BaseFormService }, { token: AuthBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2530
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: RoleBaseDetailsComponent, isStandalone: true, selector: "role-base-details", inputs: { getCrudMenuForOrderedData: "getCrudMenuForOrderedData", formGroup: "formGroup", roleFormGroup: "roleFormGroup", additionalButtons: "additionalButtons", authorizedForSaveObservable: "authorizedForSaveObservable" }, outputs: { onSave: "onSave", onRoleFormGroupInitFinish: "onRoleFormGroupInitFinish", onIsAuthorizedForSaveChange: "onIsAuthorizedForSaveChange" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <spiderly-panel>\r\n <panel-header></panel-header>\r\n\r\n <panel-body>\r\n <form *ngIf=\"loading === false\" class=\"grid\"> <!-- FT: Don't put @deffer it's not working as expected -->\r\n <div class=\"col-12\">\r\n <spiderly-textbox [control]=\"control('name', roleFormGroup)\"></spiderly-textbox>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-textarea [control]=\"control('description', roleFormGroup)\"></spiderly-textarea>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-multiautocomplete [control]=\"selectedUsersForRole\" [options]=\"usersForRoleOptions\" (onTextInput)=\"searchUsersForRole($event)\" [label]=\"t('Users')\"></spiderly-multiautocomplete>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-multiselect [control]=\"selectedPermissionsForRole\" [options]=\"permissionsForRoleOptions\" [label]=\"t('Permissions')\"></spiderly-multiselect>\r\n </div>\r\n </form>\r\n\r\n <card-skeleton *ngIf=\"loading === true\" [height]=\"502\"></card-skeleton>\r\n\r\n </panel-body>\r\n\r\n <panel-footer>\r\n <spiderly-button [disabled]=\"!isAuthorizedForSave\" (onClick)=\"save()\" [label]=\"t('Save')\" icon=\"pi pi-save\"></spiderly-button>\r\n @for (button of additionalButtons; track button.label) {\r\n <spiderly-button (onClick)=\"button.onClick()\" [disabled]=\"button.disabled\" [label]=\"button.label\" [icon]=\"button.icon\"></spiderly-button>\r\n }\r\n <return-button></return-button>\r\n </panel-footer>\r\n </spiderly-panel>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "
|
|
2296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: RoleBaseDetailsComponent, isStandalone: true, selector: "role-base-details", inputs: { getCrudMenuForOrderedData: "getCrudMenuForOrderedData", formGroup: "formGroup", roleFormGroup: "roleFormGroup", additionalButtons: "additionalButtons", authorizedForSaveObservable: "authorizedForSaveObservable" }, outputs: { onSave: "onSave", onRoleFormGroupInitFinish: "onRoleFormGroupInitFinish", onIsAuthorizedForSaveChange: "onIsAuthorizedForSaveChange" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <spiderly-panel>\r\n <panel-header></panel-header>\r\n\r\n <panel-body>\r\n <form *ngIf=\"loading === false\" class=\"grid\"> <!-- FT: Don't put @deffer it's not working as expected -->\r\n <div class=\"col-12\">\r\n <spiderly-textbox [control]=\"control('name', roleFormGroup)\"></spiderly-textbox>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-textarea [control]=\"control('description', roleFormGroup)\"></spiderly-textarea>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-multiautocomplete [control]=\"selectedUsersForRole\" [options]=\"usersForRoleOptions\" (onTextInput)=\"searchUsersForRole($event)\" [label]=\"t('Users')\"></spiderly-multiautocomplete>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-multiselect [control]=\"selectedPermissionsForRole\" [options]=\"permissionsForRoleOptions\" [label]=\"t('Permissions')\"></spiderly-multiselect>\r\n </div>\r\n </form>\r\n\r\n <card-skeleton *ngIf=\"loading === true\" [height]=\"502\"></card-skeleton>\r\n\r\n </panel-body>\r\n\r\n <panel-footer>\r\n <spiderly-button [disabled]=\"!isAuthorizedForSave\" (onClick)=\"save()\" [label]=\"t('Save')\" icon=\"pi pi-save\"></spiderly-button>\r\n @for (button of additionalButtons; track button.label) {\r\n <spiderly-button (onClick)=\"button.onClick()\" [disabled]=\"button.disabled\" [label]=\"button.label\" [icon]=\"button.icon\"></spiderly-button>\r\n }\r\n <return-button></return-button>\r\n </panel-footer>\r\n </spiderly-panel>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CardSkeletonComponent, selector: "card-skeleton", inputs: ["height"] }, { kind: "component", type: SpiderlyTextboxComponent, selector: "spiderly-textbox", inputs: ["showButton", "buttonIcon"], outputs: ["onButtonClick"] }, { kind: "component", type: SpiderlyTextareaComponent, selector: "spiderly-textarea" }, { kind: "component", type: SpiderlyMultiAutocompleteComponent, selector: "spiderly-multiautocomplete" }, { kind: "component", type: SpiderlyMultiSelectComponent, selector: "spiderly-multiselect" }, { kind: "ngmodule", type: SpiderlyPanelsModule }, { kind: "component", type: PanelHeaderComponent, selector: "panel-header", inputs: ["title", "showBigTitle", "showIcon", "icon", "index", "tabs"] }, { kind: "component", type: PanelBodyComponent, selector: "panel-body", inputs: ["normalBottomPadding"] }, { kind: "component", type: PanelFooterComponent, selector: "panel-footer" }, { kind: "component", type: SpiderlyPanelComponent, selector: "spiderly-panel", inputs: ["isFirstMultiplePanel", "isMiddleMultiplePanel", "isLastMultiplePanel", "toggleable", "collapsed", "crudMenu", "showCrudMenu", "showRemoveIcon", "index", "showPanelHeader"], outputs: ["onMenuIconClick", "onRemoveIconClick"] }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: SpiderlyReturnButtonComponent, selector: "return-button", inputs: ["navigateUrl"] }] }); }
|
|
2531
2297
|
}
|
|
2532
2298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RoleBaseDetailsComponent, decorators: [{
|
|
2533
2299
|
type: Component,
|
|
@@ -2535,7 +2301,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
2535
2301
|
CommonModule,
|
|
2536
2302
|
FormsModule,
|
|
2537
2303
|
ReactiveFormsModule,
|
|
2538
|
-
PrimengModule,
|
|
2539
2304
|
TranslocoDirective,
|
|
2540
2305
|
CardSkeletonComponent,
|
|
2541
2306
|
SpiderlyTextboxComponent,
|
|
@@ -2605,7 +2370,7 @@ class BaseFormCopy {
|
|
|
2605
2370
|
formArray.clear();
|
|
2606
2371
|
}
|
|
2607
2372
|
else {
|
|
2608
|
-
//
|
|
2373
|
+
// This is okay because when we have M2M association with additional fields, we will not give back the list because we are not checking version on the server.
|
|
2609
2374
|
// console.error(`You returned empty array for control: ${formArray.translationKey}.`);
|
|
2610
2375
|
}
|
|
2611
2376
|
res[key].forEach((model) => {
|
|
@@ -2625,7 +2390,7 @@ class BaseFormCopy {
|
|
|
2625
2390
|
}
|
|
2626
2391
|
}
|
|
2627
2392
|
else {
|
|
2628
|
-
//
|
|
2393
|
+
// It's okay to do this.
|
|
2629
2394
|
// console.error('You returned something that is not in the save DTO.');
|
|
2630
2395
|
}
|
|
2631
2396
|
});
|
|
@@ -2643,7 +2408,6 @@ class BaseFormCopy {
|
|
|
2643
2408
|
};
|
|
2644
2409
|
this.rerouteToSavedObject = (rerouteId) => {
|
|
2645
2410
|
if (rerouteId == null) {
|
|
2646
|
-
// console.error('You do not have rerouteId in your DTO.')
|
|
2647
2411
|
const currentUrl = this.router.url;
|
|
2648
2412
|
const parentUrl = getParentUrl(currentUrl);
|
|
2649
2413
|
this.router.navigateByUrl(parentUrl);
|
|
@@ -2833,16 +2597,17 @@ class VerificationWrapperComponent extends BaseFormCopy {
|
|
|
2833
2597
|
this.onResendVerificationToken.next(null);
|
|
2834
2598
|
}
|
|
2835
2599
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VerificationWrapperComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.HttpClient }, { token: SpiderlyMessageService }, { token: i0.ChangeDetectorRef }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i1$2.TranslocoService }, { token: BaseFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2836
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: VerificationWrapperComponent, isStandalone: true, selector: "verification-wrapper", inputs: { email: "email" }, outputs: { onResendVerificationToken: "onResendVerificationToken", onCodeSubmit: "onCodeSubmit" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"min-h-screen\" style=\"display: flex; justify-content: center; align-items: center;\">\r\n <div class=\"dialog\" style=\"padding: 0px;\">\r\n @if (verificationTokenRequestFormGroup != null) {\r\n <spiderly-panel>\r\n <panel-header [title]=\"t('AccountVerificationHeader')\" [showBigTitle]=\"true\" icon=\"pi pi-envelope\"></panel-header>\r\n \r\n <panel-body>\r\n <form class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"header\">{{t('AccountVerificationTitle')}}</div>\r\n </div>\r\n <div class=\"col-12\">\r\n {{t('AccountVerificationDescription', {email: email})}}\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-textbox [control]=\"control('verificationCode', verificationTokenRequestFormGroup)\"></spiderly-textbox>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-button (onClick)=\"codeSubmit()\" [label]=\"t('Submit')\" icon=\"pi pi-verified\"></spiderly-button>\r\n </div>\r\n </form>\r\n </panel-body>\r\n \r\n <panel-footer>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToGmail')\" icon=\"pi pi-external-link\" href=\"https://mail.google.com/mail/u/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToYahoo')\" icon=\"pi pi-external-link\" href=\"https://mail.yahoo.com/d/folders/1/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n </panel-footer>\r\n <panel-footer>\r\n <div>{{t('ResendVerificationCodeFirstPart')}} <a class=\"link\" (click)=\"resendVerificationToken()\">{{t('ResendVerificationCodeLinkSecondPart')}}</a></div>\r\n </panel-footer>\r\n </spiderly-panel>\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n </div>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type:
|
|
2600
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: VerificationWrapperComponent, isStandalone: true, selector: "verification-wrapper", inputs: { email: "email" }, outputs: { onResendVerificationToken: "onResendVerificationToken", onCodeSubmit: "onCodeSubmit" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"min-h-screen\" style=\"display: flex; justify-content: center; align-items: center;\">\r\n <div class=\"dialog\" style=\"padding: 0px;\">\r\n @if (verificationTokenRequestFormGroup != null) {\r\n <spiderly-panel>\r\n <panel-header [title]=\"t('AccountVerificationHeader')\" [showBigTitle]=\"true\" icon=\"pi pi-envelope\"></panel-header>\r\n \r\n <panel-body>\r\n <form class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"header\">{{t('AccountVerificationTitle')}}</div>\r\n </div>\r\n <div class=\"col-12\">\r\n {{t('AccountVerificationDescription', {email: email})}}\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-textbox [control]=\"control('verificationCode', verificationTokenRequestFormGroup)\"></spiderly-textbox>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-button (onClick)=\"codeSubmit()\" [label]=\"t('Submit')\" icon=\"pi pi-verified\"></spiderly-button>\r\n </div>\r\n </form>\r\n </panel-body>\r\n \r\n <panel-footer>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToGmail')\" icon=\"pi pi-external-link\" href=\"https://mail.google.com/mail/u/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToYahoo')\" icon=\"pi pi-external-link\" href=\"https://mail.yahoo.com/d/folders/1/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n </panel-footer>\r\n <panel-footer>\r\n <div>{{t('ResendVerificationCodeFirstPart')}} <a class=\"link\" (click)=\"resendVerificationToken()\">{{t('ResendVerificationCodeLinkSecondPart')}}</a></div>\r\n </panel-footer>\r\n </spiderly-panel>\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n </div>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyTextboxComponent, selector: "spiderly-textbox", inputs: ["showButton", "buttonIcon"], outputs: ["onButtonClick"] }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: PanelHeaderComponent, selector: "panel-header", inputs: ["title", "showBigTitle", "showIcon", "icon", "index", "tabs"] }, { kind: "component", type: PanelBodyComponent, selector: "panel-body", inputs: ["normalBottomPadding"] }, { kind: "component", type: PanelFooterComponent, selector: "panel-footer" }, { kind: "component", type: SpiderlyPanelComponent, selector: "spiderly-panel", inputs: ["isFirstMultiplePanel", "isMiddleMultiplePanel", "isLastMultiplePanel", "toggleable", "collapsed", "crudMenu", "showCrudMenu", "showRemoveIcon", "index", "showPanelHeader"], outputs: ["onMenuIconClick", "onRemoveIconClick"] }, { kind: "ngmodule", type: SpiderlyPanelsModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
2837
2601
|
}
|
|
2838
2602
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VerificationWrapperComponent, decorators: [{
|
|
2839
2603
|
type: Component,
|
|
2840
2604
|
args: [{ selector: 'verification-wrapper', imports: [
|
|
2841
2605
|
CommonModule,
|
|
2842
|
-
PrimengModule,
|
|
2843
2606
|
FormsModule,
|
|
2844
2607
|
ReactiveFormsModule,
|
|
2845
2608
|
SpiderlyControlsModule,
|
|
2609
|
+
SpiderlyPanelsModule,
|
|
2610
|
+
ButtonModule,
|
|
2846
2611
|
TranslocoDirective,
|
|
2847
2612
|
], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"min-h-screen\" style=\"display: flex; justify-content: center; align-items: center;\">\r\n <div class=\"dialog\" style=\"padding: 0px;\">\r\n @if (verificationTokenRequestFormGroup != null) {\r\n <spiderly-panel>\r\n <panel-header [title]=\"t('AccountVerificationHeader')\" [showBigTitle]=\"true\" icon=\"pi pi-envelope\"></panel-header>\r\n \r\n <panel-body>\r\n <form class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"header\">{{t('AccountVerificationTitle')}}</div>\r\n </div>\r\n <div class=\"col-12\">\r\n {{t('AccountVerificationDescription', {email: email})}}\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-textbox [control]=\"control('verificationCode', verificationTokenRequestFormGroup)\"></spiderly-textbox>\r\n </div>\r\n <div class=\"col-12\">\r\n <spiderly-button (onClick)=\"codeSubmit()\" [label]=\"t('Submit')\" icon=\"pi pi-verified\"></spiderly-button>\r\n </div>\r\n </form>\r\n </panel-body>\r\n \r\n <panel-footer>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToGmail')\" icon=\"pi pi-external-link\" href=\"https://mail.google.com/mail/u/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n <a pButton class=\"p-button-link\" [label]=\"t('GoToYahoo')\" icon=\"pi pi-external-link\" href=\"https://mail.yahoo.com/d/folders/1/\" target=\"_blank\" rel=\"noopener noreferrer\"></a>\r\n </panel-footer>\r\n <panel-footer>\r\n <div>{{t('ResendVerificationCodeFirstPart')}} <a class=\"link\" (click)=\"resendVerificationToken()\">{{t('ResendVerificationCodeLinkSecondPart')}}</a></div>\r\n </panel-footer>\r\n </spiderly-panel>\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n </div>\r\n </div>\r\n</ng-container>" }]
|
|
2848
2613
|
}], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i1.HttpClient }, { type: SpiderlyMessageService }, { type: i0.ChangeDetectorRef }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i1$2.TranslocoService }, { type: BaseFormService }], propDecorators: { email: [{
|
|
@@ -3035,7 +2800,7 @@ class LoginComponent extends BaseFormCopy {
|
|
|
3035
2800
|
});
|
|
3036
2801
|
}
|
|
3037
2802
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.HttpClient }, { token: SpiderlyMessageService }, { token: i0.ChangeDetectorRef }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i1$2.TranslocoService }, { token: BaseFormService }, { token: AuthBaseService }, { token: ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3038
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: LoginComponent, isStandalone: true, selector: "app-login", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (loginFormGroup != null) {\r\n @if (showEmailSentDialog == false) {\r\n <auth (onCompanyNameChange)=\"companyNameChange($event)\">\r\n <form [formGroup]=\"formGroup\" style=\"margin-bottom: 16px;\"> <!-- FT: We are not loading anything from the server here so we don't need defer block -->\r\n <div class=\"col-12\" style=\"padding-left: 0; padding-right: 0; margin-bottom: 32px;\">\r\n <spiderly-textbox [control]=\"control('email', loginFormGroup)\"></spiderly-textbox>\r\n </div>\r\n \r\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\r\n <spiderly-button [label]=\"t('Login')\" (onClick)=\"sendLoginVerificationEmail()\" [outlined]=\"true\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n <!-- TODO FT: Add possibility to change this name from the specific project -->\r\n <spiderly-button *ngIf=\"usersCanRegister\" [label]=\"t('NewToJoinNow', {companyName: companyName})\" routerLink=\"/registration\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n </div>\r\n </form>\r\n </auth>\r\n }\r\n @else {\r\n <login-verification [email]=\"loginFormGroup.controls.email.getRawValue()\"></login-verification>\r\n }\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: AuthComponent, selector: "auth", inputs: ["showGoogleAuth"], outputs: ["onCompanyNameChange"] }, { kind: "ngmodule", type:
|
|
2803
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: LoginComponent, isStandalone: true, selector: "app-login", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (loginFormGroup != null) {\r\n @if (showEmailSentDialog == false) {\r\n <auth (onCompanyNameChange)=\"companyNameChange($event)\">\r\n <form [formGroup]=\"formGroup\" style=\"margin-bottom: 16px;\"> <!-- FT: We are not loading anything from the server here so we don't need defer block -->\r\n <div class=\"col-12\" style=\"padding-left: 0; padding-right: 0; margin-bottom: 32px;\">\r\n <spiderly-textbox [control]=\"control('email', loginFormGroup)\"></spiderly-textbox>\r\n </div>\r\n \r\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\r\n <spiderly-button [label]=\"t('Login')\" (onClick)=\"sendLoginVerificationEmail()\" [outlined]=\"true\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n <!-- TODO FT: Add possibility to change this name from the specific project -->\r\n <spiderly-button *ngIf=\"usersCanRegister\" [label]=\"t('NewToJoinNow', {companyName: companyName})\" routerLink=\"/registration\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n </div>\r\n </form>\r\n </auth>\r\n }\r\n @else {\r\n <login-verification [email]=\"loginFormGroup.controls.email.getRawValue()\"></login-verification>\r\n }\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: AuthComponent, selector: "auth", inputs: ["showGoogleAuth"], outputs: ["onCompanyNameChange"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyTextboxComponent, selector: "spiderly-textbox", inputs: ["showButton", "buttonIcon"], outputs: ["onButtonClick"] }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: LoginVerificationComponent, selector: "login-verification", inputs: ["email", "userId"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
3039
2804
|
}
|
|
3040
2805
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: LoginComponent, decorators: [{
|
|
3041
2806
|
type: Component,
|
|
@@ -3043,7 +2808,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
3043
2808
|
CommonModule,
|
|
3044
2809
|
ReactiveFormsModule,
|
|
3045
2810
|
AuthComponent,
|
|
3046
|
-
PrimengModule,
|
|
3047
2811
|
SpiderlyControlsModule,
|
|
3048
2812
|
LoginVerificationComponent,
|
|
3049
2813
|
TranslocoDirective,
|
|
@@ -3221,7 +2985,7 @@ class RegistrationComponent extends BaseFormCopy {
|
|
|
3221
2985
|
});
|
|
3222
2986
|
}
|
|
3223
2987
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RegistrationComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.HttpClient }, { token: SpiderlyMessageService }, { token: i0.ChangeDetectorRef }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i1$2.TranslocoService }, { token: BaseFormService }, { token: LayoutBaseService }, { token: AuthBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3224
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: RegistrationComponent, isStandalone: true, selector: "app-registration", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (registrationFormGroup != null) {\r\n @if (showEmailSentDialog == false) {\r\n <auth (onCompanyNameChange)=\"companyNameChange($event)\">\r\n <form [formGroup]=\"formGroup\" style=\"margin-bottom: 16px;\"> <!-- FT: We are not loading anything from the server here so we don't need defer block -->\r\n <div class=\"col-12\" style=\"padding-left: 0; padding-right: 0;\">\r\n <spiderly-textbox [control]=\"control('email', registrationFormGroup)\"></spiderly-textbox>\r\n </div>\r\n \r\n <div class=\"mb-4 gap-5\">\r\n <div class=\"text-center\" style=\"font-size: smaller;\">\r\n {{t('AgreementsOnRegister')}} <b routerLink=\"/user-agreement\" class=\"primary-color cursor-pointer\">{{t('UserAgreement')}}</b> {{t('and')}} <b routerLink=\"/privacy-policy\" class=\"primary-color cursor-pointer\">{{t('PrivacyPolicy')}}</b>.\r\n </div>\r\n </div>\r\n \r\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\r\n <spiderly-button [label]=\"t('AgreeAndJoin')\" (onClick)=\"sendRegistrationVerificationEmail()\" [outlined]=\"true\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n <!-- TODO FT: Add possibility to change this name from the specific project -->\r\n <spiderly-button [label]=\"t('AlreadyHasAccount', {companyName: companyName})\" routerLink=\"/login\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n </div>\r\n </form>\r\n </auth>\r\n }\r\n @else {\r\n <registration-verification [email]=\"registrationFormGroup.controls.email.getRawValue()\"></registration-verification>\r\n }\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: AuthComponent, selector: "auth", inputs: ["showGoogleAuth"], outputs: ["onCompanyNameChange"] }, { kind: "ngmodule", type:
|
|
2988
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: RegistrationComponent, isStandalone: true, selector: "app-registration", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (registrationFormGroup != null) {\r\n @if (showEmailSentDialog == false) {\r\n <auth (onCompanyNameChange)=\"companyNameChange($event)\">\r\n <form [formGroup]=\"formGroup\" style=\"margin-bottom: 16px;\"> <!-- FT: We are not loading anything from the server here so we don't need defer block -->\r\n <div class=\"col-12\" style=\"padding-left: 0; padding-right: 0;\">\r\n <spiderly-textbox [control]=\"control('email', registrationFormGroup)\"></spiderly-textbox>\r\n </div>\r\n \r\n <div class=\"mb-4 gap-5\">\r\n <div class=\"text-center\" style=\"font-size: smaller;\">\r\n {{t('AgreementsOnRegister')}} <b routerLink=\"/user-agreement\" class=\"primary-color cursor-pointer\">{{t('UserAgreement')}}</b> {{t('and')}} <b routerLink=\"/privacy-policy\" class=\"primary-color cursor-pointer\">{{t('PrivacyPolicy')}}</b>.\r\n </div>\r\n </div>\r\n \r\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\r\n <spiderly-button [label]=\"t('AgreeAndJoin')\" (onClick)=\"sendRegistrationVerificationEmail()\" [outlined]=\"true\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n <!-- TODO FT: Add possibility to change this name from the specific project -->\r\n <spiderly-button [label]=\"t('AlreadyHasAccount', {companyName: companyName})\" routerLink=\"/login\" [style]=\"{width: '100%'}\"></spiderly-button>\r\n </div>\r\n </form>\r\n </auth>\r\n }\r\n @else {\r\n <registration-verification [email]=\"registrationFormGroup.controls.email.getRawValue()\"></registration-verification>\r\n }\r\n }\r\n @else {\r\n <!-- TODO FT: Add skeleton -->\r\n }\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: AuthComponent, selector: "auth", inputs: ["showGoogleAuth"], outputs: ["onCompanyNameChange"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyTextboxComponent, selector: "spiderly-textbox", inputs: ["showButton", "buttonIcon"], outputs: ["onButtonClick"] }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: RegistrationVerificationComponent, selector: "registration-verification", inputs: ["email"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
3225
2989
|
}
|
|
3226
2990
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RegistrationComponent, decorators: [{
|
|
3227
2991
|
type: Component,
|
|
@@ -3229,7 +2993,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
3229
2993
|
CommonModule,
|
|
3230
2994
|
ReactiveFormsModule,
|
|
3231
2995
|
AuthComponent,
|
|
3232
|
-
PrimengModule,
|
|
3233
2996
|
SpiderlyControlsModule,
|
|
3234
2997
|
RegistrationVerificationComponent,
|
|
3235
2998
|
TranslocoDirective,
|
|
@@ -3267,13 +3030,12 @@ class IndexCardComponent {
|
|
|
3267
3030
|
this.onRemoveIconClick.next(null);
|
|
3268
3031
|
}
|
|
3269
3032
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IndexCardComponent, deps: [{ token: i3$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3270
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IndexCardComponent, isStandalone: true, selector: "index-card", inputs: { last: "last", index: "index", header: "header", description: "description", showRemoveIcon: "showRemoveIcon", showCrudMenu: "showCrudMenu", crudMenu: "crudMenu" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, ngImport: i0, template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type:
|
|
3033
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IndexCardComponent, isStandalone: true, selector: "index-card", inputs: { last: "last", index: "index", header: "header", description: "description", showRemoveIcon: "showRemoveIcon", showCrudMenu: "showCrudMenu", crudMenu: "crudMenu" }, outputs: { onMenuIconClick: "onMenuIconClick", onRemoveIconClick: "onRemoveIconClick" }, ngImport: i0, template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: SpiderlyPanelsModule }, { kind: "component", type: PanelHeaderComponent, selector: "panel-header", inputs: ["title", "showBigTitle", "showIcon", "icon", "index", "tabs"] }, { kind: "component", type: PanelBodyComponent, selector: "panel-body", inputs: ["normalBottomPadding"] }, { kind: "component", type: SpiderlyPanelComponent, selector: "spiderly-panel", inputs: ["isFirstMultiplePanel", "isMiddleMultiplePanel", "isLastMultiplePanel", "toggleable", "collapsed", "crudMenu", "showCrudMenu", "showRemoveIcon", "index", "showPanelHeader"], outputs: ["onMenuIconClick", "onRemoveIconClick"] }] }); }
|
|
3271
3034
|
}
|
|
3272
3035
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IndexCardComponent, decorators: [{
|
|
3273
3036
|
type: Component,
|
|
3274
3037
|
args: [{ selector: 'index-card', imports: [
|
|
3275
3038
|
CommonModule,
|
|
3276
|
-
PrimengModule,
|
|
3277
3039
|
SpiderlyPanelsModule
|
|
3278
3040
|
], template: "<div [ngClass]=\"{\r\n\t'last-child-zero-margin': last,\r\n 'card-margin-bottom': true,\r\n\t}\">\r\n\t<spiderly-panel [crudMenu]=\"crudMenu\" [showCrudMenu]=\"showCrudMenu\" (onMenuIconClick)=\"menuIconClick($event)\" [showRemoveIcon]=\"showRemoveIcon\" (onRemoveIconClick)=\"removeIconClick()\" [index]=\"index\">\r\n\t\t<panel-header [title]=\"header\" [index]=\"index\" [showIcon]=\"false\"></panel-header>\r\n\t\t\r\n\t\t<panel-body>\r\n\t\t\t<ng-content>\r\n\t\t\t\t<!-- Custom things below description -->\r\n\t\t\t</ng-content>\r\n\t\t</panel-body>\r\n\t\t\r\n\t</spiderly-panel>\r\n</div>\r\n" }]
|
|
3279
3041
|
}], ctorParameters: () => [{ type: i3$2.FormBuilder }], propDecorators: { last: [{
|
|
@@ -3304,13 +3066,12 @@ class InfoCardComponent {
|
|
|
3304
3066
|
ngOnInit() {
|
|
3305
3067
|
}
|
|
3306
3068
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: InfoCardComponent, deps: [{ token: i3$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3307
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: InfoCardComponent, isStandalone: true, selector: "info-card", inputs: { header: "header", description: "description" }, ngImport: i0, template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--p-primary-100); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--p-primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--p-primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type:
|
|
3069
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: InfoCardComponent, isStandalone: true, selector: "info-card", inputs: { header: "header", description: "description" }, ngImport: i0, template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--p-primary-100); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--p-primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--p-primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SpiderlyPanelsModule }] }); }
|
|
3308
3070
|
}
|
|
3309
3071
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: InfoCardComponent, decorators: [{
|
|
3310
3072
|
type: Component,
|
|
3311
3073
|
args: [{ selector: 'info-card', imports: [
|
|
3312
3074
|
CommonModule,
|
|
3313
|
-
PrimengModule,
|
|
3314
3075
|
SpiderlyPanelsModule
|
|
3315
3076
|
], template: "<div class=\"card responsive-card-padding\" style=\"background-color: var(--p-primary-100); position: relative; overflow: hidden;\">\r\n <!-- TODO FT: Translate -->\r\n <div style=\"display: flex; align-items: center; gap: 21px; position: relative; z-index: 2;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 26px; color: var(--p-primary-color);\"></i>\r\n <div>\r\n <div class=\"header\" style=\"color:var(--p-primary-color); font-weight: 600; text-align: left;\">\r\n {{header}}\r\n </div>\r\n <div style=\"text-align: left; margin-top: 8px;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-overflow-icon\" style=\"position: absolute; overflow: hidden; right: 8px; top: -25px; z-index: 1;\">\r\n <i class=\"pi pi-info-circle\" style=\"font-size: 270px;\"></i>\r\n </div>\r\n </div>" }]
|
|
3316
3077
|
}], ctorParameters: () => [{ type: i3$2.FormBuilder }], propDecorators: { header: [{
|
|
@@ -3323,16 +3084,17 @@ class NotFoundComponent {
|
|
|
3323
3084
|
constructor(config) {
|
|
3324
3085
|
this.config = config;
|
|
3325
3086
|
this.companyName = this.config.companyName;
|
|
3087
|
+
this.logoPath = this.config.logoPath;
|
|
3326
3088
|
}
|
|
3327
3089
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: NotFoundComponent, deps: [{ token: ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: NotFoundComponent, isStandalone: true, selector: "not-found", ngImport: i0, template: "<div class=\"flex min-h-screen overflow-hidden\" style=\"padding: 20px;\">\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"w-full sm:w-30rem\" style=\"margin: auto; border-radius:50px; padding:0.3rem; background: linear-gradient(180deg, var(--p-primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\r\n <div class=\"surface-card py-6 px-5 sm:px-6\" style=\"border-radius:45px;\">\r\n <div class=\"text-center\">\r\n <img \r\n src=\"
|
|
3090
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: NotFoundComponent, isStandalone: true, selector: "not-found", ngImport: i0, template: "<div class=\"flex min-h-screen overflow-hidden\" style=\"padding: 20px;\">\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"w-full sm:w-30rem\" style=\"margin: auto; border-radius:50px; padding:0.3rem; background: linear-gradient(180deg, var(--p-primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\r\n <div class=\"surface-card py-6 px-5 sm:px-6\" style=\"border-radius:45px;\">\r\n <div class=\"text-center\">\r\n <img \r\n [src]=\"logoPath\" \r\n alt=\"{{companyName}} Logo\" \r\n title=\"{{companyName}} Logo\" \r\n height=\"60\"\r\n class=\"mb-4\"\r\n >\r\n </div>\r\n <h1 class=\"mb-4\">\r\n <div class=\"font-bold text-5xl lg:text-6xl gradient-title\">404</div>\r\n <div class=\"font-bold text-5xl lg:text-6xl\">Page Not Found</div>\r\n </h1>\r\n <div class=\"text-600 text-lg mb-5\">\r\n The page you're looking for doesn't exist or has been moved. Let's get you back on track.\r\n </div>\r\n <div>\r\n <p-button [routerLink]=\"['/']\" label=\"Go to Homepage\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
|
|
3329
3091
|
}
|
|
3330
3092
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: NotFoundComponent, decorators: [{
|
|
3331
3093
|
type: Component,
|
|
3332
3094
|
args: [{ selector: 'not-found', imports: [
|
|
3333
3095
|
RouterModule,
|
|
3334
3096
|
ButtonModule,
|
|
3335
|
-
], template: "<div class=\"flex min-h-screen overflow-hidden\" style=\"padding: 20px;\">\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"w-full sm:w-30rem\" style=\"margin: auto; border-radius:50px; padding:0.3rem; background: linear-gradient(180deg, var(--p-primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\r\n <div class=\"surface-card py-6 px-5 sm:px-6\" style=\"border-radius:45px;\">\r\n <div class=\"text-center\">\r\n <img \r\n src=\"
|
|
3097
|
+
], template: "<div class=\"flex min-h-screen overflow-hidden\" style=\"padding: 20px;\">\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"w-full sm:w-30rem\" style=\"margin: auto; border-radius:50px; padding:0.3rem; background: linear-gradient(180deg, var(--p-primary-color) 10%, rgba(33, 150, 243, 0) 30%);\">\r\n <div class=\"surface-card py-6 px-5 sm:px-6\" style=\"border-radius:45px;\">\r\n <div class=\"text-center\">\r\n <img \r\n [src]=\"logoPath\" \r\n alt=\"{{companyName}} Logo\" \r\n title=\"{{companyName}} Logo\" \r\n height=\"60\"\r\n class=\"mb-4\"\r\n >\r\n </div>\r\n <h1 class=\"mb-4\">\r\n <div class=\"font-bold text-5xl lg:text-6xl gradient-title\">404</div>\r\n <div class=\"font-bold text-5xl lg:text-6xl\">Page Not Found</div>\r\n </h1>\r\n <div class=\"text-600 text-lg mb-5\">\r\n The page you're looking for doesn't exist or has been moved. Let's get you back on track.\r\n </div>\r\n <div>\r\n <p-button [routerLink]=\"['/']\" label=\"Go to Homepage\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
3336
3098
|
}], ctorParameters: () => [{ type: ConfigBaseService }] });
|
|
3337
3099
|
|
|
3338
3100
|
class SpiderlySplitButtonComponent extends SpiderlyButtonBaseComponent {
|
|
@@ -3371,19 +3133,29 @@ class SpiderlyDeleteConfirmationComponent {
|
|
|
3371
3133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDeleteConfirmationComponent, deps: [{ token: i1$6.DynamicDialogRef }, { token: i1$6.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3372
3134
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyDeleteConfirmationComponent, isStandalone: true, selector: "spiderly-delete-confirmation", providers: [
|
|
3373
3135
|
ConfirmationService
|
|
3374
|
-
], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <p-confirmDialog \r\n #cd \r\n ></p-confirmDialog>\r\n <div\r\n class=\"border-bottom-1 surface-border text-lg\"\r\n style=\"display: flex; align-items: center; padding-bottom: 10px; width: 100%; gap: 10px;\"\r\n >\r\n <i class=\"pi pi-exclamation-circle text-4xl\"></i>\r\n <p>{{t('PleaseConfirmToProceed')}}</p>\r\n </div>\r\n \r\n <div style=\"display: flex; gap: 5px; justify-content: right; margin-top: 28px;\">\r\n <spiderly-button (onClick)=\"reject()\" icon=\"pi pi-times\" [label]=\"t('Cancle')\" severity=\"secondary\"></spiderly-button>\r\n <spiderly-button (onClick)=\"accept()\" icon=\"pi pi-check\" [label]=\"t('Confirm')\" styleClass=\"p-button-danger\"></spiderly-button>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type:
|
|
3136
|
+
], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <p-confirmDialog \r\n #cd \r\n ></p-confirmDialog>\r\n <div\r\n class=\"border-bottom-1 surface-border text-lg\"\r\n style=\"display: flex; align-items: center; padding-bottom: 10px; width: 100%; gap: 10px;\"\r\n >\r\n <i class=\"pi pi-exclamation-circle text-4xl\"></i>\r\n <p>{{t('PleaseConfirmToProceed')}}</p>\r\n </div>\r\n \r\n <div style=\"display: flex; gap: 5px; justify-content: right; margin-top: 28px;\">\r\n <spiderly-button (onClick)=\"reject()\" icon=\"pi pi-times\" [label]=\"t('Cancle')\" severity=\"secondary\"></spiderly-button>\r\n <spiderly-button (onClick)=\"accept()\" icon=\"pi pi-check\" [label]=\"t('Confirm')\" styleClass=\"p-button-danger\"></spiderly-button>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i2$2.ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] }); }
|
|
3375
3137
|
}
|
|
3376
3138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDeleteConfirmationComponent, decorators: [{
|
|
3377
3139
|
type: Component,
|
|
3378
3140
|
args: [{ selector: 'spiderly-delete-confirmation', imports: [
|
|
3379
|
-
PrimengModule,
|
|
3380
3141
|
SpiderlyButtonComponent,
|
|
3381
3142
|
TranslocoDirective,
|
|
3143
|
+
ConfirmDialogModule,
|
|
3382
3144
|
], providers: [
|
|
3383
3145
|
ConfirmationService
|
|
3384
3146
|
], template: "<ng-container *transloco=\"let t\">\r\n <p-confirmDialog \r\n #cd \r\n ></p-confirmDialog>\r\n <div\r\n class=\"border-bottom-1 surface-border text-lg\"\r\n style=\"display: flex; align-items: center; padding-bottom: 10px; width: 100%; gap: 10px;\"\r\n >\r\n <i class=\"pi pi-exclamation-circle text-4xl\"></i>\r\n <p>{{t('PleaseConfirmToProceed')}}</p>\r\n </div>\r\n \r\n <div style=\"display: flex; gap: 5px; justify-content: right; margin-top: 28px;\">\r\n <spiderly-button (onClick)=\"reject()\" icon=\"pi pi-times\" [label]=\"t('Cancle')\" severity=\"secondary\"></spiderly-button>\r\n <spiderly-button (onClick)=\"accept()\" icon=\"pi pi-check\" [label]=\"t('Confirm')\" styleClass=\"p-button-danger\"></spiderly-button>\r\n </div>\r\n</ng-container>\r\n" }]
|
|
3385
3147
|
}], ctorParameters: () => [{ type: i1$6.DynamicDialogRef }, { type: i1$6.DynamicDialogConfig }] });
|
|
3386
3148
|
|
|
3149
|
+
var MatchModeCodes;
|
|
3150
|
+
(function (MatchModeCodes) {
|
|
3151
|
+
MatchModeCodes[MatchModeCodes["StartsWith"] = 0] = "StartsWith";
|
|
3152
|
+
MatchModeCodes[MatchModeCodes["Contains"] = 1] = "Contains";
|
|
3153
|
+
MatchModeCodes[MatchModeCodes["Equals"] = 2] = "Equals";
|
|
3154
|
+
MatchModeCodes[MatchModeCodes["LessThan"] = 3] = "LessThan";
|
|
3155
|
+
MatchModeCodes[MatchModeCodes["GreaterThan"] = 4] = "GreaterThan";
|
|
3156
|
+
MatchModeCodes[MatchModeCodes["In"] = 5] = "In";
|
|
3157
|
+
})(MatchModeCodes || (MatchModeCodes = {}));
|
|
3158
|
+
|
|
3387
3159
|
class SpiderlyDataTableComponent {
|
|
3388
3160
|
constructor(router, dialogService, route, messageService, translocoService, locale) {
|
|
3389
3161
|
this.router = router;
|
|
@@ -3394,19 +3166,19 @@ class SpiderlyDataTableComponent {
|
|
|
3394
3166
|
this.locale = locale;
|
|
3395
3167
|
this.tableIcon = 'pi pi-list';
|
|
3396
3168
|
this.rows = 10;
|
|
3397
|
-
this.showPaginator = true; //
|
|
3398
|
-
this.showCardWrapper =
|
|
3169
|
+
this.showPaginator = true; // Pass only when hasLazyLoad === false
|
|
3170
|
+
this.showCardWrapper = false;
|
|
3399
3171
|
this.readonly = false;
|
|
3400
3172
|
this.onTotalRecordsChange = new EventEmitter();
|
|
3401
3173
|
this.loading = true;
|
|
3402
3174
|
this.newlySelectedItems = [];
|
|
3403
|
-
this.fakeSelectedItems = []; //
|
|
3404
|
-
this.currentPageSelectedItemsFromDb = []; //
|
|
3175
|
+
this.fakeSelectedItems = []; // Only for showing checkboxes, we will not send this to the backend
|
|
3176
|
+
this.currentPageSelectedItemsFromDb = []; // Made so we can add only newly selected items to the newlySelectedItems
|
|
3405
3177
|
this.unselectedItems = [];
|
|
3406
3178
|
this.onLazyLoad = new EventEmitter();
|
|
3407
3179
|
this.rowsSelectedNumber = 0;
|
|
3408
3180
|
this.isAllSelected = null;
|
|
3409
|
-
this.fakeIsAllSelected = false; //
|
|
3181
|
+
this.fakeIsAllSelected = false; // Only for showing checkboxes, we will not send this to the backend
|
|
3410
3182
|
this.isFirstTimeLazyLoad = true;
|
|
3411
3183
|
this.onIsAllSelectedChange = new EventEmitter();
|
|
3412
3184
|
this.matchModeDateOptions = [];
|
|
@@ -3415,22 +3187,22 @@ class SpiderlyDataTableComponent {
|
|
|
3415
3187
|
this.showExportToExcelButton = true;
|
|
3416
3188
|
this.showReloadTableButton = false;
|
|
3417
3189
|
this.hasLazyLoad = true;
|
|
3418
|
-
this.selectedItemIds = []; //
|
|
3419
|
-
this.selectedItems = []; //
|
|
3190
|
+
this.selectedItemIds = []; // Pass only when hasLazyLoad === false, it's enough if the M2M association hasn't additional fields
|
|
3191
|
+
this.selectedItems = []; // Pass only when hasLazyLoad === false
|
|
3420
3192
|
this.onRowSelect = new EventEmitter();
|
|
3421
3193
|
this.onRowUnselect = new EventEmitter();
|
|
3422
3194
|
this.clientFilterCount = 0;
|
|
3423
3195
|
}
|
|
3424
3196
|
ngOnInit() {
|
|
3425
3197
|
this.matchModeDateOptions = [
|
|
3426
|
-
{ label: this.translocoService.translate('OnDate'), value:
|
|
3427
|
-
{ label: this.translocoService.translate('DatesBefore'), value:
|
|
3428
|
-
{ label: this.translocoService.translate('DatesAfter'), value:
|
|
3198
|
+
{ label: this.translocoService.translate('OnDate'), value: MatchModeCodes.Equals },
|
|
3199
|
+
{ label: this.translocoService.translate('DatesBefore'), value: MatchModeCodes.LessThan },
|
|
3200
|
+
{ label: this.translocoService.translate('DatesAfter'), value: MatchModeCodes.GreaterThan },
|
|
3429
3201
|
];
|
|
3430
3202
|
this.matchModeNumberOptions = [
|
|
3431
|
-
{ label: this.translocoService.translate('Equals'), value:
|
|
3432
|
-
{ label: this.translocoService.translate('
|
|
3433
|
-
{ label: this.translocoService.translate('
|
|
3203
|
+
{ label: this.translocoService.translate('Equals'), value: MatchModeCodes.Equals },
|
|
3204
|
+
{ label: this.translocoService.translate('LessThan'), value: MatchModeCodes.LessThan },
|
|
3205
|
+
{ label: this.translocoService.translate('MoreThan'), value: MatchModeCodes.GreaterThan },
|
|
3434
3206
|
];
|
|
3435
3207
|
if (this.hasLazyLoad === false) {
|
|
3436
3208
|
this.clientLoad();
|
|
@@ -3457,10 +3229,10 @@ class SpiderlyDataTableComponent {
|
|
|
3457
3229
|
if (this.isAllSelected == true) {
|
|
3458
3230
|
let idsToInsert = [...this.items.map(x => x.id)];
|
|
3459
3231
|
idsToInsert = idsToInsert.filter(x => this.unselectedItems.includes(x) == false);
|
|
3460
|
-
this.fakeSelectedItems = [...idsToInsert]; //
|
|
3232
|
+
this.fakeSelectedItems = [...idsToInsert]; // Only for showing checkboxes, we will not send this to the backend
|
|
3461
3233
|
}
|
|
3462
3234
|
else if (this.isAllSelected == false) {
|
|
3463
|
-
this.fakeSelectedItems = [...this.newlySelectedItems]; //
|
|
3235
|
+
this.fakeSelectedItems = [...this.newlySelectedItems]; // Only for showing checkboxes, we will not send this to the backend
|
|
3464
3236
|
}
|
|
3465
3237
|
else if (this.isAllSelected == null) {
|
|
3466
3238
|
let idsToInsert = [...selectedRowsMethodResult.selectedIds, ...this.newlySelectedItems];
|
|
@@ -3491,7 +3263,7 @@ class SpiderlyDataTableComponent {
|
|
|
3491
3263
|
}
|
|
3492
3264
|
filter(event) {
|
|
3493
3265
|
if (this.hasLazyLoad && this.selectionMode === 'multiple')
|
|
3494
|
-
this.selectAll(false); //
|
|
3266
|
+
this.selectAll(false); // We need to do it like this because: totalRecords: 1 -> selectedRecords from earlyer selection 2 -> unselect current -> all checkbox is set to true
|
|
3495
3267
|
if (this.hasLazyLoad === false && this.selectionMode === 'multiple') {
|
|
3496
3268
|
if (this.clientFilterCount === 0) {
|
|
3497
3269
|
this.loadFormArrayItems();
|
|
@@ -3543,15 +3315,15 @@ class SpiderlyDataTableComponent {
|
|
|
3543
3315
|
getColMatchMode(filterType) {
|
|
3544
3316
|
switch (filterType) {
|
|
3545
3317
|
case 'text':
|
|
3546
|
-
return
|
|
3318
|
+
return MatchModeCodes.Contains;
|
|
3547
3319
|
case 'date':
|
|
3548
|
-
return
|
|
3320
|
+
return MatchModeCodes.Equals;
|
|
3549
3321
|
case 'multiselect':
|
|
3550
|
-
return
|
|
3322
|
+
return MatchModeCodes.In;
|
|
3551
3323
|
case 'boolean':
|
|
3552
|
-
return
|
|
3324
|
+
return MatchModeCodes.Equals;
|
|
3553
3325
|
case 'numeric':
|
|
3554
|
-
return
|
|
3326
|
+
return MatchModeCodes.Equals;
|
|
3555
3327
|
default:
|
|
3556
3328
|
return null;
|
|
3557
3329
|
}
|
|
@@ -3632,7 +3404,7 @@ class SpiderlyDataTableComponent {
|
|
|
3632
3404
|
case 'boolean':
|
|
3633
3405
|
return rowData[col.field] == true ? this.translocoService.translate('Yes') : this.translocoService.translate('No');
|
|
3634
3406
|
case 'numeric':
|
|
3635
|
-
// TODO
|
|
3407
|
+
// TODO make decimal pipe
|
|
3636
3408
|
return rowData[col.field];
|
|
3637
3409
|
default:
|
|
3638
3410
|
return null;
|
|
@@ -3710,7 +3482,7 @@ class SpiderlyDataTableComponent {
|
|
|
3710
3482
|
this.rowsSelectedNumber++;
|
|
3711
3483
|
const index = this.unselectedItems.indexOf(id);
|
|
3712
3484
|
if (index !== -1) {
|
|
3713
|
-
this.unselectedItems.splice(index, 1); //
|
|
3485
|
+
this.unselectedItems.splice(index, 1); // Splice is mutating the array
|
|
3714
3486
|
}
|
|
3715
3487
|
this.setFakeIsAllSelected();
|
|
3716
3488
|
}
|
|
@@ -3723,19 +3495,19 @@ class SpiderlyDataTableComponent {
|
|
|
3723
3495
|
const fakeIndex = this.fakeSelectedItems.indexOf(id);
|
|
3724
3496
|
const nonLazyLoadIndex = this.selectedItemIds.indexOf(id);
|
|
3725
3497
|
if (index !== -1) {
|
|
3726
|
-
this.newlySelectedItems.splice(index, 1); //
|
|
3498
|
+
this.newlySelectedItems.splice(index, 1); // Splice is mutating the array
|
|
3727
3499
|
}
|
|
3728
3500
|
if (fakeIndex !== -1) {
|
|
3729
|
-
this.fakeSelectedItems.splice(fakeIndex, 1); //
|
|
3501
|
+
this.fakeSelectedItems.splice(fakeIndex, 1); // Splice is mutating the array
|
|
3730
3502
|
}
|
|
3731
3503
|
if (nonLazyLoadIndex !== -1) {
|
|
3732
|
-
this.selectedItemIds.splice(nonLazyLoadIndex, 1); //
|
|
3504
|
+
this.selectedItemIds.splice(nonLazyLoadIndex, 1); // Splice is mutating the array
|
|
3733
3505
|
}
|
|
3734
3506
|
this.setFakeIsAllSelected();
|
|
3735
3507
|
}
|
|
3736
3508
|
//#endregion
|
|
3737
3509
|
//#region Client side table
|
|
3738
|
-
//
|
|
3510
|
+
// Can do it with Id also, because we are never adding the new record in the table at the same page.
|
|
3739
3511
|
getFormArrayControlByIndex(formControlName, index) {
|
|
3740
3512
|
if (this.getFormControl) {
|
|
3741
3513
|
return this.getFormControl(formControlName, index, this.additionalIndexes);
|
|
@@ -3745,17 +3517,21 @@ class SpiderlyDataTableComponent {
|
|
|
3745
3517
|
}
|
|
3746
3518
|
}
|
|
3747
3519
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDataTableComponent, deps: [{ token: i3.Router }, { token: i1$6.DialogService }, { token: i3.ActivatedRoute }, { token: SpiderlyMessageService }, { token: i1$2.TranslocoService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3748
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyDataTableComponent, isStandalone: true, selector: "spiderly-data-table", inputs: { tableTitle: "tableTitle", tableIcon: "tableIcon", items: "items", rows: "rows", cols: "cols", showPaginator: "showPaginator", showCardWrapper: "showCardWrapper", readonly: "readonly", getTableDataObservableMethod: "getTableDataObservableMethod", exportTableDataToExcelObservableMethod: "exportTableDataToExcelObservableMethod", deleteItemFromTableObservableMethod: "deleteItemFromTableObservableMethod", newlySelectedItems: "newlySelectedItems", unselectedItems: "unselectedItems", selectionMode: "selectionMode", selectedLazyLoadObservableMethod: "selectedLazyLoadObservableMethod", additionalFilterIdLong: "additionalFilterIdLong", showAddButton: "showAddButton", showExportToExcelButton: "showExportToExcelButton", showReloadTableButton: "showReloadTableButton", getFormArrayItems: "getFormArrayItems", hasLazyLoad: "hasLazyLoad", getAlreadySelectedItemIds: "getAlreadySelectedItemIds", getAlreadySelectedItems: "getAlreadySelectedItems", getFormControl: "getFormControl", additionalIndexes: "additionalIndexes" }, outputs: { onTotalRecordsChange: "onTotalRecordsChange", onLazyLoad: "onLazyLoad", onIsAllSelectedChange: "onIsAllSelectedChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect" }, viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div [class]=\"showCardWrapper ? 'card responsive-card-padding overflow-auto' : ''\">\r\n <p-table #dt [value]=\"items\" [rows]=\"rows\" [rowHover]=\"true\" [paginator]=\"showPaginator\" responsiveLayout=\"scroll\" [lazy]=\"hasLazyLoad\"\r\n (onLazyLoad)=\"lazyLoad($event)\" [totalRecords]=\"totalRecords\" class=\"spiderly-table\" [loading]=\"(items === undefined || loading === true)\" [selectionMode]=\"selectionMode\" dataKey=\"id\" \r\n (onFilter)=\"filter($event)\"> \r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"table-header overflow-auto\">\r\n <div style=\"display: flex; align-items: center; gap: 8px;\">\r\n <i class=\"{{tableIcon}} text-2xl primary-color\"></i>\r\n <h5 style=\"margin: 0px;\">{{tableTitle}}</h5>\r\n </div>\r\n <div style=\"display: flex; gap: 8px;\">\r\n <button pButton [label]=\"t('ClearFilters')\" class=\"p-button-outlined remove-button-border-focus\" style=\"flex: none;\" icon=\"pi pi-filter-slash\" (click)=\"clear(dt)\"></button>\r\n <button pButton *ngIf=\"showExportToExcelButton\" [label]=\"t('ExportToExcel')\" class=\"p-button-outlined remove-button-border-focus\" style=\"flex: none;\" icon=\"pi pi-download\" (click)=\"exportListToExcel()\"></button>\r\n <button pButton *ngIf=\"showReloadTableButton\" [label]=\"t('Reload')\" class=\"p-button-outlined remove-button-border-focus\" style=\"flex: none;\" icon=\"pi pi-refresh\" (click)=\"reload()\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width: 0rem;\" *ngIf=\"selectionMode == 'multiple'\">\r\n <div style=\"display: flex; gap: 8px;\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectAll($event.checked)\" [(ngModel)]=\"fakeIsAllSelected\" [binary]=\"true\"></p-checkbox> ({{rowsSelectedNumber}})\r\n </div>\r\n </th>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <th [style]=\"getColHeaderWidth(col.filterType)\">\r\n <div style=\"display: flex; justify-content: space-between; align-items: center;\">\r\n {{col.name}}\r\n <!-- <p-sortIcon field=\"\"></p-sortIcon> -->\r\n <!-- <p-columnFilter type=\"date\" field=\"date\" display=\"menu\"></p-columnFilter> -->\r\n <p-columnFilter *ngIf=\"col.filterType != null\" [type]=\"col.filterType\" [field]=\"col.filterField ?? col.field\" display=\"menu\" [placeholder]=\"col.filterPlaceholder\" \r\n [showOperator]=\"false\" [showMatchModes]=\"col.showMatchModes\" [showAddButton]=\"col.showAddButton\" [matchModeOptions]=\"getColMatchModeOptions(col.filterType)\"\r\n [matchMode]=\"getColMatchMode(col.filterType)\"\r\n >\r\n <ng-container *ngIf=\"isDropOrMulti(col.filterType)\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" [options]=\"col.dropdownOrMultiselectValues\" [placeholder]=\"t('All')\" (onChange)=\"filter($event.value)\" optionLabel=\"label\" optionValue=\"code\" [style]=\"{'width':'240px'}\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-2\">{{ item.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </ng-container>\r\n </p-columnFilter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-index=\"rowIndex\" let-editing=\"editing\">\r\n <tr>\r\n <td *ngIf=\"selectionMode == 'multiple'\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectRow(rowData.id, rowData.index)\" [ngModel]=\"isRowSelected(rowData.id)\" [binary]=\"true\"></p-checkbox>\r\n </td>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <td [pTooltip]=\"getRowData(rowData, col)\" [style]=\"getStyleForBodyColumn(col)\" *ngIf=\"!col.editable\">\r\n <div style=\"display: flex; align-items: center; justify-content: center; gap: 18px;\">\r\n <ng-container *ngFor=\"let action of col.actions; trackBy: actionTrackByFn\" >\r\n <span [pTooltip]=\"action.name\" [class]=\"getClassForAction(action)\" (click)=\"getMethodForAction(action, rowData)\"></span>\r\n </ng-container>\r\n </div>\r\n {{getRowData(rowData, col)}}\r\n </td>\r\n <td *ngIf=\"col.editable\">\r\n <spiderly-number [control]=\"getFormArrayControlByIndex(col.field, rowData.index)\" [showLabel]=\"false\"></spiderly-number>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('NoRecordsFound')}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('Loading')}}...</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorleft\">\r\n {{t('TotalRecords')}}: {{totalRecords}}\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\">\r\n <div style=\"display: flex; justify-content: end; gap: 10px;\">\r\n <spiderly-button *ngIf=\"showAddButton\" [label]=\"t('AddNew')\" icon=\"pi pi-plus\" (onClick)=\"navigateToDetails(0)\"></spiderly-button>\r\n </div>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n</ng-container>", styles: [".table-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 640px){.table-header{display:flex;flex-direction:column;align-items:start;gap:14px}}.spiderly-table .p-paginator{padding:1rem}@media (min-width: 1400px){.spiderly-table .p-paginator-left-content{position:absolute;padding:14px;left:0}}@media (min-width: 1400px){.spiderly-table .p-paginator-right-content{position:absolute;padding:14px;right:0}}:host ::ng-deep .p-datatable-thead{position:unset!important}:host ::ng-deep .p-datatable-header{border-radius:6px 6px 0 0}:host ::ng-deep .p-datatable{border-radius:var(--p-content-border-radius);border:1px solid var(--p-datatable-border-color)}\n", ":is() .remove-button-border-focus:focus,:is() .remove-button-border-focus:enabled:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;background-color:var(--gray-200)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PrimengModule }, { kind: "component", type: i7.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i1$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "component", type: i4$4.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5$2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: SpiderlyNumberComponent, selector: "spiderly-number", inputs: ["prefix", "showButtons", "decimal", "maxFractionDigits"] }] }); }
|
|
3520
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyDataTableComponent, isStandalone: true, selector: "spiderly-data-table", inputs: { tableTitle: "tableTitle", tableIcon: "tableIcon", items: "items", rows: "rows", cols: "cols", showPaginator: "showPaginator", showCardWrapper: "showCardWrapper", readonly: "readonly", getTableDataObservableMethod: "getTableDataObservableMethod", exportTableDataToExcelObservableMethod: "exportTableDataToExcelObservableMethod", deleteItemFromTableObservableMethod: "deleteItemFromTableObservableMethod", newlySelectedItems: "newlySelectedItems", unselectedItems: "unselectedItems", selectionMode: "selectionMode", selectedLazyLoadObservableMethod: "selectedLazyLoadObservableMethod", additionalFilterIdLong: "additionalFilterIdLong", showAddButton: "showAddButton", showExportToExcelButton: "showExportToExcelButton", showReloadTableButton: "showReloadTableButton", getFormArrayItems: "getFormArrayItems", hasLazyLoad: "hasLazyLoad", getAlreadySelectedItemIds: "getAlreadySelectedItemIds", getAlreadySelectedItems: "getAlreadySelectedItems", getFormControl: "getFormControl", additionalIndexes: "additionalIndexes" }, outputs: { onTotalRecordsChange: "onTotalRecordsChange", onLazyLoad: "onLazyLoad", onIsAllSelectedChange: "onIsAllSelectedChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect" }, viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div [class]=\"showCardWrapper ? 'card responsive-card-padding overflow-auto' : ''\">\r\n <p-table #dt [value]=\"items\" [rows]=\"rows\" [rowHover]=\"true\" [paginator]=\"showPaginator\" responsiveLayout=\"scroll\" [lazy]=\"hasLazyLoad\"\r\n (onLazyLoad)=\"lazyLoad($event)\" [totalRecords]=\"totalRecords\" class=\"spiderly-table\" [loading]=\"(items === undefined || loading === true)\" [selectionMode]=\"selectionMode\" dataKey=\"id\" \r\n (onFilter)=\"filter($event)\"> \r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"table-header overflow-auto\">\r\n <div style=\"display: flex; align-items: center; gap: 8px;\">\r\n <i class=\"{{tableIcon}} text-2xl primary-color\"></i>\r\n <h5 style=\"margin: 0px;\">{{tableTitle}}</h5>\r\n </div>\r\n <div style=\"display: flex; gap: 8px;\">\r\n <button pButton [label]=\"t('ClearFilters')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-filter-slash\" (click)=\"clear(dt)\"></button>\r\n <button pButton *ngIf=\"showExportToExcelButton\" [label]=\"t('ExportToExcel')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-download\" (click)=\"exportListToExcel()\"></button>\r\n <button pButton *ngIf=\"showReloadTableButton\" [label]=\"t('Reload')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-refresh\" (click)=\"reload()\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width: 0rem;\" *ngIf=\"selectionMode == 'multiple'\">\r\n <div style=\"display: flex; gap: 8px;\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectAll($event.checked)\" [(ngModel)]=\"fakeIsAllSelected\" [binary]=\"true\"></p-checkbox> ({{rowsSelectedNumber}})\r\n </div>\r\n </th>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <th [style]=\"getColHeaderWidth(col.filterType)\">\r\n <div style=\"display: flex; justify-content: space-between; align-items: center;\">\r\n {{col.name}}\r\n <p-columnFilter *ngIf=\"col.filterType != null\" [type]=\"col.filterType\" [field]=\"col.filterField ?? col.field\" display=\"menu\" [placeholder]=\"col.filterPlaceholder\" \r\n [showOperator]=\"false\" [showMatchModes]=\"col.showMatchModes\" [showAddButton]=\"col.showAddButton\" [matchModeOptions]=\"getColMatchModeOptions(col.filterType)\"\r\n [matchMode]=\"getColMatchMode(col.filterType)\"\r\n >\r\n <ng-container *ngIf=\"isDropOrMulti(col.filterType)\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" [options]=\"col.dropdownOrMultiselectValues\" [placeholder]=\"t('All')\" (onChange)=\"filter($event.value)\" optionLabel=\"label\" optionValue=\"code\" [style]=\"{'width':'240px'}\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-2\">{{ item.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </ng-container>\r\n </p-columnFilter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-index=\"rowIndex\" let-editing=\"editing\">\r\n <tr>\r\n <td *ngIf=\"selectionMode == 'multiple'\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectRow(rowData.id, rowData.index)\" [ngModel]=\"isRowSelected(rowData.id)\" [binary]=\"true\"></p-checkbox>\r\n </td>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <td [pTooltip]=\"getRowData(rowData, col)\" [style]=\"getStyleForBodyColumn(col)\" *ngIf=\"!col.editable\">\r\n <div style=\"display: flex; align-items: center; justify-content: center; gap: 18px;\">\r\n <ng-container *ngFor=\"let action of col.actions; trackBy: actionTrackByFn\" >\r\n <span [pTooltip]=\"action.name\" [class]=\"getClassForAction(action)\" (click)=\"getMethodForAction(action, rowData)\"></span>\r\n </ng-container>\r\n </div>\r\n {{getRowData(rowData, col)}}\r\n </td>\r\n <td *ngIf=\"col.editable\">\r\n <spiderly-number [control]=\"getFormArrayControlByIndex(col.field, rowData.index)\" [showLabel]=\"false\"></spiderly-number>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('NoRecordsFound')}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('Loading')}}...</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorleft\">\r\n {{t('TotalRecords')}}: {{totalRecords}}\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\">\r\n <div style=\"display: flex; justify-content: end; gap: 10px;\">\r\n <spiderly-button *ngIf=\"showAddButton\" [label]=\"t('AddNew')\" icon=\"pi pi-plus\" (onClick)=\"navigateToDetails(0)\"></spiderly-button>\r\n </div>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n</ng-container>", styles: [".table-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 640px){.table-header{display:flex;flex-direction:column;align-items:start;gap:14px}}.spiderly-table .p-paginator{padding:1rem}@media (min-width: 1400px){.spiderly-table .p-paginator-left-content{position:absolute;padding:14px;left:0}}@media (min-width: 1400px){.spiderly-table .p-paginator-right-content{position:absolute;padding:14px;right:0}}:host ::ng-deep .p-datatable-thead{position:unset!important}:host ::ng-deep .p-datatable-header{border-radius:6px 6px 0 0}:host ::ng-deep .p-datatable{border-radius:var(--p-content-border-radius);border:1px solid var(--p-datatable-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "component", type: SpiderlyNumberComponent, selector: "spiderly-number", inputs: ["prefix", "showButtons", "decimal", "maxFractionDigits"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i9.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i4$2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
|
|
3749
3521
|
}
|
|
3750
3522
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDataTableComponent, decorators: [{
|
|
3751
3523
|
type: Component,
|
|
3752
3524
|
args: [{ selector: 'spiderly-data-table', imports: [
|
|
3753
3525
|
FormsModule,
|
|
3754
3526
|
CommonModule,
|
|
3755
|
-
PrimengModule,
|
|
3756
3527
|
TranslocoDirective,
|
|
3757
3528
|
SpiderlyControlsModule,
|
|
3758
|
-
|
|
3529
|
+
TableModule,
|
|
3530
|
+
ButtonModule,
|
|
3531
|
+
MultiSelectModule,
|
|
3532
|
+
CheckboxModule,
|
|
3533
|
+
TooltipModule,
|
|
3534
|
+
], template: "<ng-container *transloco=\"let t\">\r\n <div [class]=\"showCardWrapper ? 'card responsive-card-padding overflow-auto' : ''\">\r\n <p-table #dt [value]=\"items\" [rows]=\"rows\" [rowHover]=\"true\" [paginator]=\"showPaginator\" responsiveLayout=\"scroll\" [lazy]=\"hasLazyLoad\"\r\n (onLazyLoad)=\"lazyLoad($event)\" [totalRecords]=\"totalRecords\" class=\"spiderly-table\" [loading]=\"(items === undefined || loading === true)\" [selectionMode]=\"selectionMode\" dataKey=\"id\" \r\n (onFilter)=\"filter($event)\"> \r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"table-header overflow-auto\">\r\n <div style=\"display: flex; align-items: center; gap: 8px;\">\r\n <i class=\"{{tableIcon}} text-2xl primary-color\"></i>\r\n <h5 style=\"margin: 0px;\">{{tableTitle}}</h5>\r\n </div>\r\n <div style=\"display: flex; gap: 8px;\">\r\n <button pButton [label]=\"t('ClearFilters')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-filter-slash\" (click)=\"clear(dt)\"></button>\r\n <button pButton *ngIf=\"showExportToExcelButton\" [label]=\"t('ExportToExcel')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-download\" (click)=\"exportListToExcel()\"></button>\r\n <button pButton *ngIf=\"showReloadTableButton\" [label]=\"t('Reload')\" class=\"p-button-outlined\" style=\"flex: none;\" icon=\"pi pi-refresh\" (click)=\"reload()\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width: 0rem;\" *ngIf=\"selectionMode == 'multiple'\">\r\n <div style=\"display: flex; gap: 8px;\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectAll($event.checked)\" [(ngModel)]=\"fakeIsAllSelected\" [binary]=\"true\"></p-checkbox> ({{rowsSelectedNumber}})\r\n </div>\r\n </th>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <th [style]=\"getColHeaderWidth(col.filterType)\">\r\n <div style=\"display: flex; justify-content: space-between; align-items: center;\">\r\n {{col.name}}\r\n <p-columnFilter *ngIf=\"col.filterType != null\" [type]=\"col.filterType\" [field]=\"col.filterField ?? col.field\" display=\"menu\" [placeholder]=\"col.filterPlaceholder\" \r\n [showOperator]=\"false\" [showMatchModes]=\"col.showMatchModes\" [showAddButton]=\"col.showAddButton\" [matchModeOptions]=\"getColMatchModeOptions(col.filterType)\"\r\n [matchMode]=\"getColMatchMode(col.filterType)\"\r\n >\r\n <ng-container *ngIf=\"isDropOrMulti(col.filterType)\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" [options]=\"col.dropdownOrMultiselectValues\" [placeholder]=\"t('All')\" (onChange)=\"filter($event.value)\" optionLabel=\"label\" optionValue=\"code\" [style]=\"{'width':'240px'}\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-2\">{{ item.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </ng-container>\r\n </p-columnFilter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-index=\"rowIndex\" let-editing=\"editing\">\r\n <tr>\r\n <td *ngIf=\"selectionMode == 'multiple'\">\r\n <p-checkbox [disabled]=\"readonly\" (onChange)=\"selectRow(rowData.id, rowData.index)\" [ngModel]=\"isRowSelected(rowData.id)\" [binary]=\"true\"></p-checkbox>\r\n </td>\r\n <ng-container *ngFor=\"let col of cols; trackBy: colTrackByFn\">\r\n <td [pTooltip]=\"getRowData(rowData, col)\" [style]=\"getStyleForBodyColumn(col)\" *ngIf=\"!col.editable\">\r\n <div style=\"display: flex; align-items: center; justify-content: center; gap: 18px;\">\r\n <ng-container *ngFor=\"let action of col.actions; trackBy: actionTrackByFn\" >\r\n <span [pTooltip]=\"action.name\" [class]=\"getClassForAction(action)\" (click)=\"getMethodForAction(action, rowData)\"></span>\r\n </ng-container>\r\n </div>\r\n {{getRowData(rowData, col)}}\r\n </td>\r\n <td *ngIf=\"col.editable\">\r\n <spiderly-number [control]=\"getFormArrayControlByIndex(col.field, rowData.index)\" [showLabel]=\"false\"></spiderly-number>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('NoRecordsFound')}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr>\r\n <td [attr.colspan]=\"cols?.length + (selectionMode === 'multiple' ? 1 : 0)\">{{t('Loading')}}...</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorleft\">\r\n {{t('TotalRecords')}}: {{totalRecords}}\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\">\r\n <div style=\"display: flex; justify-content: end; gap: 10px;\">\r\n <spiderly-button *ngIf=\"showAddButton\" [label]=\"t('AddNew')\" icon=\"pi pi-plus\" (onClick)=\"navigateToDetails(0)\"></spiderly-button>\r\n </div>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n</ng-container>", styles: [".table-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 640px){.table-header{display:flex;flex-direction:column;align-items:start;gap:14px}}.spiderly-table .p-paginator{padding:1rem}@media (min-width: 1400px){.spiderly-table .p-paginator-left-content{position:absolute;padding:14px;left:0}}@media (min-width: 1400px){.spiderly-table .p-paginator-right-content{position:absolute;padding:14px;right:0}}:host ::ng-deep .p-datatable-thead{position:unset!important}:host ::ng-deep .p-datatable-header{border-radius:6px 6px 0 0}:host ::ng-deep .p-datatable{border-radius:var(--p-content-border-radius);border:1px solid var(--p-datatable-border-color)}\n"] }]
|
|
3759
3535
|
}], ctorParameters: () => [{ type: i3.Router }, { type: i1$6.DialogService }, { type: i3.ActivatedRoute }, { type: SpiderlyMessageService }, { type: i1$2.TranslocoService }, { type: undefined, decorators: [{
|
|
3760
3536
|
type: Inject,
|
|
3761
3537
|
args: [LOCALE_ID]
|
|
@@ -3861,6 +3637,158 @@ class AllClickEvent {
|
|
|
3861
3637
|
}
|
|
3862
3638
|
}
|
|
3863
3639
|
|
|
3640
|
+
class SpiderlyDataViewComponent {
|
|
3641
|
+
constructor(router, route, translocoService, locale) {
|
|
3642
|
+
this.router = router;
|
|
3643
|
+
this.route = route;
|
|
3644
|
+
this.translocoService = translocoService;
|
|
3645
|
+
this.locale = locale;
|
|
3646
|
+
this.rows = 10;
|
|
3647
|
+
this.filters = [];
|
|
3648
|
+
this.showCardWrapper = true;
|
|
3649
|
+
this.onLazyLoad = new EventEmitter();
|
|
3650
|
+
this.loading = true;
|
|
3651
|
+
this.matchModeDateOptions = [];
|
|
3652
|
+
this.matchModeNumberOptions = [];
|
|
3653
|
+
this.applyFilters = () => {
|
|
3654
|
+
this.table._filter();
|
|
3655
|
+
};
|
|
3656
|
+
}
|
|
3657
|
+
ngOnInit() {
|
|
3658
|
+
this.matchModeDateOptions = [
|
|
3659
|
+
{ label: this.translocoService.translate('OnDate'), value: MatchModeCodes.Equals },
|
|
3660
|
+
{ label: this.translocoService.translate('DatesBefore'), value: MatchModeCodes.LessThan },
|
|
3661
|
+
{ label: this.translocoService.translate('DatesAfter'), value: MatchModeCodes.GreaterThan },
|
|
3662
|
+
];
|
|
3663
|
+
this.matchModeNumberOptions = [
|
|
3664
|
+
{ label: this.translocoService.translate('Equals'), value: MatchModeCodes.Equals },
|
|
3665
|
+
{ label: this.translocoService.translate('LessThan'), value: MatchModeCodes.LessThan },
|
|
3666
|
+
{ label: this.translocoService.translate('MoreThan'), value: MatchModeCodes.GreaterThan },
|
|
3667
|
+
];
|
|
3668
|
+
}
|
|
3669
|
+
lazyLoad(event) {
|
|
3670
|
+
this.lastLazyLoadEvent = event;
|
|
3671
|
+
const transformedFilter = {};
|
|
3672
|
+
for (const key in event.filters) {
|
|
3673
|
+
const filterMeta = event.filters[key];
|
|
3674
|
+
if (Array.isArray(filterMeta)) {
|
|
3675
|
+
transformedFilter[key] = filterMeta;
|
|
3676
|
+
}
|
|
3677
|
+
else {
|
|
3678
|
+
transformedFilter[key] = [{
|
|
3679
|
+
value: filterMeta.value,
|
|
3680
|
+
matchMode: filterMeta.matchMode
|
|
3681
|
+
}];
|
|
3682
|
+
}
|
|
3683
|
+
}
|
|
3684
|
+
let tableFilter = event;
|
|
3685
|
+
tableFilter.filters = transformedFilter;
|
|
3686
|
+
this.onLazyLoad.next(tableFilter);
|
|
3687
|
+
this.getTableDataObservableMethod(tableFilter).subscribe({
|
|
3688
|
+
next: async (res) => {
|
|
3689
|
+
this.items = res.data;
|
|
3690
|
+
this.totalRecords = res.totalRecords;
|
|
3691
|
+
this.loading = false;
|
|
3692
|
+
},
|
|
3693
|
+
error: () => {
|
|
3694
|
+
this.loading = false;
|
|
3695
|
+
},
|
|
3696
|
+
});
|
|
3697
|
+
}
|
|
3698
|
+
filter(event) {
|
|
3699
|
+
}
|
|
3700
|
+
getDefaultMatchMode(filterType) {
|
|
3701
|
+
switch (filterType) {
|
|
3702
|
+
case 'text':
|
|
3703
|
+
return MatchModeCodes.Contains;
|
|
3704
|
+
case 'date':
|
|
3705
|
+
return MatchModeCodes.Equals;
|
|
3706
|
+
case 'multiselect':
|
|
3707
|
+
return MatchModeCodes.In;
|
|
3708
|
+
case 'boolean':
|
|
3709
|
+
return MatchModeCodes.Equals;
|
|
3710
|
+
case 'numeric':
|
|
3711
|
+
return MatchModeCodes.Equals;
|
|
3712
|
+
default:
|
|
3713
|
+
return null;
|
|
3714
|
+
}
|
|
3715
|
+
}
|
|
3716
|
+
getMatchModeOptions(filterType) {
|
|
3717
|
+
switch (filterType) {
|
|
3718
|
+
case 'text':
|
|
3719
|
+
return [];
|
|
3720
|
+
case 'date':
|
|
3721
|
+
return this.matchModeDateOptions;
|
|
3722
|
+
case 'multiselect':
|
|
3723
|
+
return [];
|
|
3724
|
+
case 'boolean':
|
|
3725
|
+
return [];
|
|
3726
|
+
case 'numeric':
|
|
3727
|
+
return this.matchModeNumberOptions;
|
|
3728
|
+
default:
|
|
3729
|
+
return [];
|
|
3730
|
+
}
|
|
3731
|
+
}
|
|
3732
|
+
navigateToDetails(rowId) {
|
|
3733
|
+
this.router.navigate([rowId], { relativeTo: this.route });
|
|
3734
|
+
}
|
|
3735
|
+
reload() {
|
|
3736
|
+
this.loading = true;
|
|
3737
|
+
this.items = null;
|
|
3738
|
+
this.lazyLoad(this.lastLazyLoadEvent);
|
|
3739
|
+
}
|
|
3740
|
+
colTrackByFn(index, item) {
|
|
3741
|
+
return item.field;
|
|
3742
|
+
}
|
|
3743
|
+
actionTrackByFn(index, item) {
|
|
3744
|
+
return `${index}${item.field}`;
|
|
3745
|
+
}
|
|
3746
|
+
clearFilters() {
|
|
3747
|
+
this.table.clear();
|
|
3748
|
+
}
|
|
3749
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDataViewComponent, deps: [{ token: i3.Router }, { token: i3.ActivatedRoute }, { token: i1$2.TranslocoService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3750
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: SpiderlyDataViewComponent, isStandalone: true, selector: "spiderly-data-view", inputs: { items: "items", rows: "rows", filters: "filters", showCardWrapper: "showCardWrapper", getTableDataObservableMethod: "getTableDataObservableMethod" }, outputs: { onLazyLoad: "onLazyLoad" }, queries: [{ propertyName: "cardBody", first: true, predicate: ["cardBody"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div [class]=\"showCardWrapper ? 'card responsive-card-padding overflow-auto' : ''\">\r\n <p-table \r\n #dt \r\n [value]=\"items\" \r\n [rows]=\"rows\" \r\n [rowHover]=\"true\" \r\n responsiveLayout=\"scroll\" \r\n [lazy]=\"true\"\r\n (onLazyLoad)=\"lazyLoad($event)\" \r\n [totalRecords]=\"totalRecords\" class=\"spiderly-table\" \r\n [loading]=\"(items === undefined || loading === true)\" \r\n dataKey=\"id\" \r\n (onFilter)=\"filter($event)\"\r\n [filterDelay]=\"500\"\r\n > \r\n <ng-template #caption>\r\n <div *ngIf=\"filters.length !== 0\">\r\n <div class=\"data-view-grid\">\r\n @for (filter of filters; track $index) {\r\n <div>\r\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; position: relative;\">\r\n <div>\r\n <label>\r\n {{filter.name}}\r\n </label>\r\n </div>\r\n\r\n <p-columnFilter *ngIf=\"filter.filterType != null\" [type]=\"filter.filterType\" [field]=\"filter.filterField ?? filter.field\" display=\"row\" [placeholder]=\"filter.filterPlaceholder\" \r\n [showOperator]=\"false\" [showMenu]=\"filter.showMatchModes\" [showMatchModes]=\"true\" [showClearButton]=\"false\" [matchMode]=\"getDefaultMatchMode(filter.filterType)\" [matchModeOptions]=\"getMatchModeOptions(filter.filterType)\" \r\n >\r\n <!-- Multiselect -->\r\n <ng-container *ngIf=\"filter.filterType == 'multiselect'\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" [options]=\"filter.dropdownOrMultiselectValues\" [placeholder]=\"t('All')\" (onChange)=\"filter($event.value)\" optionLabel=\"label\" optionValue=\"code\" [style]=\"{'width':'240px'}\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-2\">{{ item.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </ng-container>\r\n </p-columnFilter>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div style=\"display: flex; gap: 12px;\">\r\n <spiderly-button [label]=\"t('ApplyFilters')\" (onClick)=\"applyFilters()\" icon=\"pi pi-search\"></spiderly-button>\r\n <spiderly-button [label]=\"t('ClearFilters')\" (onClick)=\"clearFilters()\" icon=\"pi pi-filter-slash\"></spiderly-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #body let-rowData let-index=\"rowIndex\">\r\n <tr class=\"card\" style=\"padding: 0; margin-bottom: 0;\">\r\n <td (click)=\"navigateToDetails(rowData.id)\" style=\"display: block; border: 0; cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"cardBody; context: { $implicit: rowData, item: rowData, index: index }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n</ng-container>", styles: ["::ng-deep .p-datatable-tbody{display:flex;flex-direction:column;gap:18px}::ng-deep .p-datatable-header{margin-bottom:36px;border:0!important;padding:0!important;background-color:transparent!important}::ng-deep .p-fluid{width:100%!important}::ng-deep .p-inputtext{width:100%!important}::ng-deep .p-inputnumber{width:100%!important}::ng-deep .p-datepicker{width:100%!important}.data-view-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr 1fr;margin-bottom:18px}@media (max-width: 1080px){.data-view-grid{gap:12px;grid-template-columns:1fr 1fr}}@media (max-width: 500px){.data-view-grid{grid-template-columns:1fr}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i9.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: DatePickerModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "ngmodule", type: SelectModule }] }); }
|
|
3751
|
+
}
|
|
3752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyDataViewComponent, decorators: [{
|
|
3753
|
+
type: Component,
|
|
3754
|
+
args: [{ selector: 'spiderly-data-view', imports: [
|
|
3755
|
+
FormsModule,
|
|
3756
|
+
CommonModule,
|
|
3757
|
+
TranslocoDirective,
|
|
3758
|
+
SpiderlyControlsModule,
|
|
3759
|
+
TableModule,
|
|
3760
|
+
ButtonModule,
|
|
3761
|
+
MultiSelectModule,
|
|
3762
|
+
CheckboxModule,
|
|
3763
|
+
TooltipModule,
|
|
3764
|
+
DatePickerModule,
|
|
3765
|
+
InputTextModule,
|
|
3766
|
+
InputNumberModule,
|
|
3767
|
+
SelectModule,
|
|
3768
|
+
], template: "<ng-container *transloco=\"let t\">\r\n <div [class]=\"showCardWrapper ? 'card responsive-card-padding overflow-auto' : ''\">\r\n <p-table \r\n #dt \r\n [value]=\"items\" \r\n [rows]=\"rows\" \r\n [rowHover]=\"true\" \r\n responsiveLayout=\"scroll\" \r\n [lazy]=\"true\"\r\n (onLazyLoad)=\"lazyLoad($event)\" \r\n [totalRecords]=\"totalRecords\" class=\"spiderly-table\" \r\n [loading]=\"(items === undefined || loading === true)\" \r\n dataKey=\"id\" \r\n (onFilter)=\"filter($event)\"\r\n [filterDelay]=\"500\"\r\n > \r\n <ng-template #caption>\r\n <div *ngIf=\"filters.length !== 0\">\r\n <div class=\"data-view-grid\">\r\n @for (filter of filters; track $index) {\r\n <div>\r\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; position: relative;\">\r\n <div>\r\n <label>\r\n {{filter.name}}\r\n </label>\r\n </div>\r\n\r\n <p-columnFilter *ngIf=\"filter.filterType != null\" [type]=\"filter.filterType\" [field]=\"filter.filterField ?? filter.field\" display=\"row\" [placeholder]=\"filter.filterPlaceholder\" \r\n [showOperator]=\"false\" [showMenu]=\"filter.showMatchModes\" [showMatchModes]=\"true\" [showClearButton]=\"false\" [matchMode]=\"getDefaultMatchMode(filter.filterType)\" [matchModeOptions]=\"getMatchModeOptions(filter.filterType)\" \r\n >\r\n <!-- Multiselect -->\r\n <ng-container *ngIf=\"filter.filterType == 'multiselect'\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" [options]=\"filter.dropdownOrMultiselectValues\" [placeholder]=\"t('All')\" (onChange)=\"filter($event.value)\" optionLabel=\"label\" optionValue=\"code\" [style]=\"{'width':'240px'}\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-2\">{{ item.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </ng-container>\r\n </p-columnFilter>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div style=\"display: flex; gap: 12px;\">\r\n <spiderly-button [label]=\"t('ApplyFilters')\" (onClick)=\"applyFilters()\" icon=\"pi pi-search\"></spiderly-button>\r\n <spiderly-button [label]=\"t('ClearFilters')\" (onClick)=\"clearFilters()\" icon=\"pi pi-filter-slash\"></spiderly-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #body let-rowData let-index=\"rowIndex\">\r\n <tr class=\"card\" style=\"padding: 0; margin-bottom: 0;\">\r\n <td (click)=\"navigateToDetails(rowData.id)\" style=\"display: block; border: 0; cursor: pointer;\">\r\n <ng-container *ngTemplateOutlet=\"cardBody; context: { $implicit: rowData, item: rowData, index: index }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n</ng-container>", styles: ["::ng-deep .p-datatable-tbody{display:flex;flex-direction:column;gap:18px}::ng-deep .p-datatable-header{margin-bottom:36px;border:0!important;padding:0!important;background-color:transparent!important}::ng-deep .p-fluid{width:100%!important}::ng-deep .p-inputtext{width:100%!important}::ng-deep .p-inputnumber{width:100%!important}::ng-deep .p-datepicker{width:100%!important}.data-view-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr 1fr;margin-bottom:18px}@media (max-width: 1080px){.data-view-grid{gap:12px;grid-template-columns:1fr 1fr}}@media (max-width: 500px){.data-view-grid{grid-template-columns:1fr}}\n"] }]
|
|
3769
|
+
}], ctorParameters: () => [{ type: i3.Router }, { type: i3.ActivatedRoute }, { type: i1$2.TranslocoService }, { type: undefined, decorators: [{
|
|
3770
|
+
type: Inject,
|
|
3771
|
+
args: [LOCALE_ID]
|
|
3772
|
+
}] }], propDecorators: { table: [{
|
|
3773
|
+
type: ViewChild,
|
|
3774
|
+
args: ['dt']
|
|
3775
|
+
}], items: [{
|
|
3776
|
+
type: Input
|
|
3777
|
+
}], rows: [{
|
|
3778
|
+
type: Input
|
|
3779
|
+
}], filters: [{
|
|
3780
|
+
type: Input
|
|
3781
|
+
}], showCardWrapper: [{
|
|
3782
|
+
type: Input
|
|
3783
|
+
}], onLazyLoad: [{
|
|
3784
|
+
type: Output
|
|
3785
|
+
}], getTableDataObservableMethod: [{
|
|
3786
|
+
type: Input
|
|
3787
|
+
}], cardBody: [{
|
|
3788
|
+
type: ContentChild,
|
|
3789
|
+
args: ['cardBody', { read: TemplateRef }]
|
|
3790
|
+
}] } });
|
|
3791
|
+
|
|
3864
3792
|
class SidebarMenuService {
|
|
3865
3793
|
constructor() {
|
|
3866
3794
|
this.menuSource = new Subject();
|
|
@@ -3961,7 +3889,7 @@ class MenuitemComponent {
|
|
|
3961
3889
|
get activeClass() {
|
|
3962
3890
|
return this.active && !this.root;
|
|
3963
3891
|
}
|
|
3964
|
-
//#region
|
|
3892
|
+
//#region HACK: Partner
|
|
3965
3893
|
searchPartners(event) {
|
|
3966
3894
|
this.layoutService.searchPartners(event).subscribe(po => {
|
|
3967
3895
|
this.partnerOptions = po;
|
|
@@ -3980,7 +3908,7 @@ class MenuitemComponent {
|
|
|
3980
3908
|
}
|
|
3981
3909
|
}
|
|
3982
3910
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MenuitemComponent, deps: [{ token: LayoutBaseService }, { token: i0.ChangeDetectorRef }, { token: i3.Router }, { token: SidebarMenuService }, { token: AuthBaseService }, { token: ApiSecurityService }, { token: ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3983
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: MenuitemComponent, isStandalone: true, selector: "[menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>", dependencies: [{ kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "
|
|
3911
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: MenuitemComponent, isStandalone: true, selector: "[menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>", dependencies: [{ kind: "component", type: MenuitemComponent, selector: "[menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SpiderlyControlsModule }, { kind: "component", type: SpiderlyAutocompleteComponent, selector: "spiderly-autocomplete", inputs: ["appendTo", "showClear", "emptyMessage", "displayName"] }], animations: [
|
|
3984
3912
|
trigger('children', [
|
|
3985
3913
|
state('collapsed', style({
|
|
3986
3914
|
height: '0'
|
|
@@ -4007,7 +3935,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
4007
3935
|
], imports: [
|
|
4008
3936
|
CommonModule,
|
|
4009
3937
|
RouterModule,
|
|
4010
|
-
PrimengModule,
|
|
4011
3938
|
TranslocoDirective,
|
|
4012
3939
|
SpiderlyControlsModule,
|
|
4013
3940
|
], template: "<ng-container *transloco=\"let t\">\r\n <div *ngIf=\"root && item.visible === true\" class=\"layout-menuitem-root-text\">{{item.label}}</div>\r\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible === true\" [attr.href]=\"item.url\" (click)=\"itemClick($event)\"\r\n [ngClass]=\"item.styleClass\" [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible === true\" (click)=\"itemClick($event)\" [ngClass]=\"item.styleClass\"\r\n [routerLink]=\"item.routerLink\" routerLinkActive=\"active-route\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\r\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\"\r\n [attr.target]=\"item.target\" tabindex=\"0\" pRipple>\r\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\r\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\r\n </a>\r\n\r\n <ul *ngIf=\"item.items && item.visible === true\" [@children]=\"submenuAnimation\">\r\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\r\n <li menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeStyleClass\"></li>\r\n </ng-template>\r\n </ul>\r\n\r\n <!-- Delete this in the future iterations, make link to partner in /partners page -->\r\n <spiderly-autocomplete\r\n *ngIf=\"item.showPartnerDialog\"\r\n [control]=\"selectedPartner\"\r\n [options]=\"partnerOptions\"\r\n (onTextInput)=\"searchPartners($event)\"\r\n label=\"\"\r\n [placeholder]=\"t('SelectThePartner')\"\r\n [showAddon]=\"true\"\r\n (onButtonClick)=\"partnersAutocompleteButtonClick()\"\r\n addonIcon=\"pi pi-check\"\r\n [emptyMessage]=\"t('LeftCornerPartnersEmptyMessage')\"\r\n class=\"mobile-stay-open\"\r\n ></spiderly-autocomplete>\r\n \r\n</ng-container>" }]
|
|
@@ -4069,14 +3996,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
4069
3996
|
type: Input
|
|
4070
3997
|
}] } });
|
|
4071
3998
|
|
|
4072
|
-
class
|
|
4073
|
-
constructor(layoutService, authService,
|
|
3999
|
+
class ProfileAvatarComponent {
|
|
4000
|
+
constructor(layoutService, authService, router, translocoService, config) {
|
|
4074
4001
|
this.layoutService = layoutService;
|
|
4075
4002
|
this.authService = authService;
|
|
4076
|
-
this.apiService = apiService;
|
|
4077
4003
|
this.router = router;
|
|
4078
4004
|
this.translocoService = translocoService;
|
|
4079
4005
|
this.config = config;
|
|
4006
|
+
this.isSideMenuLayout = true;
|
|
4080
4007
|
this.initTopBarSubscription = null;
|
|
4081
4008
|
this.menuItems = [];
|
|
4082
4009
|
this.showProfileIcon = false;
|
|
@@ -4091,7 +4018,6 @@ class AppTopBarComponent {
|
|
|
4091
4018
|
this.onAfterNgOnInit = () => {
|
|
4092
4019
|
this.initTopBarSubscription = this.layoutService.initTopBarData().subscribe(initTopBarData => {
|
|
4093
4020
|
this.userProfilePath = initTopBarData.userProfilePath;
|
|
4094
|
-
this.companyName = initTopBarData.companyName;
|
|
4095
4021
|
this.unreadNotificationsCount = initTopBarData.unreadNotificationsCount;
|
|
4096
4022
|
this.notificationMenuItem.showNotificationBadge = initTopBarData.unreadNotificationsCount > 0;
|
|
4097
4023
|
this.showProfileIcon = initTopBarData.showProfileIcon;
|
|
@@ -4111,13 +4037,6 @@ class AppTopBarComponent {
|
|
|
4111
4037
|
}
|
|
4112
4038
|
},
|
|
4113
4039
|
this.notificationMenuItem,
|
|
4114
|
-
// {
|
|
4115
|
-
// label: this.translocoService.translate('Settings'),
|
|
4116
|
-
// icon: 'pi-cog',
|
|
4117
|
-
// onClick: () => {
|
|
4118
|
-
// this.router.navigateByUrl(`/administration/users`);
|
|
4119
|
-
// }
|
|
4120
|
-
// },
|
|
4121
4040
|
{
|
|
4122
4041
|
label: this.translocoService.translate('Logout'),
|
|
4123
4042
|
icon: 'pi-sign-out',
|
|
@@ -4149,19 +4068,21 @@ class AppTopBarComponent {
|
|
|
4149
4068
|
this.initTopBarSubscription.unsubscribe();
|
|
4150
4069
|
}
|
|
4151
4070
|
}
|
|
4152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type:
|
|
4153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type:
|
|
4071
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ProfileAvatarComponent, deps: [{ token: LayoutBaseService }, { token: AuthBaseService }, { token: i3.Router }, { token: i1$2.TranslocoService }, { token: ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4072
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: ProfileAvatarComponent, isStandalone: true, selector: "spiderly-profile-avatar", inputs: { isSideMenuLayout: "isSideMenuLayout" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["topbarmenu"], descendants: true }, { propertyName: "topbarProfileDropdownMenuButton", first: true, predicate: ["topbarprofiledropdownmenubutton"], descendants: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"this.currentUser != null\"\r\n #topbarmenu\r\n >\r\n <div\r\n #topbarprofiledropdownmenubutton\r\n (click)=\"layoutService.showProfileDropdownSidebar()\"\r\n >\r\n <p-avatar\r\n *ngIf=\"showProfileIcon\"\r\n [label]=\"avatarLabel\"\r\n [style]=\"{ 'background-color': 'var(--p-primary-color)', 'color': '#fff', 'cursor': 'pointer', 'width': '34px', 'height': '34px', 'font-size': '21px' }\"\r\n pBadge \r\n [badgeStyleClass]=\"'p-badge-danger'\"\r\n [badgeDisabled]=\"unreadNotificationsCount == 0 || unreadNotificationsCount == null\"\r\n [value]=\"unreadNotificationsCount\"\r\n />\r\n </div>\r\n <div\r\n #topbarprofiledropdownmenu\r\n (document:click)=\"onDocumentClick($event)\"\r\n >\r\n <div \r\n *ngIf=\"layoutService.state.profileDropdownSidebarVisible\" \r\n [ngStyle]=\"{'right': isSideMenuLayout ? '26px' : '0', 'top': isSideMenuLayout ? '60px' : '40px'}\" \r\n style=\"width: 280px; position: absolute; padding: 15px;\" \r\n class=\"card\">\r\n <div style=\"display: flex; flex-direction: column; justify-content: center; text-align: center; gap: 10px;\">\r\n <p-avatar\r\n [label]=\"avatarLabel\"\r\n size=\"xlarge\"\r\n [style]=\"{ 'background-color': 'var(--p-primary-color)', 'color': '#fff', 'cursor': 'pointer', 'margin': 'auto' }\"\r\n (click)=\"routeToUserPage()\"\r\n />\r\n <div style=\"font-size: 15px;\">{{currentUser?.email}}</div>\r\n </div>\r\n <div style=\"margin-top: 15px;\">\r\n <div *ngFor=\"let item of menuItems\" [style]=\"item.showSeparator ? 'margin-top: 5px;' : ''\">\r\n <div *ngIf=\"item.showSeparator\" class=\"gray-separator\"></div>\r\n <div (click)=\"item.onClick()\" class=\"hover-card\" style=\"display: flex; align-items: center; gap: 5px; margin-top: 5px;\">\r\n <i \r\n class=\"pi pi-fw {{item.icon}} primary-color\" \r\n style=\"font-size: 16px; position: relative;\"\r\n >\r\n <span *ngIf=\"item.showNotificationBadge && unreadNotificationsCount != 0\" class=\"badge\"></span>\r\n </i>\r\n <div style=\"font-size: 15px;\"> {{item.label}} </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"this.currentUser == null\">\r\n <spiderly-button [label]=\"t('Login')\" icon=\"pi pi-sign-in\" [routerLink]=\"this.config.loginSlug\"></spiderly-button>\r\n </div>\r\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i7.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i8.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value", "badgeStyle", "badgeStyleClass"] }, { kind: "component", type: SpiderlyButtonComponent, selector: "spiderly-button" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
4154
4073
|
}
|
|
4155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type:
|
|
4074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ProfileAvatarComponent, decorators: [{
|
|
4156
4075
|
type: Component,
|
|
4157
|
-
args: [{ selector: '
|
|
4076
|
+
args: [{ selector: 'spiderly-profile-avatar', imports: [
|
|
4158
4077
|
CommonModule,
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4078
|
+
RouterModule,
|
|
4079
|
+
AvatarModule,
|
|
4080
|
+
BadgeModule,
|
|
4081
|
+
SpiderlyButtonComponent,
|
|
4082
|
+
TranslocoDirective,
|
|
4083
|
+
], template: "<ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"this.currentUser != null\"\r\n #topbarmenu\r\n >\r\n <div\r\n #topbarprofiledropdownmenubutton\r\n (click)=\"layoutService.showProfileDropdownSidebar()\"\r\n >\r\n <p-avatar\r\n *ngIf=\"showProfileIcon\"\r\n [label]=\"avatarLabel\"\r\n [style]=\"{ 'background-color': 'var(--p-primary-color)', 'color': '#fff', 'cursor': 'pointer', 'width': '34px', 'height': '34px', 'font-size': '21px' }\"\r\n pBadge \r\n [badgeStyleClass]=\"'p-badge-danger'\"\r\n [badgeDisabled]=\"unreadNotificationsCount == 0 || unreadNotificationsCount == null\"\r\n [value]=\"unreadNotificationsCount\"\r\n />\r\n </div>\r\n <div\r\n #topbarprofiledropdownmenu\r\n (document:click)=\"onDocumentClick($event)\"\r\n >\r\n <div \r\n *ngIf=\"layoutService.state.profileDropdownSidebarVisible\" \r\n [ngStyle]=\"{'right': isSideMenuLayout ? '26px' : '0', 'top': isSideMenuLayout ? '60px' : '40px'}\" \r\n style=\"width: 280px; position: absolute; padding: 15px;\" \r\n class=\"card\">\r\n <div style=\"display: flex; flex-direction: column; justify-content: center; text-align: center; gap: 10px;\">\r\n <p-avatar\r\n [label]=\"avatarLabel\"\r\n size=\"xlarge\"\r\n [style]=\"{ 'background-color': 'var(--p-primary-color)', 'color': '#fff', 'cursor': 'pointer', 'margin': 'auto' }\"\r\n (click)=\"routeToUserPage()\"\r\n />\r\n <div style=\"font-size: 15px;\">{{currentUser?.email}}</div>\r\n </div>\r\n <div style=\"margin-top: 15px;\">\r\n <div *ngFor=\"let item of menuItems\" [style]=\"item.showSeparator ? 'margin-top: 5px;' : ''\">\r\n <div *ngIf=\"item.showSeparator\" class=\"gray-separator\"></div>\r\n <div (click)=\"item.onClick()\" class=\"hover-card\" style=\"display: flex; align-items: center; gap: 5px; margin-top: 5px;\">\r\n <i \r\n class=\"pi pi-fw {{item.icon}} primary-color\" \r\n style=\"font-size: 16px; position: relative;\"\r\n >\r\n <span *ngIf=\"item.showNotificationBadge && unreadNotificationsCount != 0\" class=\"badge\"></span>\r\n </i>\r\n <div style=\"font-size: 15px;\"> {{item.label}} </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"this.currentUser == null\">\r\n <spiderly-button [label]=\"t('Login')\" icon=\"pi pi-sign-in\" [routerLink]=\"this.config.loginSlug\"></spiderly-button>\r\n </div>\r\n</ng-container>" }]
|
|
4084
|
+
}], ctorParameters: () => [{ type: LayoutBaseService }, { type: AuthBaseService }, { type: i3.Router }, { type: i1$2.TranslocoService }, { type: ConfigBaseService }], propDecorators: { isSideMenuLayout: [{
|
|
4085
|
+
type: Input
|
|
4165
4086
|
}], menu: [{
|
|
4166
4087
|
type: ViewChild,
|
|
4167
4088
|
args: ['topbarmenu']
|
|
@@ -4170,19 +4091,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
|
|
|
4170
4091
|
args: ['topbarprofiledropdownmenubutton']
|
|
4171
4092
|
}] } });
|
|
4172
4093
|
|
|
4173
|
-
class
|
|
4094
|
+
class SideMenuTopBarComponent {
|
|
4095
|
+
constructor(layoutService, router, config, translocoService) {
|
|
4096
|
+
this.layoutService = layoutService;
|
|
4097
|
+
this.router = router;
|
|
4098
|
+
this.config = config;
|
|
4099
|
+
this.translocoService = translocoService;
|
|
4100
|
+
this.companyName = this.config.companyName;
|
|
4101
|
+
}
|
|
4102
|
+
async ngOnInit() {
|
|
4103
|
+
this.router.events
|
|
4104
|
+
.pipe(filter$1(event => event instanceof NavigationEnd))
|
|
4105
|
+
.subscribe((event) => {
|
|
4106
|
+
this.layoutService.state.profileDropdownSidebarVisible = false;
|
|
4107
|
+
});
|
|
4108
|
+
}
|
|
4109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SideMenuTopBarComponent, deps: [{ token: LayoutBaseService }, { token: i3.Router }, { token: ConfigBaseService }, { token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SideMenuTopBarComponent, isStandalone: true, selector: "spiderly-sidemenu-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n <a class=\"layout-topbar-logo\" routerLink=\"/\">\r\n <span>{{companyName?.toLocaleUpperCase()}}</span>\r\n </a>\r\n\r\n <button\r\n #menubutton\r\n class=\"p-link layout-menu-button layout-topbar-button\"\r\n (click)=\"layoutService.onMenuToggle()\"\r\n >\r\n <i class=\"pi pi-bars\"></i>\r\n </button>\r\n\r\n <div class=\"profile-button\">\r\n <spiderly-profile-avatar\r\n ></spiderly-profile-avatar>\r\n </div>\r\n\r\n</div>\r\n ", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: ProfileAvatarComponent, selector: "spiderly-profile-avatar", inputs: ["isSideMenuLayout"] }] }); }
|
|
4111
|
+
}
|
|
4112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SideMenuTopBarComponent, decorators: [{
|
|
4113
|
+
type: Component,
|
|
4114
|
+
args: [{ selector: 'spiderly-sidemenu-topbar', imports: [
|
|
4115
|
+
CommonModule,
|
|
4116
|
+
RouterModule,
|
|
4117
|
+
AvatarModule,
|
|
4118
|
+
BadgeModule,
|
|
4119
|
+
ProfileAvatarComponent,
|
|
4120
|
+
], template: "<div class=\"layout-topbar\">\r\n <a class=\"layout-topbar-logo\" routerLink=\"/\">\r\n <span>{{companyName?.toLocaleUpperCase()}}</span>\r\n </a>\r\n\r\n <button\r\n #menubutton\r\n class=\"p-link layout-menu-button layout-topbar-button\"\r\n (click)=\"layoutService.onMenuToggle()\"\r\n >\r\n <i class=\"pi pi-bars\"></i>\r\n </button>\r\n\r\n <div class=\"profile-button\">\r\n <spiderly-profile-avatar\r\n ></spiderly-profile-avatar>\r\n </div>\r\n\r\n</div>\r\n " }]
|
|
4121
|
+
}], ctorParameters: () => [{ type: LayoutBaseService }, { type: i3.Router }, { type: ConfigBaseService }, { type: i1$2.TranslocoService }], propDecorators: { menuButton: [{
|
|
4122
|
+
type: ViewChild,
|
|
4123
|
+
args: ['menubutton']
|
|
4124
|
+
}] } });
|
|
4125
|
+
|
|
4126
|
+
class TopBarComponent {
|
|
4127
|
+
constructor(config) {
|
|
4128
|
+
this.config = config;
|
|
4129
|
+
this.companyName = this.config.companyName;
|
|
4130
|
+
this.logoPath = this.config.logoPath;
|
|
4131
|
+
this.isSideMenuActive = false;
|
|
4132
|
+
}
|
|
4133
|
+
ngOnInit() {
|
|
4134
|
+
}
|
|
4135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: TopBarComponent, deps: [{ token: ConfigBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: TopBarComponent, isStandalone: true, selector: "spiderly-topbar", inputs: { menu: "menu" }, ngImport: i0, template: "<div class=\"topbar-wrapper\">\r\n <nav class=\"topbar\">\r\n <p-menubar [model]=\"menu\" [style]=\"{ border: '0' }\">\r\n <ng-template #start>\r\n <img style=\"margin-left: 11px; cursor: pointer;\" width=\"45\" height=\"45\" routerLink=\"/\" [src]=\"logoPath\" alt=\"Logo\">\r\n </ng-template>\r\n <ng-template #end>\r\n <div style=\"margin-right: 11px; display: flex; gap: 10px; align-items: center; position: relative;\">\r\n <div>\r\n <ng-content select=\"[ACTIONS]\"></ng-content>\r\n </div>\r\n <spiderly-profile-avatar [isSideMenuLayout]=\"false\"></spiderly-profile-avatar>\r\n </div>\r\n </ng-template>\r\n </p-menubar>\r\n </nav>\r\n</div>", styles: [".topbar-wrapper{background-color:var(--p-content-background);width:100%;border-bottom:1px solid var(--p-content-border-color);box-shadow:0 4px 6px #0000001a;position:sticky;top:0;left:0;z-index:1000}.topbar{max-width:1100px;margin:auto}::ng-deep .p-menubar-item-link{padding:10px!important;font-size:15px!important}::ng-deep .p-menubar-item-link .pi{font-size:15px}::ng-deep .p-menubar-button{width:35px!important;height:35px!important}::ng-deep .p-menubar-button .p-icon{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MenubarModule }, { kind: "component", type: i3$5.Menubar, selector: "p-menubar", inputs: ["model", "style", "styleClass", "autoZIndex", "baseZIndex", "autoDisplay", "autoHide", "breakpoint", "autoHideDelay", "id", "ariaLabel", "ariaLabelledBy"], outputs: ["onFocus", "onBlur"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: ProfileAvatarComponent, selector: "spiderly-profile-avatar", inputs: ["isSideMenuLayout"] }] }); }
|
|
4137
|
+
}
|
|
4138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
4139
|
+
type: Component,
|
|
4140
|
+
args: [{ selector: 'spiderly-topbar', imports: [
|
|
4141
|
+
CommonModule,
|
|
4142
|
+
RouterModule,
|
|
4143
|
+
MenubarModule,
|
|
4144
|
+
AvatarModule,
|
|
4145
|
+
ProfileAvatarComponent,
|
|
4146
|
+
], template: "<div class=\"topbar-wrapper\">\r\n <nav class=\"topbar\">\r\n <p-menubar [model]=\"menu\" [style]=\"{ border: '0' }\">\r\n <ng-template #start>\r\n <img style=\"margin-left: 11px; cursor: pointer;\" width=\"45\" height=\"45\" routerLink=\"/\" [src]=\"logoPath\" alt=\"Logo\">\r\n </ng-template>\r\n <ng-template #end>\r\n <div style=\"margin-right: 11px; display: flex; gap: 10px; align-items: center; position: relative;\">\r\n <div>\r\n <ng-content select=\"[ACTIONS]\"></ng-content>\r\n </div>\r\n <spiderly-profile-avatar [isSideMenuLayout]=\"false\"></spiderly-profile-avatar>\r\n </div>\r\n </ng-template>\r\n </p-menubar>\r\n </nav>\r\n</div>", styles: [".topbar-wrapper{background-color:var(--p-content-background);width:100%;border-bottom:1px solid var(--p-content-border-color);box-shadow:0 4px 6px #0000001a;position:sticky;top:0;left:0;z-index:1000}.topbar{max-width:1100px;margin:auto}::ng-deep .p-menubar-item-link{padding:10px!important;font-size:15px!important}::ng-deep .p-menubar-item-link .pi{font-size:15px}::ng-deep .p-menubar-button{width:35px!important;height:35px!important}::ng-deep .p-menubar-button .p-icon{width:16px;height:16px}\n"] }]
|
|
4147
|
+
}], ctorParameters: () => [{ type: ConfigBaseService }], propDecorators: { menu: [{
|
|
4148
|
+
type: Input
|
|
4149
|
+
}] } });
|
|
4150
|
+
|
|
4151
|
+
class SpiderlyLayoutComponent {
|
|
4174
4152
|
constructor(layoutService, renderer, router) {
|
|
4175
4153
|
this.layoutService = layoutService;
|
|
4176
4154
|
this.renderer = renderer;
|
|
4177
4155
|
this.router = router;
|
|
4156
|
+
this.menu = [];
|
|
4157
|
+
this.sideMenu = [];
|
|
4158
|
+
this.topMenu = [];
|
|
4159
|
+
this.isSideMenuLayout = true;
|
|
4178
4160
|
this.onAfterNgDestroy = () => { };
|
|
4179
4161
|
this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
|
|
4180
4162
|
if (!this.menuOutsideClickListener) {
|
|
4181
4163
|
this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {
|
|
4182
|
-
const isOutsideClicked = !(this.appSidebar
|
|
4183
|
-
this.appSidebar
|
|
4184
|
-
this.
|
|
4185
|
-
this.
|
|
4164
|
+
const isOutsideClicked = !(this.appSidebar?.el.nativeElement.isSameNode(event.target) ||
|
|
4165
|
+
this.appSidebar?.el.nativeElement.contains(event.target) ||
|
|
4166
|
+
this.sidemenuTopbar?.menuButton?.nativeElement.isSameNode(event.target) ||
|
|
4167
|
+
this.sidemenuTopbar?.menuButton?.nativeElement.contains(event.target) ||
|
|
4186
4168
|
(event.target.closest('.p-autocomplete-items')) ||
|
|
4187
4169
|
(event.target.closest('.p-autocomplete-clear-icon')));
|
|
4188
4170
|
if (isOutsideClicked) {
|
|
@@ -4192,8 +4174,8 @@ class LayoutBaseComponent {
|
|
|
4192
4174
|
}
|
|
4193
4175
|
if (!this.profileMenuOutsideClickListener) {
|
|
4194
4176
|
this.profileMenuOutsideClickListener = this.renderer.listen('document', 'click', event => {
|
|
4195
|
-
const isOutsideClicked = !(this.
|
|
4196
|
-
this.
|
|
4177
|
+
const isOutsideClicked = !(this.topbarmenu?.nativeElement.isSameNode(event.target) ||
|
|
4178
|
+
this.topbarmenu?.nativeElement.contains(event.target));
|
|
4197
4179
|
if (isOutsideClicked) {
|
|
4198
4180
|
this.hideProfileMenu();
|
|
4199
4181
|
}
|
|
@@ -4209,6 +4191,14 @@ class LayoutBaseComponent {
|
|
|
4209
4191
|
this.hideProfileMenu();
|
|
4210
4192
|
});
|
|
4211
4193
|
}
|
|
4194
|
+
ngOnInit() {
|
|
4195
|
+
if (this.isSideMenuLayout) {
|
|
4196
|
+
this.sideMenu = [...this.menu];
|
|
4197
|
+
}
|
|
4198
|
+
else {
|
|
4199
|
+
this.topMenu = [...this.menu[0].items];
|
|
4200
|
+
}
|
|
4201
|
+
}
|
|
4212
4202
|
hideMenu() {
|
|
4213
4203
|
this.layoutService.state.overlayMenuActive = false;
|
|
4214
4204
|
this.layoutService.state.staticMenuMobileActive = false;
|
|
@@ -4265,22 +4255,32 @@ class LayoutBaseComponent {
|
|
|
4265
4255
|
}
|
|
4266
4256
|
this.onAfterNgDestroy();
|
|
4267
4257
|
}
|
|
4268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type:
|
|
4269
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type:
|
|
4258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyLayoutComponent, deps: [{ token: LayoutBaseService }, { token: i0.Renderer2 }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyLayoutComponent, isStandalone: true, selector: "spiderly-layout", inputs: { menu: "menu", isSideMenuLayout: "isSideMenuLayout" }, viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "sidemenuTopbar", first: true, predicate: SideMenuTopBarComponent, descendants: true }, { propertyName: "topbarmenu", first: true, predicate: ["topbarmenu"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"isSideMenuLayout\" class=\"layout-wrapper\" [ngClass]=\"containerClass\">\r\n <spiderly-sidemenu-topbar></spiderly-sidemenu-topbar>\r\n <div class=\"layout-sidebar\">\r\n <sidebar [menu]=\"sideMenu\"></sidebar>\r\n </div>\r\n <div class=\"layout-main-container\">\r\n <div class=\"layout-main\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <footer></footer>\r\n </div>\r\n <div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"isSideMenuLayout === false\">\r\n <spiderly-topbar [menu]=\"topMenu\">\r\n <ng-content ACTIONS select=\"[ACTIONS]\"></ng-content>\r\n </spiderly-topbar>\r\n <main style=\"max-width: 1100px; margin: auto; padding: 18px;\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AppSidebarComponent, selector: "sidebar", inputs: ["menu"] }, { kind: "component", type: FooterComponent, selector: "footer" }, { kind: "component", type: SideMenuTopBarComponent, selector: "spiderly-sidemenu-topbar" }, { kind: "component", type: TopBarComponent, selector: "spiderly-topbar", inputs: ["menu"] }] }); }
|
|
4270
4260
|
}
|
|
4271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type:
|
|
4261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyLayoutComponent, decorators: [{
|
|
4272
4262
|
type: Component,
|
|
4273
|
-
args: [{
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4263
|
+
args: [{ selector: 'spiderly-layout', imports: [
|
|
4264
|
+
CommonModule,
|
|
4265
|
+
RouterModule,
|
|
4266
|
+
AppSidebarComponent,
|
|
4267
|
+
FooterComponent,
|
|
4268
|
+
SideMenuTopBarComponent,
|
|
4269
|
+
TopBarComponent,
|
|
4270
|
+
], template: "<div *ngIf=\"isSideMenuLayout\" class=\"layout-wrapper\" [ngClass]=\"containerClass\">\r\n <spiderly-sidemenu-topbar></spiderly-sidemenu-topbar>\r\n <div class=\"layout-sidebar\">\r\n <sidebar [menu]=\"sideMenu\"></sidebar>\r\n </div>\r\n <div class=\"layout-main-container\">\r\n <div class=\"layout-main\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <footer></footer>\r\n </div>\r\n <div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"isSideMenuLayout === false\">\r\n <spiderly-topbar [menu]=\"topMenu\">\r\n <ng-content ACTIONS select=\"[ACTIONS]\"></ng-content>\r\n </spiderly-topbar>\r\n <main style=\"max-width: 1100px; margin: auto; padding: 18px;\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n</div>" }]
|
|
4271
|
+
}], ctorParameters: () => [{ type: LayoutBaseService }, { type: i0.Renderer2 }, { type: i3.Router }], propDecorators: { menu: [{
|
|
4272
|
+
type: Input
|
|
4273
|
+
}], isSideMenuLayout: [{
|
|
4274
|
+
type: Input
|
|
4275
|
+
}], appSidebar: [{
|
|
4279
4276
|
type: ViewChild,
|
|
4280
4277
|
args: [AppSidebarComponent]
|
|
4281
|
-
}],
|
|
4278
|
+
}], sidemenuTopbar: [{
|
|
4279
|
+
type: ViewChild,
|
|
4280
|
+
args: [SideMenuTopBarComponent]
|
|
4281
|
+
}], topbarmenu: [{
|
|
4282
4282
|
type: ViewChild,
|
|
4283
|
-
args: [
|
|
4283
|
+
args: ['topbarmenu']
|
|
4284
4284
|
}] } });
|
|
4285
4285
|
|
|
4286
4286
|
// FT HACK: Fake class, because of api imports
|
|
@@ -4600,6 +4600,22 @@ const unauthorizedInterceptor = (req, next) => {
|
|
|
4600
4600
|
}));
|
|
4601
4601
|
};
|
|
4602
4602
|
|
|
4603
|
+
class SpiderlyTemplateTypeDirective {
|
|
4604
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
4605
|
+
return true;
|
|
4606
|
+
}
|
|
4607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTemplateTypeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4608
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: SpiderlyTemplateTypeDirective, isStandalone: true, selector: "[templateType]", inputs: { templateType: "templateType" }, ngImport: i0 }); }
|
|
4609
|
+
}
|
|
4610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SpiderlyTemplateTypeDirective, decorators: [{
|
|
4611
|
+
type: Directive,
|
|
4612
|
+
args: [{
|
|
4613
|
+
selector: '[templateType]',
|
|
4614
|
+
}]
|
|
4615
|
+
}], propDecorators: { templateType: [{
|
|
4616
|
+
type: Input
|
|
4617
|
+
}] } });
|
|
4618
|
+
|
|
4603
4619
|
/*
|
|
4604
4620
|
* Public API Surface of spiderly
|
|
4605
4621
|
*/
|
|
@@ -4608,5 +4624,5 @@ const unauthorizedInterceptor = (req, next) => {
|
|
|
4608
4624
|
* Generated bundle index. Do not edit.
|
|
4609
4625
|
*/
|
|
4610
4626
|
|
|
4611
|
-
export { Action, AllClickEvent, ApiSecurityService, AppSidebarComponent,
|
|
4627
|
+
export { Action, AllClickEvent, ApiSecurityService, AppSidebarComponent, AuthBaseService, AuthGuard, AuthResult, BaseAutocompleteControl, BaseControl, BaseDropdownControl, BaseEntity, BaseFormCopy, BaseFormService, CardSkeletonComponent, Codebook, Column, ConfigBaseService, ExternalProvider, FooterComponent, GoogleButtonComponent, IndexCardComponent, InfoCardComponent, InitCompanyAuthDialogDetails, InitTopBarData, IsAuthorizedForSaveEvent, JwtAuthResult, LastMenuIconIndexClicked, LayoutBaseService, LazyLoadSelectedIdsResult, Login, LoginComponent, LoginVerificationComponent, LoginVerificationResultStatusCodes, LoginVerificationToken, MatchModeCodes, MenuChangeEvent, MenuitemComponent, MimeTypes, Namebook, NotAuthGuard, NotFoundComponent, PanelBodyComponent, PanelFooterComponent, PanelHeaderComponent, Permission, PermissionSaveBody, PrimengOption, RefreshToken, RefreshTokenRequest, Registration, RegistrationComponent, RegistrationVerificationComponent, RegistrationVerificationResult, RegistrationVerificationResultStatusCodes, RegistrationVerificationToken, RequiredComponent, Role, RoleBaseDetailsComponent, RoleMainUIForm, RolePermission, RolePermissionSaveBody, RoleSaveBody, RowClickEvent, SecurityPermissionCodes, SideMenuTopBarComponent, SidebarMenuComponent, SimpleSaveResult, SpiderlyAutocompleteComponent, SpiderlyButton, SpiderlyButtonBaseComponent, SpiderlyButtonComponent, SpiderlyCalendarComponent, SpiderlyCardComponent, SpiderlyCheckboxComponent, SpiderlyColorpickComponent, SpiderlyControlsModule, SpiderlyDataTableComponent, SpiderlyDataViewComponent, SpiderlyDeleteConfirmationComponent, SpiderlyDropdownComponent, SpiderlyEditorComponent, SpiderlyErrorHandler, SpiderlyFileComponent, SpiderlyFileSelectEvent, SpiderlyFormArray, SpiderlyFormControl, SpiderlyFormGroup, SpiderlyLayoutComponent, SpiderlyMessageService, SpiderlyMultiAutocompleteComponent, SpiderlyMultiSelectComponent, SpiderlyNumberComponent, SpiderlyPanelComponent, SpiderlyPanelsModule, SpiderlyPasswordComponent, SpiderlyReturnButtonComponent, SpiderlySplitButtonComponent, SpiderlyTab, SpiderlyTemplateTypeDirective, SpiderlyTextareaComponent, SpiderlyTextboxComponent, SpiderlyTranslocoFallbackStrategy, SpiderlyTranslocoLoader, SpiderlyTranslocoMissingHandler, SpiderlyTranslocoModule, TableFilter, TableFilterContext, TableFilterSortMeta, TableResponse, TopBarComponent, TranslateLabelsAbstractService, User, UserRole, UserRoleSaveBody, ValidatorAbstractService, VerificationTokenRequest, VerificationTypeCodes, VerificationWrapperComponent, adjustColor, authInitializer, capitalizeFirstLetter, deleteAction, exportListToExcel, getControl, getFileNameFromContentDisposition, getHtmlImgDisplayString64, getMimeTypeForFileName, getMonth, getParentUrl, getPrimengAutocompleteCodebookOptions, getPrimengAutocompleteNamebookOptions, getPrimengDropdownCodebookOptions, getPrimengDropdownNamebookOptions, httpLoadingInterceptor, isExcelFileType, isImageFileType, isNullOrEmpty, jsonHttpInterceptor, jwtInterceptor, nameOf, nameof, provideSpiderlyCore, provideSpiderlyTransloco, pushAction, selectedTab, singleOrDefault, toCommaSeparatedString, unauthorizedInterceptor, validatePrecisionScale };
|
|
4612
4628
|
//# sourceMappingURL=spiderly.mjs.map
|