ng-tailwind 4.2.28 → 4.3.30
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/components/ngt-action/ngt-action.component.d.ts +15 -4
- package/components/ngt-button/ngt-button.component.d.ts +8 -5
- package/components/ngt-checkbox/ngt-checkbox.component.d.ts +10 -6
- package/components/ngt-form/ngt-form.component.d.ts +6 -3
- package/components/ngt-radio-button/ngt-radio-button.component.d.ts +10 -5
- package/components/ngt-section/ngt-section.component.d.ts +6 -3
- package/components/ngt-select/ngt-select.component.d.ts +8 -5
- package/esm2020/components/ngt-action/ngt-action.component.mjs +59 -9
- package/esm2020/components/ngt-button/ngt-button.component.mjs +35 -26
- package/esm2020/components/ngt-checkbox/ngt-checkbox.component.mjs +46 -19
- package/esm2020/components/ngt-datatable/ngt-datatable.component.mjs +4 -2
- package/esm2020/components/ngt-form/ngt-form.component.mjs +14 -4
- package/esm2020/components/ngt-input/ngt-input.component.mjs +28 -10
- package/esm2020/components/ngt-radio-button/ngt-radio-button.component.mjs +46 -18
- package/esm2020/components/ngt-section/ngt-section.component.mjs +13 -3
- package/esm2020/components/ngt-select/ngt-select.component.mjs +66 -36
- package/esm2020/components/ngt-shining/ngt-shining.component.mjs +2 -2
- package/fesm2015/ng-tailwind.mjs +812 -617
- package/fesm2015/ng-tailwind.mjs.map +1 -1
- package/fesm2020/ng-tailwind.mjs +803 -624
- package/fesm2020/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -1
package/fesm2020/ng-tailwind.mjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as i2 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Directive, Input, NgModule, ElementRef, Component, ViewEncapsulation, ViewChild,
|
|
5
|
-
import * as i2$
|
|
4
|
+
import { Directive, Input, NgModule, ElementRef, Component, ViewEncapsulation, ViewChild, Optional, EventEmitter, Host, Output, SkipSelf, Self, forwardRef, TemplateRef, ContentChild, HostBinding, HostListener } from '@angular/core';
|
|
5
|
+
import * as i2$1 from '@angular/forms';
|
|
6
6
|
import { NG_VALUE_ACCESSOR, ControlContainer, NgForm, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
-
import * as i2$
|
|
7
|
+
import * as i2$2 from '@angular/router';
|
|
8
8
|
import { RouterModule } from '@angular/router';
|
|
9
9
|
import { HttpClientModule } from '@angular/common/http';
|
|
10
10
|
import * as i1 from 'angular-svg-icon';
|
|
11
11
|
import { SvgIconComponent, AngularSvgIconModule } from 'angular-svg-icon';
|
|
12
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
13
12
|
import { Observable, zip, Subject, forkJoin } from 'rxjs';
|
|
13
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
14
14
|
import Inputmask from 'inputmask/dist/inputmask.es6.js';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i8 from '@ng-select/ng-select';
|
|
16
16
|
import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';
|
|
17
17
|
import * as i5 from 'ng2-flatpickr';
|
|
18
18
|
import { Ng2FlatpickrModule } from 'ng2-flatpickr';
|
|
@@ -685,200 +685,369 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
685
685
|
}]
|
|
686
686
|
}] });
|
|
687
687
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
694
|
-
}
|
|
695
|
-
else {
|
|
696
|
-
this.ngtStyle = new NgtStylizableService();
|
|
697
|
-
}
|
|
698
|
-
this.ngtStyle.load(this.injector, 'NgtAction', {
|
|
699
|
-
h: 'h-full',
|
|
700
|
-
w: 'w-full',
|
|
701
|
-
color: {
|
|
702
|
-
bg: 'bg-gray-500',
|
|
703
|
-
text: 'text-white',
|
|
704
|
-
border: '',
|
|
705
|
-
},
|
|
706
|
-
text: 'text-xl',
|
|
707
|
-
border: 'border-0',
|
|
708
|
-
});
|
|
709
|
-
}
|
|
710
|
-
onClick(event) {
|
|
711
|
-
if (this.isDisabled) {
|
|
712
|
-
event.stopPropagation();
|
|
713
|
-
}
|
|
714
|
-
}
|
|
688
|
+
function resetNgForm(ngForm) {
|
|
689
|
+
ngForm.resetForm();
|
|
690
|
+
setTimeout(() => {
|
|
691
|
+
ngForm.reset();
|
|
692
|
+
}, 500);
|
|
715
693
|
}
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
type: Self
|
|
723
|
-
}, {
|
|
724
|
-
type: Optional
|
|
725
|
-
}] }]; }, propDecorators: { href: [{
|
|
726
|
-
type: Input
|
|
727
|
-
}], icon: [{
|
|
728
|
-
type: Input
|
|
729
|
-
}], ngtStyle: [{
|
|
730
|
-
type: Input
|
|
731
|
-
}], isDisabled: [{
|
|
732
|
-
type: Input
|
|
733
|
-
}] } });
|
|
734
|
-
|
|
735
|
-
class NgtActionModule {
|
|
694
|
+
function triggerNgFormSubmit(ngForm) {
|
|
695
|
+
ngForm.onSubmit(new Event("submit"));
|
|
696
|
+
}
|
|
697
|
+
function isValidNgForm(ngForm) {
|
|
698
|
+
triggerNgFormSubmit(ngForm);
|
|
699
|
+
return ngForm.valid;
|
|
736
700
|
}
|
|
737
|
-
NgtActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
738
|
-
NgtActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, declarations: [NgtActionComponent], imports: [CommonModule,
|
|
739
|
-
RouterModule,
|
|
740
|
-
NgtSvgModule], exports: [NgtActionComponent] });
|
|
741
|
-
NgtActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, imports: [CommonModule,
|
|
742
|
-
RouterModule,
|
|
743
|
-
NgtSvgModule] });
|
|
744
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, decorators: [{
|
|
745
|
-
type: NgModule,
|
|
746
|
-
args: [{
|
|
747
|
-
declarations: [NgtActionComponent],
|
|
748
|
-
exports: [NgtActionComponent],
|
|
749
|
-
imports: [
|
|
750
|
-
CommonModule,
|
|
751
|
-
RouterModule,
|
|
752
|
-
NgtSvgModule
|
|
753
|
-
]
|
|
754
|
-
}]
|
|
755
|
-
}] });
|
|
756
701
|
|
|
757
|
-
function
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
702
|
+
function getIdFromUri(route, routeIdentifier) {
|
|
703
|
+
return Observable.create((observer) => {
|
|
704
|
+
zip(route.parent.params, route.params)
|
|
705
|
+
.subscribe((results) => {
|
|
706
|
+
let params = { ...results[0], ...results[1] };
|
|
707
|
+
observer.next(params[routeIdentifier]);
|
|
708
|
+
});
|
|
709
|
+
});
|
|
762
710
|
}
|
|
763
711
|
|
|
764
|
-
|
|
765
|
-
return [
|
|
766
|
-
Math.random().toString(36).substr(2, 9),
|
|
767
|
-
Math.random().toString(36).substr(2, 9),
|
|
768
|
-
Math.random().toString(36).substr(2, 9),
|
|
769
|
-
Math.random().toString(36).substr(2, 9)
|
|
770
|
-
].join('_');
|
|
712
|
+
class NgtHttpFormService {
|
|
771
713
|
}
|
|
772
|
-
;
|
|
773
714
|
|
|
774
|
-
class
|
|
775
|
-
constructor() {
|
|
776
|
-
this.
|
|
777
|
-
}
|
|
778
|
-
setActiveDropdown(activeDropdown) {
|
|
779
|
-
this.onActiveDropdownChange.emit(activeDropdown);
|
|
715
|
+
class NgtFormValidationMessageComponent {
|
|
716
|
+
constructor(ngtTranslateService) {
|
|
717
|
+
this.ngtTranslateService = ngtTranslateService;
|
|
780
718
|
}
|
|
781
719
|
}
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type:
|
|
720
|
+
NgtFormValidationMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, deps: [{ token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
721
|
+
NgtFormValidationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: { canShowValidationMessage: "canShowValidationMessage", message: "message" }, ngImport: i0, template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, decorators: [{
|
|
785
723
|
type: Component,
|
|
786
|
-
args: [{ selector: '
|
|
787
|
-
}],
|
|
788
|
-
|
|
724
|
+
args: [{ selector: 'ngt-form-validation-message', template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>" }]
|
|
725
|
+
}], ctorParameters: function () { return [{ type: NgtTranslateService, decorators: [{
|
|
726
|
+
type: Optional
|
|
727
|
+
}] }]; }, propDecorators: { canShowValidationMessage: [{
|
|
728
|
+
type: Input
|
|
729
|
+
}], message: [{
|
|
730
|
+
type: Input
|
|
789
731
|
}] } });
|
|
790
732
|
|
|
791
|
-
class
|
|
792
|
-
constructor(
|
|
793
|
-
this.
|
|
794
|
-
this.
|
|
795
|
-
this.
|
|
796
|
-
this.
|
|
797
|
-
this.
|
|
798
|
-
this.
|
|
799
|
-
this.
|
|
800
|
-
this.
|
|
801
|
-
this.
|
|
802
|
-
this.
|
|
733
|
+
class NgtFormComponent {
|
|
734
|
+
constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
|
|
735
|
+
this.formContainer = formContainer;
|
|
736
|
+
this.ngForm = ngForm;
|
|
737
|
+
this.router = router;
|
|
738
|
+
this.route = route;
|
|
739
|
+
this.ngtHttpFormService = ngtHttpFormService;
|
|
740
|
+
this.guessFormState = true;
|
|
741
|
+
this.message = '';
|
|
742
|
+
this.routeIdentifier = 'id';
|
|
743
|
+
this.onCreating = new EventEmitter;
|
|
744
|
+
this.onEditing = new EventEmitter;
|
|
745
|
+
this.onLoadingChange = new EventEmitter;
|
|
746
|
+
this.onShiningChange = new EventEmitter;
|
|
747
|
+
this.onIsDisabledChange = new EventEmitter;
|
|
748
|
+
this.setupComponent = new EventEmitter;
|
|
749
|
+
this.onResourceLoadingError = new EventEmitter;
|
|
803
750
|
this.subscriptions = [];
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
751
|
+
}
|
|
752
|
+
ngOnInit() {
|
|
753
|
+
if (this.guessFormState) {
|
|
754
|
+
this.subscriptions.push(this.determineFormState().subscribe(() => {
|
|
755
|
+
this.setupComponent.emit();
|
|
807
756
|
}));
|
|
808
757
|
}
|
|
758
|
+
else {
|
|
759
|
+
this.setupComponent.emit();
|
|
760
|
+
}
|
|
761
|
+
this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
|
|
762
|
+
if (!this.ngForm.valid) {
|
|
763
|
+
NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
|
|
764
|
+
}
|
|
765
|
+
}));
|
|
809
766
|
}
|
|
810
767
|
ngOnChanges(changes) {
|
|
811
|
-
if (changes.
|
|
812
|
-
this.
|
|
768
|
+
if (changes.isDisabled) {
|
|
769
|
+
this.onIsDisabledChange.emit(changes.isDisabled.currentValue);
|
|
813
770
|
}
|
|
814
771
|
}
|
|
815
772
|
ngOnDestroy() {
|
|
816
773
|
this.destroySubscriptions();
|
|
817
774
|
}
|
|
818
|
-
|
|
819
|
-
this.
|
|
820
|
-
this.ngtDropdownContainer?.setActiveDropdown(this);
|
|
821
|
-
this.changeDetector.detectChanges();
|
|
822
|
-
this.bindContainerXPosition();
|
|
823
|
-
this.bindContainerYPosition();
|
|
775
|
+
isCreating() {
|
|
776
|
+
return this.formState === NgtFormState.CREATING;
|
|
824
777
|
}
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
this.close();
|
|
828
|
-
}
|
|
778
|
+
isEditing() {
|
|
779
|
+
return this.formState === NgtFormState.EDITING;
|
|
829
780
|
}
|
|
830
|
-
|
|
831
|
-
this.
|
|
832
|
-
this.containerXPosition = null;
|
|
833
|
-
this.containerYPosition = null;
|
|
781
|
+
isLoading() {
|
|
782
|
+
return this.loading;
|
|
834
783
|
}
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
if (this.isOpen) {
|
|
838
|
-
this.close();
|
|
839
|
-
}
|
|
840
|
-
else {
|
|
841
|
-
this.open();
|
|
842
|
-
}
|
|
843
|
-
this.onToggle.emit(this.isOpen);
|
|
844
|
-
});
|
|
784
|
+
isShining() {
|
|
785
|
+
return this.shining;
|
|
845
786
|
}
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
this.
|
|
849
|
-
this.
|
|
850
|
-
|
|
787
|
+
canShowValidationMessage() {
|
|
788
|
+
return this.formContainer &&
|
|
789
|
+
this.formContainer['submitted'] &&
|
|
790
|
+
this.formContainer.status != 'VALID' &&
|
|
791
|
+
this.formContainer.status != 'DISABLED';
|
|
851
792
|
}
|
|
852
|
-
|
|
853
|
-
this.
|
|
854
|
-
|
|
855
|
-
event.preventDefault();
|
|
856
|
-
event.stopPropagation();
|
|
857
|
-
this.toggle();
|
|
858
|
-
}
|
|
859
|
-
if (this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK) {
|
|
860
|
-
this.watchHover(host, container);
|
|
861
|
-
}
|
|
793
|
+
setShining(shining) {
|
|
794
|
+
this.shining = shining;
|
|
795
|
+
this.onShiningChange.emit(this.shining);
|
|
862
796
|
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
797
|
+
setLoading(loading) {
|
|
798
|
+
this.loading = loading;
|
|
799
|
+
this.onLoadingChange.emit(this.loading);
|
|
800
|
+
}
|
|
801
|
+
setFormState(state, triggerChange = true) {
|
|
802
|
+
this.formState = state;
|
|
803
|
+
if (triggerChange) {
|
|
804
|
+
this.triggerFormStateChange();
|
|
868
805
|
}
|
|
869
806
|
}
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
807
|
+
getFormState() {
|
|
808
|
+
return this.formState;
|
|
809
|
+
}
|
|
810
|
+
triggerFormStateChange() {
|
|
811
|
+
if (this.isEditing()) {
|
|
812
|
+
this.triggerFormEditing();
|
|
873
813
|
}
|
|
874
|
-
if (this.
|
|
875
|
-
this.
|
|
876
|
-
return this.isXPositionReversed;
|
|
814
|
+
else if (this.isCreating()) {
|
|
815
|
+
this.triggerFormCreating();
|
|
877
816
|
}
|
|
878
817
|
}
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
818
|
+
formHasChanges() {
|
|
819
|
+
return this.ngForm.dirty;
|
|
820
|
+
}
|
|
821
|
+
saveResource() {
|
|
822
|
+
return new Observable((observer) => {
|
|
823
|
+
if (isValidNgForm(this.ngForm)) {
|
|
824
|
+
this.setLoading(true);
|
|
825
|
+
this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
|
|
826
|
+
.subscribe((response) => {
|
|
827
|
+
this.setLoading(false);
|
|
828
|
+
observer.next(response);
|
|
829
|
+
observer.complete();
|
|
830
|
+
}));
|
|
831
|
+
}
|
|
832
|
+
else {
|
|
833
|
+
observer.error();
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
triggerFormCreating() {
|
|
838
|
+
this.onCreating.emit();
|
|
839
|
+
}
|
|
840
|
+
triggerFormEditing() {
|
|
841
|
+
if (this.uriId && this.resource) {
|
|
842
|
+
this.setLoading(true);
|
|
843
|
+
this.setShining(true);
|
|
844
|
+
this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
|
|
845
|
+
.subscribe((resource) => {
|
|
846
|
+
this.setLoading(false);
|
|
847
|
+
this.setShining(false);
|
|
848
|
+
this.onEditing.emit(resource);
|
|
849
|
+
setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
|
|
850
|
+
}, (error) => {
|
|
851
|
+
this.setLoading(false);
|
|
852
|
+
this.setShining(false);
|
|
853
|
+
this.onResourceLoadingError.emit(error);
|
|
854
|
+
}));
|
|
855
|
+
return;
|
|
856
|
+
}
|
|
857
|
+
this.onEditing.emit(null);
|
|
858
|
+
}
|
|
859
|
+
determineFormState() {
|
|
860
|
+
return new Observable((observer) => {
|
|
861
|
+
this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
|
|
862
|
+
this.uriId = id;
|
|
863
|
+
if (this.uriId) {
|
|
864
|
+
this.setFormState(NgtFormState.EDITING);
|
|
865
|
+
}
|
|
866
|
+
else {
|
|
867
|
+
this.setFormState(NgtFormState.CREATING);
|
|
868
|
+
}
|
|
869
|
+
observer.next();
|
|
870
|
+
}));
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
destroySubscriptions() {
|
|
874
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
875
|
+
this.subscriptions = [];
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
|
|
879
|
+
NgtFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, deps: [{ token: i2$1.ControlContainer, host: true, optional: true }, { token: i2$1.NgForm, host: true, optional: true }, { token: i2$2.Router }, { token: i2$2.ActivatedRoute }, { token: NgtHttpFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
880
|
+
NgtFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormComponent, selector: "ngt-form", inputs: { guessFormState: "guessFormState", message: "message", routeIdentifier: "routeIdentifier", resource: "resource", customLayout: "customLayout", isDisabled: "isDisabled" }, outputs: { onCreating: "onCreating", onEditing: "onEditing", onLoadingChange: "onLoadingChange", onShiningChange: "onShiningChange", onIsDisabledChange: "onIsDisabledChange", setupComponent: "setupComponent", onResourceLoadingError: "onResourceLoadingError" }, usesOnChanges: true, ngImport: i0, template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\">\n <ng-content></ng-content>\n</fieldset>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: ["canShowValidationMessage", "message"] }] });
|
|
881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, decorators: [{
|
|
882
|
+
type: Component,
|
|
883
|
+
args: [{ selector: 'ngt-form', template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\">\n <ng-content></ng-content>\n</fieldset>" }]
|
|
884
|
+
}], ctorParameters: function () { return [{ type: i2$1.ControlContainer, decorators: [{
|
|
885
|
+
type: Optional
|
|
886
|
+
}, {
|
|
887
|
+
type: Host
|
|
888
|
+
}] }, { type: i2$1.NgForm, decorators: [{
|
|
889
|
+
type: Optional
|
|
890
|
+
}, {
|
|
891
|
+
type: Host
|
|
892
|
+
}] }, { type: i2$2.Router }, { type: i2$2.ActivatedRoute }, { type: NgtHttpFormService }]; }, propDecorators: { guessFormState: [{
|
|
893
|
+
type: Input
|
|
894
|
+
}], message: [{
|
|
895
|
+
type: Input
|
|
896
|
+
}], routeIdentifier: [{
|
|
897
|
+
type: Input
|
|
898
|
+
}], resource: [{
|
|
899
|
+
type: Input
|
|
900
|
+
}], customLayout: [{
|
|
901
|
+
type: Input
|
|
902
|
+
}], isDisabled: [{
|
|
903
|
+
type: Input
|
|
904
|
+
}], onCreating: [{
|
|
905
|
+
type: Output
|
|
906
|
+
}], onEditing: [{
|
|
907
|
+
type: Output
|
|
908
|
+
}], onLoadingChange: [{
|
|
909
|
+
type: Output
|
|
910
|
+
}], onShiningChange: [{
|
|
911
|
+
type: Output
|
|
912
|
+
}], onIsDisabledChange: [{
|
|
913
|
+
type: Output
|
|
914
|
+
}], setupComponent: [{
|
|
915
|
+
type: Output
|
|
916
|
+
}], onResourceLoadingError: [{
|
|
917
|
+
type: Output
|
|
918
|
+
}] } });
|
|
919
|
+
var NgtFormState;
|
|
920
|
+
(function (NgtFormState) {
|
|
921
|
+
NgtFormState["CREATING"] = "CREATING";
|
|
922
|
+
NgtFormState["EDITING"] = "EDITING";
|
|
923
|
+
})(NgtFormState || (NgtFormState = {}));
|
|
924
|
+
;
|
|
925
|
+
|
|
926
|
+
function getEnumFromString(string, enumClass) {
|
|
927
|
+
if (string && enumClass && enumClass[string.toUpperCase()]) {
|
|
928
|
+
return enumClass[string.toUpperCase()];
|
|
929
|
+
}
|
|
930
|
+
throw new Error('Invalid enum [' + string + ']!');
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
function uuid() {
|
|
934
|
+
return [
|
|
935
|
+
Math.random().toString(36).substr(2, 9),
|
|
936
|
+
Math.random().toString(36).substr(2, 9),
|
|
937
|
+
Math.random().toString(36).substr(2, 9),
|
|
938
|
+
Math.random().toString(36).substr(2, 9)
|
|
939
|
+
].join('_');
|
|
940
|
+
}
|
|
941
|
+
;
|
|
942
|
+
|
|
943
|
+
class NgtDropdownContainerComponent {
|
|
944
|
+
constructor() {
|
|
945
|
+
this.onActiveDropdownChange = new EventEmitter();
|
|
946
|
+
}
|
|
947
|
+
setActiveDropdown(activeDropdown) {
|
|
948
|
+
this.onActiveDropdownChange.emit(activeDropdown);
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
NgtDropdownContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropdownContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
952
|
+
NgtDropdownContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtDropdownContainerComponent, selector: "[ngt-dropdown-container]", outputs: { onActiveDropdownChange: "onActiveDropdownChange" }, ngImport: i0, template: "<ng-content></ng-content>" });
|
|
953
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropdownContainerComponent, decorators: [{
|
|
954
|
+
type: Component,
|
|
955
|
+
args: [{ selector: '[ngt-dropdown-container]', template: "<ng-content></ng-content>" }]
|
|
956
|
+
}], propDecorators: { onActiveDropdownChange: [{
|
|
957
|
+
type: Output
|
|
958
|
+
}] } });
|
|
959
|
+
|
|
960
|
+
class NgtDropdownComponent {
|
|
961
|
+
constructor(ngtDropdownContainer, changeDetector) {
|
|
962
|
+
this.ngtDropdownContainer = ngtDropdownContainer;
|
|
963
|
+
this.changeDetector = changeDetector;
|
|
964
|
+
this.autoYReverse = true;
|
|
965
|
+
this.closeTimeout = 1000;
|
|
966
|
+
this.openMethod = NgtDropdownOpenMethod.HOVER;
|
|
967
|
+
this.onToggle = new EventEmitter();
|
|
968
|
+
this.onHostClick = new EventEmitter();
|
|
969
|
+
this.name = uuid();
|
|
970
|
+
this.isBindingYPosition = true;
|
|
971
|
+
this.isBindingXPosition = true;
|
|
972
|
+
this.subscriptions = [];
|
|
973
|
+
if (this.ngtDropdownContainer) {
|
|
974
|
+
this.subscriptions.push(this.ngtDropdownContainer.onActiveDropdownChange.subscribe((activeDropdown) => {
|
|
975
|
+
this.isOpen = (activeDropdown.name === this.name);
|
|
976
|
+
}));
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
ngOnChanges(changes) {
|
|
980
|
+
if (changes.openMethod) {
|
|
981
|
+
this.openMethod = getEnumFromString(changes.openMethod.currentValue, NgtDropdownOpenMethod);
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
ngOnDestroy() {
|
|
985
|
+
this.destroySubscriptions();
|
|
986
|
+
}
|
|
987
|
+
open() {
|
|
988
|
+
this.isOpen = true;
|
|
989
|
+
this.ngtDropdownContainer?.setActiveDropdown(this);
|
|
990
|
+
this.changeDetector.detectChanges();
|
|
991
|
+
this.bindContainerXPosition();
|
|
992
|
+
this.bindContainerYPosition();
|
|
993
|
+
}
|
|
994
|
+
closeOnSelectOption() {
|
|
995
|
+
if (this.closeOnClick) {
|
|
996
|
+
this.close();
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
close() {
|
|
1000
|
+
this.isOpen = false;
|
|
1001
|
+
this.containerXPosition = null;
|
|
1002
|
+
this.containerYPosition = null;
|
|
1003
|
+
}
|
|
1004
|
+
toggle() {
|
|
1005
|
+
setTimeout(() => {
|
|
1006
|
+
if (this.isOpen) {
|
|
1007
|
+
this.close();
|
|
1008
|
+
}
|
|
1009
|
+
else {
|
|
1010
|
+
this.open();
|
|
1011
|
+
}
|
|
1012
|
+
this.onToggle.emit(this.isOpen);
|
|
1013
|
+
});
|
|
1014
|
+
}
|
|
1015
|
+
onHover(host, container) {
|
|
1016
|
+
if (this.openMethod == NgtDropdownOpenMethod.HOVER && host && container) {
|
|
1017
|
+
this.open();
|
|
1018
|
+
this.watchHover(host, container);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
onClick(event, host, container) {
|
|
1022
|
+
this.onHostClick?.emit();
|
|
1023
|
+
if (this.isClickMethod()) {
|
|
1024
|
+
event.preventDefault();
|
|
1025
|
+
event.stopPropagation();
|
|
1026
|
+
this.toggle();
|
|
1027
|
+
}
|
|
1028
|
+
if (this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK) {
|
|
1029
|
+
this.watchHover(host, container);
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
onRightClick(event) {
|
|
1033
|
+
if (this.openMethod == NgtDropdownOpenMethod.RIGHT_CLICK) {
|
|
1034
|
+
event.preventDefault();
|
|
1035
|
+
event.stopPropagation();
|
|
1036
|
+
this.toggle();
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
shouldReverseXPosition() {
|
|
1040
|
+
if (!this.autoXReverse || this.reverseXPosition !== undefined) {
|
|
1041
|
+
return this.reverseXPosition;
|
|
1042
|
+
}
|
|
1043
|
+
if (this.isOpen && !this.isBindingXPosition) {
|
|
1044
|
+
this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);
|
|
1045
|
+
return this.isXPositionReversed;
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
shouldReverseYPosition() {
|
|
1049
|
+
if (!this.autoYReverse || this.reverseYPosition !== undefined) {
|
|
1050
|
+
return this.reverseYPosition;
|
|
882
1051
|
}
|
|
883
1052
|
if (this.isOpen && !this.isBindingYPosition) {
|
|
884
1053
|
this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);
|
|
@@ -1037,14 +1206,252 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
1037
1206
|
type: Input
|
|
1038
1207
|
}], iconTitle: [{
|
|
1039
1208
|
type: Input
|
|
1040
|
-
}], tooltipSize: [{
|
|
1209
|
+
}], tooltipSize: [{
|
|
1210
|
+
type: Input
|
|
1211
|
+
}], autoXReverse: [{
|
|
1212
|
+
type: Input
|
|
1213
|
+
}], helperReverseYPosition: [{
|
|
1214
|
+
type: Input
|
|
1215
|
+
}] } });
|
|
1216
|
+
|
|
1217
|
+
class NgtSectionComponent {
|
|
1218
|
+
constructor(injector, ngtStylizableDirective) {
|
|
1219
|
+
this.injector = injector;
|
|
1220
|
+
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
1221
|
+
this.showSection = true;
|
|
1222
|
+
this.onRemove = new EventEmitter();
|
|
1223
|
+
this.onToggleSection = new EventEmitter();
|
|
1224
|
+
this.onIsDisabledChange = new EventEmitter;
|
|
1225
|
+
this.ngtCaptionStyle = new NgtStylizableService();
|
|
1226
|
+
this.ngtSubtitleStyle = new NgtStylizableService();
|
|
1227
|
+
if (this.ngtStylizableDirective) {
|
|
1228
|
+
this.ngtSectionStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
1229
|
+
}
|
|
1230
|
+
else {
|
|
1231
|
+
this.ngtSectionStyle = new NgtStylizableService();
|
|
1232
|
+
}
|
|
1233
|
+
this.ngtSectionStyle.load(this.injector, 'NgtSection', {
|
|
1234
|
+
h: 'h-12',
|
|
1235
|
+
w: 'w-12',
|
|
1236
|
+
my: 'my-1',
|
|
1237
|
+
pr: 'pr-1',
|
|
1238
|
+
px: 'md:px-5',
|
|
1239
|
+
color: {
|
|
1240
|
+
text: 'text-gray-800'
|
|
1241
|
+
}
|
|
1242
|
+
});
|
|
1243
|
+
this.ngtCaptionStyle.load(this.injector, 'NgtSectionCaption', {
|
|
1244
|
+
text: 'text-sm',
|
|
1245
|
+
font: 'font-normal',
|
|
1246
|
+
ml: 'ml-2',
|
|
1247
|
+
pb: 'pb-2',
|
|
1248
|
+
border: 'border-none',
|
|
1249
|
+
color: {
|
|
1250
|
+
text: 'text-gray-800',
|
|
1251
|
+
border: ''
|
|
1252
|
+
}
|
|
1253
|
+
});
|
|
1254
|
+
this.ngtSubtitleStyle.load(this.injector, 'NgtSectionSubtitle', {
|
|
1255
|
+
text: 'text-xs',
|
|
1256
|
+
font: 'font-normal',
|
|
1257
|
+
border: 'border-none',
|
|
1258
|
+
ml: 'ml-2',
|
|
1259
|
+
color: {
|
|
1260
|
+
text: 'text-gray-500',
|
|
1261
|
+
border: ''
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1264
|
+
}
|
|
1265
|
+
ngOnChanges(changes) {
|
|
1266
|
+
if (changes.isDisabled) {
|
|
1267
|
+
this.onIsDisabledChange.emit(changes.isDisabled.currentValue);
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
open() {
|
|
1271
|
+
this.showSection = true;
|
|
1272
|
+
this.onToggleSection.emit(this.showSection);
|
|
1273
|
+
}
|
|
1274
|
+
close() {
|
|
1275
|
+
this.showSection = false;
|
|
1276
|
+
this.onToggleSection.emit(this.showSection);
|
|
1277
|
+
}
|
|
1278
|
+
toggle() {
|
|
1279
|
+
this.showSection = !this.showSection;
|
|
1280
|
+
this.onToggleSection.emit(this.showSection);
|
|
1281
|
+
}
|
|
1282
|
+
remove(event) {
|
|
1283
|
+
event.stopImmediatePropagation();
|
|
1284
|
+
this.onRemove.emit();
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
NgtSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSectionComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1288
|
+
NgtSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtSectionComponent, selector: "ngt-section", inputs: { icon: "icon", caption: "caption", subtitle: "subtitle", accordion: "accordion", showSection: "showSection", removable: "removable", helpTitle: "helpTitle", helpText: "helpText", helpIconColor: "helpIconColor", isDisabled: "isDisabled" }, outputs: { onRemove: "onRemove", onToggleSection: "onToggleSection", onIsDisabledChange: "onIsDisabledChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex mb-6\">\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l {{ accordion && !showSection ? 'flex' : '' }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center px-5 cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb']) : ngtCaptionStyle.compile(['py']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-8 w-8 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-xl\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], animations: [
|
|
1289
|
+
trigger('enterAnimation', [
|
|
1290
|
+
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
1291
|
+
transition(':enter', [
|
|
1292
|
+
animate(400)
|
|
1293
|
+
])
|
|
1294
|
+
]),
|
|
1295
|
+
] });
|
|
1296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSectionComponent, decorators: [{
|
|
1297
|
+
type: Component,
|
|
1298
|
+
args: [{ selector: 'ngt-section', animations: [
|
|
1299
|
+
trigger('enterAnimation', [
|
|
1300
|
+
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
1301
|
+
transition(':enter', [
|
|
1302
|
+
animate(400)
|
|
1303
|
+
])
|
|
1304
|
+
]),
|
|
1305
|
+
], template: "<div class=\"flex mb-6\">\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l {{ accordion && !showSection ? 'flex' : '' }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center px-5 cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb']) : ngtCaptionStyle.compile(['py']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-8 w-8 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-xl\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>" }]
|
|
1306
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: NgtStylizableDirective, decorators: [{
|
|
1307
|
+
type: Self
|
|
1308
|
+
}, {
|
|
1309
|
+
type: Optional
|
|
1310
|
+
}] }]; }, propDecorators: { icon: [{
|
|
1311
|
+
type: Input
|
|
1312
|
+
}], caption: [{
|
|
1313
|
+
type: Input
|
|
1314
|
+
}], subtitle: [{
|
|
1315
|
+
type: Input
|
|
1316
|
+
}], accordion: [{
|
|
1317
|
+
type: Input
|
|
1318
|
+
}], showSection: [{
|
|
1319
|
+
type: Input
|
|
1320
|
+
}], removable: [{
|
|
1321
|
+
type: Input
|
|
1322
|
+
}], helpTitle: [{
|
|
1323
|
+
type: Input
|
|
1324
|
+
}], helpText: [{
|
|
1325
|
+
type: Input
|
|
1326
|
+
}], helpIconColor: [{
|
|
1327
|
+
type: Input
|
|
1328
|
+
}], isDisabled: [{
|
|
1329
|
+
type: Input
|
|
1330
|
+
}], onRemove: [{
|
|
1331
|
+
type: Output
|
|
1332
|
+
}], onToggleSection: [{
|
|
1333
|
+
type: Output
|
|
1334
|
+
}], onIsDisabledChange: [{
|
|
1335
|
+
type: Output
|
|
1336
|
+
}] } });
|
|
1337
|
+
|
|
1338
|
+
class NgtActionComponent {
|
|
1339
|
+
constructor(injector, changeDetector, ngtStylizableDirective, ngtForm, ngtSection) {
|
|
1340
|
+
this.injector = injector;
|
|
1341
|
+
this.changeDetector = changeDetector;
|
|
1342
|
+
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
1343
|
+
this.ngtForm = ngtForm;
|
|
1344
|
+
this.ngtSection = ngtSection;
|
|
1345
|
+
this.subscriptions = [];
|
|
1346
|
+
if (this.ngtStylizableDirective) {
|
|
1347
|
+
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
1348
|
+
}
|
|
1349
|
+
else {
|
|
1350
|
+
this.ngtStyle = new NgtStylizableService();
|
|
1351
|
+
}
|
|
1352
|
+
this.ngtStyle.load(this.injector, 'NgtAction', {
|
|
1353
|
+
h: 'h-full',
|
|
1354
|
+
w: 'w-full',
|
|
1355
|
+
color: {
|
|
1356
|
+
bg: 'bg-gray-500',
|
|
1357
|
+
text: 'text-white',
|
|
1358
|
+
border: '',
|
|
1359
|
+
},
|
|
1360
|
+
text: 'text-xl',
|
|
1361
|
+
border: 'border-0',
|
|
1362
|
+
});
|
|
1363
|
+
}
|
|
1364
|
+
ngAfterViewInit() {
|
|
1365
|
+
this.bindSubscriptions();
|
|
1366
|
+
}
|
|
1367
|
+
ngOnChanges(changes) {
|
|
1368
|
+
if (changes.isDisabled && !changes.isDisabled.currentValue) {
|
|
1369
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
ngOnDestroy() {
|
|
1373
|
+
this.destroySubscriptions();
|
|
1374
|
+
}
|
|
1375
|
+
onClick(event) {
|
|
1376
|
+
if (this.isDisabled) {
|
|
1377
|
+
event.stopPropagation();
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
bindSubscriptions() {
|
|
1381
|
+
this.changeDetector.detectChanges();
|
|
1382
|
+
if (!this.isDisabled) {
|
|
1383
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
1384
|
+
}
|
|
1385
|
+
if (this.ngtForm) {
|
|
1386
|
+
this.subscriptions.push(this.ngtForm.onIsDisabledChange.subscribe((isDisabled) => {
|
|
1387
|
+
if (!this.isDisabled) {
|
|
1388
|
+
this.isDisabled = isDisabled || this.ngtSection?.isDisabled;
|
|
1389
|
+
}
|
|
1390
|
+
}));
|
|
1391
|
+
}
|
|
1392
|
+
if (this.ngtSection) {
|
|
1393
|
+
this.subscriptions.push(this.ngtSection.onIsDisabledChange.subscribe((isDisabled) => {
|
|
1394
|
+
if (!this.isDisabled) {
|
|
1395
|
+
this.isDisabled = isDisabled || this.ngtForm?.isDisabled;
|
|
1396
|
+
}
|
|
1397
|
+
}));
|
|
1398
|
+
}
|
|
1399
|
+
this.changeDetector.detectChanges();
|
|
1400
|
+
}
|
|
1401
|
+
destroySubscriptions() {
|
|
1402
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
1403
|
+
this.subscriptions = [];
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
NgtActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1407
|
+
NgtActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtActionComponent, selector: "ngt-action", inputs: { href: "href", icon: "icon", ngtStyle: "ngtStyle", isDisabled: "isDisabled" }, usesOnChanges: true, ngImport: i0, template: "<a *ngIf=\"href\"\n [class]=\"isDisabled ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n [routerLink]=\"href\" (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\">\n </ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n\n<a *ngIf=\"!href\"\n [class]=\"isDisabled ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text', 'border', 'color.border']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\"></ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }] });
|
|
1408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionComponent, decorators: [{
|
|
1409
|
+
type: Component,
|
|
1410
|
+
args: [{ selector: 'ngt-action', template: "<a *ngIf=\"href\"\n [class]=\"isDisabled ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n [routerLink]=\"href\" (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\">\n </ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n\n<a *ngIf=\"!href\"\n [class]=\"isDisabled ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text', 'border', 'color.border']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\"></ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n" }]
|
|
1411
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: NgtStylizableDirective, decorators: [{
|
|
1412
|
+
type: Self
|
|
1413
|
+
}, {
|
|
1414
|
+
type: Optional
|
|
1415
|
+
}] }, { type: NgtFormComponent, decorators: [{
|
|
1416
|
+
type: Optional
|
|
1417
|
+
}, {
|
|
1418
|
+
type: SkipSelf
|
|
1419
|
+
}] }, { type: NgtSectionComponent, decorators: [{
|
|
1420
|
+
type: Optional
|
|
1421
|
+
}, {
|
|
1422
|
+
type: SkipSelf
|
|
1423
|
+
}] }]; }, propDecorators: { href: [{
|
|
1424
|
+
type: Input
|
|
1425
|
+
}], icon: [{
|
|
1041
1426
|
type: Input
|
|
1042
|
-
}],
|
|
1427
|
+
}], ngtStyle: [{
|
|
1043
1428
|
type: Input
|
|
1044
|
-
}],
|
|
1429
|
+
}], isDisabled: [{
|
|
1045
1430
|
type: Input
|
|
1046
1431
|
}] } });
|
|
1047
1432
|
|
|
1433
|
+
class NgtActionModule {
|
|
1434
|
+
}
|
|
1435
|
+
NgtActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1436
|
+
NgtActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, declarations: [NgtActionComponent], imports: [CommonModule,
|
|
1437
|
+
RouterModule,
|
|
1438
|
+
NgtSvgModule], exports: [NgtActionComponent] });
|
|
1439
|
+
NgtActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, imports: [CommonModule,
|
|
1440
|
+
RouterModule,
|
|
1441
|
+
NgtSvgModule] });
|
|
1442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtActionModule, decorators: [{
|
|
1443
|
+
type: NgModule,
|
|
1444
|
+
args: [{
|
|
1445
|
+
declarations: [NgtActionComponent],
|
|
1446
|
+
exports: [NgtActionComponent],
|
|
1447
|
+
imports: [
|
|
1448
|
+
CommonModule,
|
|
1449
|
+
RouterModule,
|
|
1450
|
+
NgtSvgModule
|
|
1451
|
+
]
|
|
1452
|
+
}]
|
|
1453
|
+
}] });
|
|
1454
|
+
|
|
1048
1455
|
class NgtDropdownModule {
|
|
1049
1456
|
}
|
|
1050
1457
|
NgtDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -1100,10 +1507,10 @@ class NgtShiningComponent {
|
|
|
1100
1507
|
}
|
|
1101
1508
|
}
|
|
1102
1509
|
NgtShiningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtShiningComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1103
|
-
NgtShiningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtShiningComponent, selector: "ngt-shining", inputs: { shiningWidth: "shiningWidth" }, ngImport: i0, template: "<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>", styles: [".ngt-shining-xs{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100
|
|
1510
|
+
NgtShiningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtShiningComponent, selector: "ngt-shining", inputs: { shiningWidth: "shiningWidth" }, ngImport: i0, template: "<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>", styles: [".ngt-shining-xs{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-xs}@keyframes shimmer-xs{0%{background-position:-20vw}to{background-position:20vw}}.ngt-shining-sm{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-sm}@keyframes shimmer-sm{0%{background-position:-40vw}to{background-position:40vw}}.ngt-shining-lg{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-lg}@keyframes shimmer-lg{0%{background-position:-60vw}to{background-position:60vw}}.ngt-shining-xl{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-xl}@keyframes shimmer-xl{0%{background-position:-80vw}to{background-position:80vw}}\n"] });
|
|
1104
1511
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtShiningComponent, decorators: [{
|
|
1105
1512
|
type: Component,
|
|
1106
|
-
args: [{ selector: 'ngt-shining', template: "<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>", styles: [".ngt-shining-xs{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100
|
|
1513
|
+
args: [{ selector: 'ngt-shining', template: "<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>", styles: [".ngt-shining-xs{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-xs}@keyframes shimmer-xs{0%{background-position:-20vw}to{background-position:20vw}}.ngt-shining-sm{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-sm}@keyframes shimmer-sm{0%{background-position:-40vw}to{background-position:40vw}}.ngt-shining-lg{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-lg}@keyframes shimmer-lg{0%{background-position:-60vw}to{background-position:60vw}}.ngt-shining-xl{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40%,#f6f7f8 100%);background-repeat:no-repeat;background-size:100%;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:shimmer-xl}@keyframes shimmer-xl{0%{background-position:-80vw}to{background-position:80vw}}\n"] }]
|
|
1107
1514
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: NgtStylizableDirective, decorators: [{
|
|
1108
1515
|
type: Self
|
|
1109
1516
|
}, {
|
|
@@ -1218,259 +1625,28 @@ class NgtBaseNgModel {
|
|
|
1218
1625
|
function NgtMakeProvider(type) {
|
|
1219
1626
|
return {
|
|
1220
1627
|
provide: NG_VALUE_ACCESSOR,
|
|
1221
|
-
useExisting: forwardRef(() => type),
|
|
1222
|
-
multi: true
|
|
1223
|
-
};
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
function resetNgForm(ngForm) {
|
|
1227
|
-
ngForm.resetForm();
|
|
1228
|
-
setTimeout(() => {
|
|
1229
|
-
ngForm.reset();
|
|
1230
|
-
}, 500);
|
|
1231
|
-
}
|
|
1232
|
-
function triggerNgFormSubmit(ngForm) {
|
|
1233
|
-
ngForm.onSubmit(new Event("submit"));
|
|
1234
|
-
}
|
|
1235
|
-
function isValidNgForm(ngForm) {
|
|
1236
|
-
triggerNgFormSubmit(ngForm);
|
|
1237
|
-
return ngForm.valid;
|
|
1238
|
-
}
|
|
1239
|
-
|
|
1240
|
-
function getIdFromUri(route, routeIdentifier) {
|
|
1241
|
-
return Observable.create((observer) => {
|
|
1242
|
-
zip(route.parent.params, route.params)
|
|
1243
|
-
.subscribe((results) => {
|
|
1244
|
-
let params = { ...results[0], ...results[1] };
|
|
1245
|
-
observer.next(params[routeIdentifier]);
|
|
1246
|
-
});
|
|
1247
|
-
});
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
class NgtHttpFormService {
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
class NgtFormValidationMessageComponent {
|
|
1254
|
-
constructor(ngtTranslateService) {
|
|
1255
|
-
this.ngtTranslateService = ngtTranslateService;
|
|
1256
|
-
}
|
|
1257
|
-
}
|
|
1258
|
-
NgtFormValidationMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, deps: [{ token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1259
|
-
NgtFormValidationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: { canShowValidationMessage: "canShowValidationMessage", message: "message" }, ngImport: i0, template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, decorators: [{
|
|
1261
|
-
type: Component,
|
|
1262
|
-
args: [{ selector: 'ngt-form-validation-message', template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>" }]
|
|
1263
|
-
}], ctorParameters: function () { return [{ type: NgtTranslateService, decorators: [{
|
|
1264
|
-
type: Optional
|
|
1265
|
-
}] }]; }, propDecorators: { canShowValidationMessage: [{
|
|
1266
|
-
type: Input
|
|
1267
|
-
}], message: [{
|
|
1268
|
-
type: Input
|
|
1269
|
-
}] } });
|
|
1270
|
-
|
|
1271
|
-
class NgtFormComponent {
|
|
1272
|
-
constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
|
|
1273
|
-
this.formContainer = formContainer;
|
|
1274
|
-
this.ngForm = ngForm;
|
|
1275
|
-
this.router = router;
|
|
1276
|
-
this.route = route;
|
|
1277
|
-
this.ngtHttpFormService = ngtHttpFormService;
|
|
1278
|
-
this.guessFormState = true;
|
|
1279
|
-
this.message = '';
|
|
1280
|
-
this.routeIdentifier = 'id';
|
|
1281
|
-
this.onCreating = new EventEmitter;
|
|
1282
|
-
this.onEditing = new EventEmitter;
|
|
1283
|
-
this.onLoadingChange = new EventEmitter;
|
|
1284
|
-
this.onShiningChange = new EventEmitter;
|
|
1285
|
-
this.setupComponent = new EventEmitter;
|
|
1286
|
-
this.onResourceLoadingError = new EventEmitter;
|
|
1287
|
-
this.subscriptions = [];
|
|
1288
|
-
}
|
|
1289
|
-
ngOnInit() {
|
|
1290
|
-
if (this.guessFormState) {
|
|
1291
|
-
this.subscriptions.push(this.determineFormState().subscribe(() => {
|
|
1292
|
-
this.setupComponent.emit();
|
|
1293
|
-
}));
|
|
1294
|
-
}
|
|
1295
|
-
else {
|
|
1296
|
-
this.setupComponent.emit();
|
|
1297
|
-
}
|
|
1298
|
-
this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
|
|
1299
|
-
if (!this.ngForm.valid) {
|
|
1300
|
-
NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
|
|
1301
|
-
}
|
|
1302
|
-
}));
|
|
1303
|
-
}
|
|
1304
|
-
ngOnDestroy() {
|
|
1305
|
-
this.destroySubscriptions();
|
|
1306
|
-
}
|
|
1307
|
-
isCreating() {
|
|
1308
|
-
return this.formState === NgtFormState.CREATING;
|
|
1309
|
-
}
|
|
1310
|
-
isEditing() {
|
|
1311
|
-
return this.formState === NgtFormState.EDITING;
|
|
1312
|
-
}
|
|
1313
|
-
isLoading() {
|
|
1314
|
-
return this.loading;
|
|
1315
|
-
}
|
|
1316
|
-
isShining() {
|
|
1317
|
-
return this.shining;
|
|
1318
|
-
}
|
|
1319
|
-
canShowValidationMessage() {
|
|
1320
|
-
return this.formContainer &&
|
|
1321
|
-
this.formContainer['submitted'] &&
|
|
1322
|
-
this.formContainer.status != 'VALID' &&
|
|
1323
|
-
this.formContainer.status != 'DISABLED';
|
|
1324
|
-
}
|
|
1325
|
-
setShining(shining) {
|
|
1326
|
-
this.shining = shining;
|
|
1327
|
-
this.onShiningChange.emit(this.shining);
|
|
1328
|
-
}
|
|
1329
|
-
setLoading(loading) {
|
|
1330
|
-
this.loading = loading;
|
|
1331
|
-
this.onLoadingChange.emit(this.loading);
|
|
1332
|
-
}
|
|
1333
|
-
setFormState(state, triggerChange = true) {
|
|
1334
|
-
this.formState = state;
|
|
1335
|
-
if (triggerChange) {
|
|
1336
|
-
this.triggerFormStateChange();
|
|
1337
|
-
}
|
|
1338
|
-
}
|
|
1339
|
-
getFormState() {
|
|
1340
|
-
return this.formState;
|
|
1341
|
-
}
|
|
1342
|
-
triggerFormStateChange() {
|
|
1343
|
-
if (this.isEditing()) {
|
|
1344
|
-
this.triggerFormEditing();
|
|
1345
|
-
}
|
|
1346
|
-
else if (this.isCreating()) {
|
|
1347
|
-
this.triggerFormCreating();
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
formHasChanges() {
|
|
1351
|
-
return this.ngForm.dirty;
|
|
1352
|
-
}
|
|
1353
|
-
saveResource() {
|
|
1354
|
-
return new Observable((observer) => {
|
|
1355
|
-
if (isValidNgForm(this.ngForm)) {
|
|
1356
|
-
this.setLoading(true);
|
|
1357
|
-
this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
|
|
1358
|
-
.subscribe((response) => {
|
|
1359
|
-
this.setLoading(false);
|
|
1360
|
-
observer.next(response);
|
|
1361
|
-
observer.complete();
|
|
1362
|
-
}));
|
|
1363
|
-
}
|
|
1364
|
-
else {
|
|
1365
|
-
observer.error();
|
|
1366
|
-
}
|
|
1367
|
-
});
|
|
1368
|
-
}
|
|
1369
|
-
triggerFormCreating() {
|
|
1370
|
-
this.onCreating.emit();
|
|
1371
|
-
}
|
|
1372
|
-
triggerFormEditing() {
|
|
1373
|
-
if (this.uriId && this.resource) {
|
|
1374
|
-
this.setLoading(true);
|
|
1375
|
-
this.setShining(true);
|
|
1376
|
-
this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
|
|
1377
|
-
.subscribe((resource) => {
|
|
1378
|
-
this.setLoading(false);
|
|
1379
|
-
this.setShining(false);
|
|
1380
|
-
this.onEditing.emit(resource);
|
|
1381
|
-
setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
|
|
1382
|
-
}, (error) => {
|
|
1383
|
-
this.setLoading(false);
|
|
1384
|
-
this.setShining(false);
|
|
1385
|
-
this.onResourceLoadingError.emit(error);
|
|
1386
|
-
}));
|
|
1387
|
-
return;
|
|
1388
|
-
}
|
|
1389
|
-
this.onEditing.emit(null);
|
|
1390
|
-
}
|
|
1391
|
-
determineFormState() {
|
|
1392
|
-
return new Observable((observer) => {
|
|
1393
|
-
this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
|
|
1394
|
-
this.uriId = id;
|
|
1395
|
-
if (this.uriId) {
|
|
1396
|
-
this.setFormState(NgtFormState.EDITING);
|
|
1397
|
-
}
|
|
1398
|
-
else {
|
|
1399
|
-
this.setFormState(NgtFormState.CREATING);
|
|
1400
|
-
}
|
|
1401
|
-
observer.next();
|
|
1402
|
-
}));
|
|
1403
|
-
});
|
|
1404
|
-
}
|
|
1405
|
-
destroySubscriptions() {
|
|
1406
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
1407
|
-
this.subscriptions = [];
|
|
1408
|
-
}
|
|
1409
|
-
}
|
|
1410
|
-
NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
|
|
1411
|
-
NgtFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, deps: [{ token: i2$2.ControlContainer, host: true, optional: true }, { token: i2$2.NgForm, host: true, optional: true }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: NgtHttpFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1412
|
-
NgtFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormComponent, selector: "ngt-form", inputs: { guessFormState: "guessFormState", message: "message", routeIdentifier: "routeIdentifier", resource: "resource", customLayout: "customLayout" }, outputs: { onCreating: "onCreating", onEditing: "onEditing", onLoadingChange: "onLoadingChange", onShiningChange: "onShiningChange", setupComponent: "setupComponent", onResourceLoadingError: "onResourceLoadingError" }, ngImport: i0, template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: ["canShowValidationMessage", "message"] }] });
|
|
1413
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, decorators: [{
|
|
1414
|
-
type: Component,
|
|
1415
|
-
args: [{ selector: 'ngt-form', template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<ng-content></ng-content>" }]
|
|
1416
|
-
}], ctorParameters: function () { return [{ type: i2$2.ControlContainer, decorators: [{
|
|
1417
|
-
type: Optional
|
|
1418
|
-
}, {
|
|
1419
|
-
type: Host
|
|
1420
|
-
}] }, { type: i2$2.NgForm, decorators: [{
|
|
1421
|
-
type: Optional
|
|
1422
|
-
}, {
|
|
1423
|
-
type: Host
|
|
1424
|
-
}] }, { type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: NgtHttpFormService }]; }, propDecorators: { guessFormState: [{
|
|
1425
|
-
type: Input
|
|
1426
|
-
}], message: [{
|
|
1427
|
-
type: Input
|
|
1428
|
-
}], routeIdentifier: [{
|
|
1429
|
-
type: Input
|
|
1430
|
-
}], resource: [{
|
|
1431
|
-
type: Input
|
|
1432
|
-
}], customLayout: [{
|
|
1433
|
-
type: Input
|
|
1434
|
-
}], onCreating: [{
|
|
1435
|
-
type: Output
|
|
1436
|
-
}], onEditing: [{
|
|
1437
|
-
type: Output
|
|
1438
|
-
}], onLoadingChange: [{
|
|
1439
|
-
type: Output
|
|
1440
|
-
}], onShiningChange: [{
|
|
1441
|
-
type: Output
|
|
1442
|
-
}], setupComponent: [{
|
|
1443
|
-
type: Output
|
|
1444
|
-
}], onResourceLoadingError: [{
|
|
1445
|
-
type: Output
|
|
1446
|
-
}] } });
|
|
1447
|
-
var NgtFormState;
|
|
1448
|
-
(function (NgtFormState) {
|
|
1449
|
-
NgtFormState["CREATING"] = "CREATING";
|
|
1450
|
-
NgtFormState["EDITING"] = "EDITING";
|
|
1451
|
-
})(NgtFormState || (NgtFormState = {}));
|
|
1452
|
-
;
|
|
1628
|
+
useExisting: forwardRef(() => type),
|
|
1629
|
+
multi: true
|
|
1630
|
+
};
|
|
1631
|
+
}
|
|
1453
1632
|
|
|
1454
1633
|
class NgtCheckboxComponent extends NgtBaseNgModel {
|
|
1455
|
-
constructor(injector, formContainer, renderer, ngtStylizableDirective,
|
|
1634
|
+
constructor(changeDetector, injector, formContainer, renderer, ngtStylizableDirective, ngtForm, ngtSection) {
|
|
1456
1635
|
super();
|
|
1636
|
+
this.changeDetector = changeDetector;
|
|
1457
1637
|
this.injector = injector;
|
|
1458
1638
|
this.formContainer = formContainer;
|
|
1459
1639
|
this.renderer = renderer;
|
|
1460
1640
|
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
1461
|
-
this.
|
|
1641
|
+
this.ngtForm = ngtForm;
|
|
1642
|
+
this.ngtSection = ngtSection;
|
|
1462
1643
|
this.shining = false;
|
|
1463
1644
|
this.isDisabled = false;
|
|
1464
1645
|
this.isClickDisabled = false;
|
|
1465
1646
|
this.mode = NgtCheckboxMode.DEFAULT;
|
|
1466
1647
|
this.helpTextColor = 'text-green-500';
|
|
1648
|
+
this.helperAutoXReverse = true;
|
|
1467
1649
|
this.subscriptions = [];
|
|
1468
|
-
if (this.ngtFormComponent) {
|
|
1469
|
-
this.shining = this.ngtFormComponent.isShining();
|
|
1470
|
-
this.subscriptions.push(this.ngtFormComponent.onShiningChange.subscribe((shining) => {
|
|
1471
|
-
this.shining = shining;
|
|
1472
|
-
}));
|
|
1473
|
-
}
|
|
1474
1650
|
if (this.ngtStylizableDirective) {
|
|
1475
1651
|
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
1476
1652
|
}
|
|
@@ -1493,6 +1669,15 @@ class NgtCheckboxComponent extends NgtBaseNgModel {
|
|
|
1493
1669
|
this.renderer.listen(this.element.nativeElement, 'change', (value) => {
|
|
1494
1670
|
this.onNativeChange(this.element.nativeElement.checked);
|
|
1495
1671
|
});
|
|
1672
|
+
this.bindSubscriptions();
|
|
1673
|
+
}
|
|
1674
|
+
ngOnChanges(changes) {
|
|
1675
|
+
if (changes.mode) {
|
|
1676
|
+
this.mode = getEnumFromString(changes.mode.currentValue, NgtCheckboxMode);
|
|
1677
|
+
}
|
|
1678
|
+
if (changes.isDisabled && !changes.isDisabled.currentValue) {
|
|
1679
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
1680
|
+
}
|
|
1496
1681
|
}
|
|
1497
1682
|
ngOnDestroy() {
|
|
1498
1683
|
this.destroySubscriptions();
|
|
@@ -1522,20 +1707,36 @@ class NgtCheckboxComponent extends NgtBaseNgModel {
|
|
|
1522
1707
|
isRadioMode() {
|
|
1523
1708
|
return this.mode === NgtCheckboxMode.RADIO;
|
|
1524
1709
|
}
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1710
|
+
bindSubscriptions() {
|
|
1711
|
+
this.changeDetector.detectChanges();
|
|
1712
|
+
if (!this.isDisabled) {
|
|
1713
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
1714
|
+
}
|
|
1715
|
+
if (this.ngtForm) {
|
|
1716
|
+
this.subscriptions.push(this.ngtForm.onIsDisabledChange.subscribe((isDisabled) => {
|
|
1717
|
+
if (!this.isDisabled) {
|
|
1718
|
+
this.isDisabled = isDisabled || this.ngtSection?.isDisabled;
|
|
1719
|
+
}
|
|
1720
|
+
}));
|
|
1528
1721
|
}
|
|
1722
|
+
if (this.ngtSection) {
|
|
1723
|
+
this.subscriptions.push(this.ngtSection.onIsDisabledChange.subscribe((isDisabled) => {
|
|
1724
|
+
if (!this.isDisabled) {
|
|
1725
|
+
this.isDisabled = isDisabled || this.ngtForm?.isDisabled;
|
|
1726
|
+
}
|
|
1727
|
+
}));
|
|
1728
|
+
}
|
|
1729
|
+
this.changeDetector.detectChanges();
|
|
1529
1730
|
}
|
|
1530
1731
|
destroySubscriptions() {
|
|
1531
1732
|
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
1532
1733
|
this.subscriptions = [];
|
|
1533
1734
|
}
|
|
1534
1735
|
}
|
|
1535
|
-
NgtCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtCheckboxComponent, deps: [{ token: i0.Injector }, { token: i2$
|
|
1736
|
+
NgtCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: i0.Renderer2 }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1536
1737
|
NgtCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: { label: "label", shining: "shining", isDisabled: "isDisabled", isClickDisabled: "isClickDisabled", name: "name", mode: "mode", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText", helperAutoXReverse: "helperAutoXReverse" }, providers: [
|
|
1537
1738
|
NgtMakeProvider(NgtCheckboxComponent)
|
|
1538
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"flex items-center {{ isDisabled ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"isDisabled || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n
|
|
1739
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"flex items-center {{ isDisabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"isDisabled || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </span>\n\n <ng-container *ngIf=\"isDefaultMode()\">\n <div style=\"transition: background-color .2s ease-out\" class=\"{{ value ? ngtStyle.compile(['color.bg']) : 'bg-white' }} {{ ngtStyle.compile(['h', 'w']) }}\n shadow rounded border border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg class=\"fill-current self-center text-white pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isRadioMode()\">\n <div style=\"transition: background-color .2s ease-out\"\n class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow w-6 h-6 rounded-full border-2 border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg *ngIf=\"value\" class=\"fill-current self-center h-3\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 29.107 29.107\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isToggleMode() || isSideToggleMode()\">\n <div class=\"shadow w-16 h-8 rounded-full border border-gray-400 {{ shining ? 'hidden' : 'flex' }}\"\n [class.justify-end]=\"value\" style=\"padding: 1px;\">\n <div *ngIf=\"value\"\n class=\"flex text-xs text-white {{ ngtStyle.compile(['color.bg']) }} pointer-events-none rounded-full px-2 py-3\"\n @slideLeftToRight>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n\n <div *ngIf=\"!value\" class=\"flex text-xl text-white bg-gray-300 pointer-events-none rounded-full px-1 py-3\"\n @slideRightToLeft>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\"\n d=\"M16.24 14.83a1 1 0 0 1-1.41 1.41L12 13.41l-2.83 2.83a1 1 0 0 1-1.41-1.41L10.59 12 7.76 9.17a1 1 0 0 1 1.41-1.41L12 10.59l2.83-2.83a1 1 0 0 1 1.41 1.41L13.41 12l2.83 2.83z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='label && !shining && !isToggleMode()'>\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} ml-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </ng-container>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
1539
1740
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
1540
1741
|
], animations: [
|
|
1541
1742
|
trigger('slideLeftToRight', [
|
|
@@ -1570,8 +1771,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
1570
1771
|
animate(200)
|
|
1571
1772
|
])
|
|
1572
1773
|
])
|
|
1573
|
-
], template: "<label class=\"flex items-center {{ isDisabled ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"isDisabled || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n
|
|
1574
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i2$
|
|
1774
|
+
], template: "<label class=\"flex items-center {{ isDisabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"isDisabled || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </span>\n\n <ng-container *ngIf=\"isDefaultMode()\">\n <div style=\"transition: background-color .2s ease-out\" class=\"{{ value ? ngtStyle.compile(['color.bg']) : 'bg-white' }} {{ ngtStyle.compile(['h', 'w']) }}\n shadow rounded border border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg class=\"fill-current self-center text-white pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isRadioMode()\">\n <div style=\"transition: background-color .2s ease-out\"\n class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow w-6 h-6 rounded-full border-2 border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg *ngIf=\"value\" class=\"fill-current self-center h-3\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 29.107 29.107\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isToggleMode() || isSideToggleMode()\">\n <div class=\"shadow w-16 h-8 rounded-full border border-gray-400 {{ shining ? 'hidden' : 'flex' }}\"\n [class.justify-end]=\"value\" style=\"padding: 1px;\">\n <div *ngIf=\"value\"\n class=\"flex text-xs text-white {{ ngtStyle.compile(['color.bg']) }} pointer-events-none rounded-full px-2 py-3\"\n @slideLeftToRight>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n\n <div *ngIf=\"!value\" class=\"flex text-xl text-white bg-gray-300 pointer-events-none rounded-full px-1 py-3\"\n @slideRightToLeft>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\"\n d=\"M16.24 14.83a1 1 0 0 1-1.41 1.41L12 13.41l-2.83 2.83a1 1 0 0 1-1.41-1.41L10.59 12 7.76 9.17a1 1 0 0 1 1.41-1.41L12 10.59l2.83-2.83a1 1 0 0 1 1.41 1.41L13.41 12l2.83 2.83z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='label && !shining && !isToggleMode()'>\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} ml-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </ng-container>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>" }]
|
|
1775
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i2$1.ControlContainer, decorators: [{
|
|
1575
1776
|
type: Optional
|
|
1576
1777
|
}, {
|
|
1577
1778
|
type: Host
|
|
@@ -1583,6 +1784,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
1583
1784
|
type: Optional
|
|
1584
1785
|
}, {
|
|
1585
1786
|
type: SkipSelf
|
|
1787
|
+
}] }, { type: NgtSectionComponent, decorators: [{
|
|
1788
|
+
type: Optional
|
|
1789
|
+
}, {
|
|
1790
|
+
type: SkipSelf
|
|
1586
1791
|
}] }]; }, propDecorators: { element: [{
|
|
1587
1792
|
type: ViewChild,
|
|
1588
1793
|
args: ['element', { static: true }]
|
|
@@ -1740,6 +1945,7 @@ class NgtInputComponent extends NgtBaseNgModel {
|
|
|
1740
1945
|
this.showCharactersLength = false;
|
|
1741
1946
|
this.uppercase = false;
|
|
1742
1947
|
this.type = 'text';
|
|
1948
|
+
this.helperAutoXReverse = true;
|
|
1743
1949
|
this.onClickLeftIcon = new EventEmitter();
|
|
1744
1950
|
this.onClickRightIcon = new EventEmitter();
|
|
1745
1951
|
this.validatePhoneResult = new EventEmitter();
|
|
@@ -1986,15 +2192,23 @@ class NgtInputComponent extends NgtBaseNgModel {
|
|
|
1986
2192
|
return this.clearInput();
|
|
1987
2193
|
}
|
|
1988
2194
|
let masks = {
|
|
1989
|
-
[InputMaskEnum.CPF]:
|
|
1990
|
-
|
|
2195
|
+
[InputMaskEnum.CPF]: {
|
|
2196
|
+
mask: ['999.999.999-99'],
|
|
2197
|
+
clearMaskOnLostFocus: false
|
|
2198
|
+
},
|
|
2199
|
+
[InputMaskEnum.CNPJ]: {
|
|
2200
|
+
mask: ['99.999.999/9999-99'],
|
|
2201
|
+
clearMaskOnLostFocus: false
|
|
2202
|
+
},
|
|
1991
2203
|
[InputMaskEnum.CPF_CNPJ_RUT]: {
|
|
1992
2204
|
mask: ['999.999.999-99', '999999999999', '99.999.999/9999-99'],
|
|
1993
|
-
keepStatic: true
|
|
2205
|
+
keepStatic: true,
|
|
2206
|
+
clearMaskOnLostFocus: false
|
|
1994
2207
|
},
|
|
1995
2208
|
[InputMaskEnum.CPF_CNPJ]: {
|
|
1996
2209
|
mask: ['999.999.999-99', '99.999.999/9999-99'],
|
|
1997
|
-
keepStatic: true
|
|
2210
|
+
keepStatic: true,
|
|
2211
|
+
clearMaskOnLostFocus: false
|
|
1998
2212
|
},
|
|
1999
2213
|
[InputMaskEnum.DECIMAL]: {
|
|
2000
2214
|
digits: this.decimalMaskPrecision,
|
|
@@ -2004,27 +2218,36 @@ class NgtInputComponent extends NgtBaseNgModel {
|
|
|
2004
2218
|
repeat: 16,
|
|
2005
2219
|
rightAlign: false,
|
|
2006
2220
|
max: this.maxValue,
|
|
2221
|
+
clearMaskOnLostFocus: false
|
|
2007
2222
|
},
|
|
2008
2223
|
[InputMaskEnum.CELLPHONE]: {
|
|
2009
2224
|
mask: ['(99) 999-999', '(99) 9999-9999', '(99) 99999-9999'],
|
|
2010
|
-
keepStatic: true
|
|
2225
|
+
keepStatic: true,
|
|
2226
|
+
clearMaskOnLostFocus: false
|
|
2011
2227
|
},
|
|
2012
2228
|
[InputMaskEnum.INTERNATIONAL_PHONE]: {
|
|
2013
2229
|
mask: ['+999 99 999-999', '+99 (99) 9999-9999', '+99 (99) 99999-9999', '+999 (99) 9999-9999', '+999 (99) 99999-9999'],
|
|
2014
|
-
keepStatic: true
|
|
2230
|
+
keepStatic: true,
|
|
2231
|
+
clearMaskOnLostFocus: false
|
|
2015
2232
|
},
|
|
2016
2233
|
[InputMaskEnum.PLATE]: {
|
|
2017
2234
|
mask: ['AAA-9&99'],
|
|
2018
|
-
keepStatic: true
|
|
2235
|
+
keepStatic: true,
|
|
2236
|
+
clearMaskOnLostFocus: false
|
|
2237
|
+
},
|
|
2238
|
+
[InputMaskEnum.CEP]: {
|
|
2239
|
+
mask: ['99999-999'],
|
|
2240
|
+
clearMaskOnLostFocus: false
|
|
2019
2241
|
},
|
|
2020
|
-
[InputMaskEnum.CEP]: '99999-999',
|
|
2021
2242
|
[InputMaskEnum.INTEGER]: {
|
|
2022
2243
|
max: this.maxValue,
|
|
2023
2244
|
min: this.validateMinValueOnMask ? this.minValue : undefined,
|
|
2024
|
-
rightAlign: false
|
|
2245
|
+
rightAlign: false,
|
|
2246
|
+
clearMaskOnLostFocus: false
|
|
2025
2247
|
},
|
|
2026
2248
|
[InputMaskEnum.NUMERIC_STRING]: {
|
|
2027
2249
|
regex: "[0-9]*",
|
|
2250
|
+
clearMaskOnLostFocus: false
|
|
2028
2251
|
},
|
|
2029
2252
|
[InputMaskEnum.TIME]: '99:99',
|
|
2030
2253
|
};
|
|
@@ -2346,10 +2569,10 @@ class NgtInputComponent extends NgtBaseNgModel {
|
|
|
2346
2569
|
this.subscriptions = [];
|
|
2347
2570
|
}
|
|
2348
2571
|
}
|
|
2349
|
-
NgtInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtInputComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$
|
|
2572
|
+
NgtInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtInputComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: i0.Renderer2 }, { token: NgtHttpValidationService, optional: true, skipSelf: true }, { token: NgtHttpResourceService, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
2350
2573
|
NgtInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtInputComponent, selector: "ngt-input", inputs: { label: "label", placeholder: "placeholder", shining: "shining", loading: "loading", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText", innerLeftIcon: "innerLeftIcon", innerLeftIconColor: "innerLeftIconColor", innerRightIcon: "innerRightIcon", innerRightIconColor: "innerRightIconColor", decimalMaskPrecision: "decimalMaskPrecision", showCharactersLength: "showCharactersLength", uppercase: "uppercase", isDisabled: "isDisabled", isReadonly: "isReadonly", showRoundedIcon: "showRoundedIcon", type: "type", name: "name", mask: "mask", focus: "focus", allowClear: "allowClear", jit: "jit", findExistingResource: "findExistingResource", allowPhoneValidation: "allowPhoneValidation", validatePassword: "validatePassword", passwordableId: "passwordableId", passwordPolicyId: "passwordPolicyId", isRequired: "isRequired", uniqueResource: "uniqueResource", minValue: "minValue", maxValue: "maxValue", maxLength: "maxLength", minLength: "minLength", match: "match", multipleOf: "multipleOf", validateMinValueOnMask: "validateMinValueOnMask", externalServerDependency: "externalServerDependency", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse" }, outputs: { onClickLeftIcon: "onClickLeftIcon", onClickRightIcon: "onClickRightIcon", validatePhoneResult: "validatePhoneResult" }, providers: [
|
|
2351
2574
|
NgtMakeProvider(NgtInputComponent),
|
|
2352
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\" class=\"mb-2 flex {{ ngtStyle.compile(['color.text', 'text', 'fontCase']) }}\" [hidden]='shining'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n <span [innerHtml]=\"helpText\"></span>\n </ngt-helper>\n</label>\n\n<div class=\"{{ shining ? 'hidden' : 'flex relative'}}\">\n <input autocomplete=\"new-password\"\n class=\"flex border appearance-none focus:outline-none leading-tight w-full {{ getInputPaddings() }} {{ ngtStyle.compile(['h', 'text', 'color.border', 'color.bg', 'color.text', 'rounded', 'cursor']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly || loading\" [placeholder]=\"placeholder\"\n [style]=\"uppercase ? 'text-transform: uppercase!important':''\"\n [ngClass]=\"{'input-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n [attr.type]=\"inputProperties.htmlType\" #element>\n <span *ngIf=\"innerLeftIcon\"\n class=\"absolute self-center px-2 {{ innerLeftIconColor }} {{ onClickLeftIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickLeftIcon.emit()\">\n\n <ngt-svg *ngIf=\"!showRoundedIcon\" class=\"fill-current\" [src]='innerLeftIcon'></ngt-svg>\n <img *ngIf=\"showRoundedIcon\" class=\"rounded-full h-6\" [src]='innerLeftIcon'>\n </span>\n\n <div class=\"flex absolute h-full justify-end right-0 w-auto\">\n <span *ngIf=\"allowClear && value && !loading\" class=\"self-center right-0 px-2 text-red-400 cursor-pointer\"\n (click)='clearInput($event)'>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </span>\n\n <span *ngIf=\"loading\" class=\"self-center right-0 px-2 text-gray-500\">\n <div class=\"div-loader\"></div>\n </span>\n\n <span *ngIf=\"type == 'password' && value\" class=\"self-center px-2 cursor-pointer\">\n <svg *ngIf=\"element.type == 'password'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='showPassword()'>\n <path\n d=\"M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n\n <svg *ngIf=\"element.type == 'text'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='hidePassword()'>\n <path\n d=\"M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z\" />\n </svg>\n </span>\n\n <span *ngIf=\"innerRightIcon && type != 'password'\"\n class=\"self-center px-2 {{ innerRightIconColor }} {{ onClickRightIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickRightIcon.emit()\">\n <ngt-svg class=\"fill-current\" [src]='innerRightIcon'></ngt-svg>\n </span>\n </div>\n</div>\n\n<ng-container *ngIf=\"showCharactersLength && maxTotalCharsCount && !shining\">\n <p class=\"text-xs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}:\n <span class=\"font-semibold\">{{ getRemainingCharacters() }}</span>\n </p>\n</ng-container>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\" [minValue]='minValue' [minLength]='minLength'>\n</ngt-validation>", styles: [".div-loader{width:20px;height:20px;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
2575
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\" class=\"mb-2 flex {{ ngtStyle.compile(['color.text', 'text', 'fontCase']) }}\" [hidden]='shining'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n <span [innerHtml]=\"helpText\"></span>\n </ngt-helper>\n</label>\n\n<div class=\"{{ shining ? 'hidden' : 'flex relative'}}\">\n <input autocomplete=\"new-password\"\n class=\"flex border appearance-none focus:outline-none leading-tight w-full {{ getInputPaddings() }} {{ ngtStyle.compile(['h', 'text', 'color.border', 'color.bg', 'color.text', 'rounded', 'cursor']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly || loading\" [placeholder]=\"placeholder\"\n [style]=\"uppercase ? 'text-transform: uppercase!important':''\"\n [ngClass]=\"{'input-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n [attr.type]=\"inputProperties.htmlType\" #element>\n <span *ngIf=\"innerLeftIcon\"\n class=\"absolute self-center px-2 {{ innerLeftIconColor }} {{ onClickLeftIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickLeftIcon.emit()\">\n\n <ngt-svg *ngIf=\"!showRoundedIcon\" class=\"fill-current\" [src]='innerLeftIcon'></ngt-svg>\n <img *ngIf=\"showRoundedIcon\" class=\"rounded-full h-6\" [src]='innerLeftIcon'>\n </span>\n\n <div class=\"flex absolute h-full justify-end right-0 w-auto\">\n <span *ngIf=\"allowClear && value && !loading\" class=\"self-center right-0 px-2 text-red-400 cursor-pointer\"\n (click)='clearInput($event)'>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </span>\n\n <span *ngIf=\"loading\" class=\"self-center right-0 px-2 text-gray-500\">\n <div class=\"div-loader\"></div>\n </span>\n\n <span *ngIf=\"type == 'password' && value\" class=\"self-center px-2 cursor-pointer\">\n <svg *ngIf=\"element.type == 'password'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='showPassword()'>\n <path\n d=\"M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n\n <svg *ngIf=\"element.type == 'text'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='hidePassword()'>\n <path\n d=\"M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z\" />\n </svg>\n </span>\n\n <span *ngIf=\"innerRightIcon && type != 'password'\"\n class=\"self-center px-2 {{ innerRightIconColor }} {{ onClickRightIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickRightIcon.emit()\">\n <ngt-svg class=\"fill-current\" [src]='innerRightIcon'></ngt-svg>\n </span>\n </div>\n</div>\n\n<ng-container *ngIf=\"showCharactersLength && maxTotalCharsCount && !shining\">\n <p class=\"text-xs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}:\n <span class=\"font-semibold\">{{ getRemainingCharacters() }}</span>\n </p>\n</ng-container>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\" [minValue]='minValue' [minLength]='minLength'>\n</ngt-validation>", styles: [".div-loader{width:20px;height:20px;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
2353
2576
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
2354
2577
|
] });
|
|
2355
2578
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtInputComponent, decorators: [{
|
|
@@ -2363,7 +2586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
2363
2586
|
type: Self
|
|
2364
2587
|
}, {
|
|
2365
2588
|
type: Optional
|
|
2366
|
-
}] }, { type: i2$
|
|
2589
|
+
}] }, { type: i2$1.ControlContainer, decorators: [{
|
|
2367
2590
|
type: Optional
|
|
2368
2591
|
}, {
|
|
2369
2592
|
type: Host
|
|
@@ -2726,12 +2949,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
2726
2949
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
2727
2950
|
|
|
2728
2951
|
class NgtSelectComponent extends NgtBaseNgModel {
|
|
2729
|
-
constructor(ngtStylizableDirective, injector, formContainer,
|
|
2952
|
+
constructor(ngtStylizableDirective, injector, formContainer, ngtForm, ngtSection, ngtHttp, changeDetector, ngtTranslateService) {
|
|
2730
2953
|
super();
|
|
2731
2954
|
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
2732
2955
|
this.injector = injector;
|
|
2733
2956
|
this.formContainer = formContainer;
|
|
2734
|
-
this.
|
|
2957
|
+
this.ngtForm = ngtForm;
|
|
2958
|
+
this.ngtSection = ngtSection;
|
|
2735
2959
|
this.ngtHttp = ngtHttp;
|
|
2736
2960
|
this.changeDetector = changeDetector;
|
|
2737
2961
|
this.ngtTranslateService = ngtTranslateService;
|
|
@@ -2749,6 +2973,7 @@ class NgtSelectComponent extends NgtBaseNgModel {
|
|
|
2749
2973
|
this.createText = '';
|
|
2750
2974
|
this.labelForId = '';
|
|
2751
2975
|
this.dropdownPanelMinHeight = NgtSelectDropdownPanelHeight.AUTO;
|
|
2976
|
+
this.helperAutoXReverse = true;
|
|
2752
2977
|
this.allowCreate = false;
|
|
2753
2978
|
this.allowOriginalItemsUnselect = true;
|
|
2754
2979
|
this.isDisabled = false;
|
|
@@ -2790,12 +3015,6 @@ class NgtSelectComponent extends NgtBaseNgModel {
|
|
|
2790
3015
|
}
|
|
2791
3016
|
};
|
|
2792
3017
|
this.compareWith = (a, b) => a === b;
|
|
2793
|
-
if (this.ngtFormComponent) {
|
|
2794
|
-
this.shining = this.ngtFormComponent.isShining();
|
|
2795
|
-
this.subscriptions.push(this.ngtFormComponent.onShiningChange.subscribe((shining) => {
|
|
2796
|
-
this.shining = shining;
|
|
2797
|
-
}));
|
|
2798
|
-
}
|
|
2799
3018
|
if (this.ngtStylizableDirective) {
|
|
2800
3019
|
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
2801
3020
|
}
|
|
@@ -2835,6 +3054,21 @@ class NgtSelectComponent extends NgtBaseNgModel {
|
|
|
2835
3054
|
}
|
|
2836
3055
|
ngAfterViewInit() {
|
|
2837
3056
|
this.bindInnerInputUniqueId();
|
|
3057
|
+
this.bindSubscriptions();
|
|
3058
|
+
}
|
|
3059
|
+
ngOnChanges(changes) {
|
|
3060
|
+
if (changes.isRequired) {
|
|
3061
|
+
this.updateValidations();
|
|
3062
|
+
}
|
|
3063
|
+
if (changes.remoteResource || changes.items) {
|
|
3064
|
+
this.initNgSelectItems();
|
|
3065
|
+
}
|
|
3066
|
+
if (changes.dropdownPanelMinHeight) {
|
|
3067
|
+
this.dropdownPanelMinHeight = getEnumFromString(changes.dropdownPanelMinHeight.currentValue, NgtSelectDropdownPanelHeight);
|
|
3068
|
+
}
|
|
3069
|
+
if (changes.isDisabled && !changes.isDisabled.currentValue) {
|
|
3070
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
3071
|
+
}
|
|
2838
3072
|
}
|
|
2839
3073
|
ngDoCheck() {
|
|
2840
3074
|
if (!this.hadFirstItemsLoad && this.canLoadItems()) {
|
|
@@ -2868,17 +3102,6 @@ class NgtSelectComponent extends NgtBaseNgModel {
|
|
|
2868
3102
|
this.nativeValue = undefined;
|
|
2869
3103
|
this.refresh();
|
|
2870
3104
|
}
|
|
2871
|
-
ngOnChanges(changes) {
|
|
2872
|
-
if (changes.isRequired) {
|
|
2873
|
-
this.updateValidations();
|
|
2874
|
-
}
|
|
2875
|
-
if (changes.remoteResource || changes.items) {
|
|
2876
|
-
this.initNgSelectItems();
|
|
2877
|
-
}
|
|
2878
|
-
if (changes.dropdownPanelMinHeight) {
|
|
2879
|
-
this.dropdownPanelMinHeight = getEnumFromString(changes.dropdownPanelMinHeight.currentValue, NgtSelectDropdownPanelHeight);
|
|
2880
|
-
}
|
|
2881
|
-
}
|
|
2882
3105
|
setFocus() {
|
|
2883
3106
|
setTimeout(() => {
|
|
2884
3107
|
this.ngSelectComponent.focus();
|
|
@@ -3114,20 +3337,45 @@ class NgtSelectComponent extends NgtBaseNgModel {
|
|
|
3114
3337
|
canLoadItems() {
|
|
3115
3338
|
return this.autoLoad || (!this.isDisabled && this.wasClicked);
|
|
3116
3339
|
}
|
|
3117
|
-
destroySubscriptions() {
|
|
3118
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
3119
|
-
this.subscriptions = [];
|
|
3120
|
-
}
|
|
3121
3340
|
canAutoSelectUniqueOption(response) {
|
|
3122
3341
|
return !this.value && this.autoSelectUniqueOption
|
|
3123
3342
|
&& ((Array.isArray(response?.data) && response?.data?.length === 1)
|
|
3124
3343
|
|| (!response && Array.isArray(this.items) && this.items?.length == 1));
|
|
3125
3344
|
}
|
|
3345
|
+
bindSubscriptions() {
|
|
3346
|
+
this.changeDetector.detectChanges();
|
|
3347
|
+
if (!this.isDisabled) {
|
|
3348
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
3349
|
+
}
|
|
3350
|
+
if (this.ngtForm) {
|
|
3351
|
+
this.shining = this.ngtForm.isShining();
|
|
3352
|
+
this.subscriptions.push(this.ngtForm.onShiningChange.subscribe((shining) => {
|
|
3353
|
+
this.shining = shining;
|
|
3354
|
+
}));
|
|
3355
|
+
this.subscriptions.push(this.ngtForm.onIsDisabledChange.subscribe((isDisabled) => {
|
|
3356
|
+
if (!this.isDisabled) {
|
|
3357
|
+
this.isDisabled = isDisabled || this.ngtSection?.isDisabled;
|
|
3358
|
+
}
|
|
3359
|
+
}));
|
|
3360
|
+
}
|
|
3361
|
+
if (this.ngtSection) {
|
|
3362
|
+
this.subscriptions.push(this.ngtSection.onIsDisabledChange.subscribe((isDisabled) => {
|
|
3363
|
+
if (!this.isDisabled) {
|
|
3364
|
+
this.isDisabled = isDisabled || this.ngtForm?.isDisabled;
|
|
3365
|
+
}
|
|
3366
|
+
}));
|
|
3367
|
+
}
|
|
3368
|
+
this.changeDetector.detectChanges();
|
|
3369
|
+
}
|
|
3370
|
+
destroySubscriptions() {
|
|
3371
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
3372
|
+
this.subscriptions = [];
|
|
3373
|
+
}
|
|
3126
3374
|
}
|
|
3127
|
-
NgtSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSelectComponent, deps: [{ token: NgtStylizableDirective, optional: true, self: true }, { token: i0.Injector }, { token: i2$
|
|
3375
|
+
NgtSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSelectComponent, deps: [{ token: NgtStylizableDirective, optional: true, self: true }, { token: i0.Injector }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }, { token: NgtHttpService }, { token: i0.ChangeDetectorRef }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3128
3376
|
NgtSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtSelectComponent, selector: "ngt-select", inputs: { label: "label", labelIcon: "labelIcon", labelIconColor: "labelIconColor", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", shining: "shining", loading: "loading", loadingText: "loadingText", notFoundText: "notFoundText", dropdownPosition: "dropdownPosition", typeToSearchText: "typeToSearchText", clearAllTooltip: "clearAllTooltip", placeholder: "placeholder", createText: "createText", labelForId: "labelForId", dropdownPanelMinHeight: "dropdownPanelMinHeight", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse", name: "name", autoLoad: "autoLoad", allowCreate: "allowCreate", allowOriginalItemsUnselect: "allowOriginalItemsUnselect", isDisabled: "isDisabled", isReadonly: "isReadonly", remoteResource: "remoteResource", hideSelected: "hideSelected", bindLabel: "bindLabel", bindValue: "bindValue", items: "items", inputAttrs: "inputAttrs", closeOnSelect: "closeOnSelect", clearable: "clearable", groupBy: "groupBy", maxSelectedItems: "maxSelectedItems", multiple: "multiple", searchable: "searchable", clearSearchOnAdd: "clearSearchOnAdd", virtualScroll: "virtualScroll", tabIndex: "tabIndex", typeahead: "typeahead", guessCompareWith: "guessCompareWith", autoSelectUniqueOption: "autoSelectUniqueOption", groupValue: "groupValue", trackBy: "trackBy", isRequired: "isRequired", compareWith: "compareWith" }, outputs: { onLoadRemoteResource: "onLoadRemoteResource", onClear: "onClear" }, providers: [
|
|
3129
3377
|
NgtMakeProvider(NgtSelectComponent)
|
|
3130
|
-
], queries: [{ propertyName: "ngtOptionTemplate", first: true, predicate: NgtSelectOptionTmp, descendants: true, read: TemplateRef }, { propertyName: "ngtOptionSelectedTemplate", first: true, predicate: NgtSelectOptionSelectedTmp, descendants: true, read: TemplateRef }, { propertyName: "ngtSelectHeaderTemplate", first: true, predicate: NgtSelectHeaderTmp, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ getSelectClass() }} normal-case\" style=\"min-height: 3rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [disabled]='isDisabled || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.ng-select,.ng-select.custom .ng-select-container{height:100%;margin-top:-1px;margin-bottom:-1px}.ng-select-container{color:inherit!important;min-height:3rem!important}.select-border-disabled .ng-select-container{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem;padding:1px}.select-border-error .ng-select-container{border:solid #c53030 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.select-border-normal .ng-select-container{border:solid #cbd5e0 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.ng-value{max-width:100%}.ng-select-dropdown-panel-auto .ng-dropdown-panel .ng-dropdown-panel-items{min-height:unset}.ng-select-dropdown-panel-xs .ng-dropdown-panel .ng-dropdown-panel-items{min-height:80px!important}.ng-select-dropdown-panel-sm .ng-dropdown-panel .ng-dropdown-panel-items{min-height:100px!important}.ng-select-dropdown-panel-md .ng-dropdown-panel .ng-dropdown-panel-items{min-height:120px!important}.ng-select-dropdown-panel-lg .ng-dropdown-panel .ng-dropdown-panel-items{min-height:140px!important}.ng-select-dropdown-panel-xl .ng-dropdown-panel .ng-dropdown-panel-items{min-height:160px!important}.ng-dropdown-panel .ng-dropdown-header{padding:0!important}\n"], dependencies: [{ 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: i2$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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i7.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i7.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i7.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], viewProviders: [
|
|
3378
|
+
], queries: [{ propertyName: "ngtOptionTemplate", first: true, predicate: NgtSelectOptionTmp, descendants: true, read: TemplateRef }, { propertyName: "ngtOptionSelectedTemplate", first: true, predicate: NgtSelectOptionSelectedTmp, descendants: true, read: TemplateRef }, { propertyName: "ngtSelectHeaderTemplate", first: true, predicate: NgtSelectHeaderTmp, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ getSelectClass() }} normal-case\" style=\"min-height: 3rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [disabled]='isDisabled || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.ng-select,.ng-select.custom .ng-select-container{height:100%;margin-top:-1px;margin-bottom:-1px}.ng-select-container{color:inherit!important;min-height:3rem!important}.select-border-disabled .ng-select-container{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem;padding:1px}.select-border-error .ng-select-container{border:solid #c53030 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.select-border-normal .ng-select-container{border:solid #cbd5e0 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.ng-value{max-width:100%}.ng-select-dropdown-panel-auto .ng-dropdown-panel .ng-dropdown-panel-items{min-height:unset}.ng-select-dropdown-panel-xs .ng-dropdown-panel .ng-dropdown-panel-items{min-height:80px!important}.ng-select-dropdown-panel-sm .ng-dropdown-panel .ng-dropdown-panel-items{min-height:100px!important}.ng-select-dropdown-panel-md .ng-dropdown-panel .ng-dropdown-panel-items{min-height:120px!important}.ng-select-dropdown-panel-lg .ng-dropdown-panel .ng-dropdown-panel-items{min-height:140px!important}.ng-select-dropdown-panel-xl .ng-dropdown-panel .ng-dropdown-panel-items{min-height:160px!important}.ng-dropdown-panel .ng-dropdown-header{padding:0!important}\n"], dependencies: [{ 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: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i8.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i8.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i8.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], viewProviders: [
|
|
3131
3379
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
3132
3380
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
3133
3381
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSelectComponent, decorators: [{
|
|
@@ -3136,12 +3384,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
3136
3384
|
NgtMakeProvider(NgtSelectComponent)
|
|
3137
3385
|
], viewProviders: [
|
|
3138
3386
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
3139
|
-
], encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ getSelectClass() }} normal-case\" style=\"min-height: 3rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [disabled]='isDisabled || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.ng-select,.ng-select.custom .ng-select-container{height:100%;margin-top:-1px;margin-bottom:-1px}.ng-select-container{color:inherit!important;min-height:3rem!important}.select-border-disabled .ng-select-container{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem;padding:1px}.select-border-error .ng-select-container{border:solid #c53030 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.select-border-normal .ng-select-container{border:solid #cbd5e0 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.ng-value{max-width:100%}.ng-select-dropdown-panel-auto .ng-dropdown-panel .ng-dropdown-panel-items{min-height:unset}.ng-select-dropdown-panel-xs .ng-dropdown-panel .ng-dropdown-panel-items{min-height:80px!important}.ng-select-dropdown-panel-sm .ng-dropdown-panel .ng-dropdown-panel-items{min-height:100px!important}.ng-select-dropdown-panel-md .ng-dropdown-panel .ng-dropdown-panel-items{min-height:120px!important}.ng-select-dropdown-panel-lg .ng-dropdown-panel .ng-dropdown-panel-items{min-height:140px!important}.ng-select-dropdown-panel-xl .ng-dropdown-panel .ng-dropdown-panel-items{min-height:160px!important}.ng-dropdown-panel .ng-dropdown-header{padding:0!important}\n"] }]
|
|
3387
|
+
], encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ getSelectClass() }} normal-case\" style=\"min-height: 3rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [disabled]='isDisabled || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.ng-select,.ng-select.custom .ng-select-container{height:100%;margin-top:-1px;margin-bottom:-1px}.ng-select-container{color:inherit!important;min-height:3rem!important}.select-border-disabled .ng-select-container{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem;padding:1px}.select-border-error .ng-select-container{border:solid #c53030 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.select-border-normal .ng-select-container{border:solid #cbd5e0 1px!important;background-color:unset!important;border-radius:.25rem;padding:1px}.ng-value{max-width:100%}.ng-select-dropdown-panel-auto .ng-dropdown-panel .ng-dropdown-panel-items{min-height:unset}.ng-select-dropdown-panel-xs .ng-dropdown-panel .ng-dropdown-panel-items{min-height:80px!important}.ng-select-dropdown-panel-sm .ng-dropdown-panel .ng-dropdown-panel-items{min-height:100px!important}.ng-select-dropdown-panel-md .ng-dropdown-panel .ng-dropdown-panel-items{min-height:120px!important}.ng-select-dropdown-panel-lg .ng-dropdown-panel .ng-dropdown-panel-items{min-height:140px!important}.ng-select-dropdown-panel-xl .ng-dropdown-panel .ng-dropdown-panel-items{min-height:160px!important}.ng-dropdown-panel .ng-dropdown-header{padding:0!important}\n"] }]
|
|
3140
3388
|
}], ctorParameters: function () { return [{ type: NgtStylizableDirective, decorators: [{
|
|
3141
3389
|
type: Optional
|
|
3142
3390
|
}, {
|
|
3143
3391
|
type: Self
|
|
3144
|
-
}] }, { type: i0.Injector }, { type: i2$
|
|
3392
|
+
}] }, { type: i0.Injector }, { type: i2$1.ControlContainer, decorators: [{
|
|
3145
3393
|
type: Optional
|
|
3146
3394
|
}, {
|
|
3147
3395
|
type: Host
|
|
@@ -3149,6 +3397,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
3149
3397
|
type: Optional
|
|
3150
3398
|
}, {
|
|
3151
3399
|
type: SkipSelf
|
|
3400
|
+
}] }, { type: NgtSectionComponent, decorators: [{
|
|
3401
|
+
type: Optional
|
|
3402
|
+
}, {
|
|
3403
|
+
type: SkipSelf
|
|
3152
3404
|
}] }, { type: NgtHttpService }, { type: i0.ChangeDetectorRef }, { type: NgtTranslateService, decorators: [{
|
|
3153
3405
|
type: Optional
|
|
3154
3406
|
}] }]; }, propDecorators: { ngSelectComponent: [{
|
|
@@ -3463,7 +3715,7 @@ class NgtPaginationComponent {
|
|
|
3463
3715
|
}
|
|
3464
3716
|
}
|
|
3465
3717
|
NgtPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtPaginationComponent, deps: [{ token: i0.Injector }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3466
|
-
NgtPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtPaginationComponent, selector: "ngt-pagination", inputs: { pagesInterval: "pagesInterval" }, outputs: { onPageChange: "onPageChange", onPerPageChange: "onPerPageChange" }, ngImport: i0, template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationActivePageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationPageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>", dependencies: [{ 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$
|
|
3718
|
+
NgtPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtPaginationComponent, selector: "ngt-pagination", inputs: { pagesInterval: "pagesInterval" }, outputs: { onPageChange: "onPageChange", onPerPageChange: "onPerPageChange" }, ngImport: i0, template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationActivePageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationPageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>", dependencies: [{ 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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }, { kind: "component", type: NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled"] }, { kind: "component", type: NgtSelectComponent, selector: "ngt-select", inputs: ["label", "labelIcon", "labelIconColor", "helpTitle", "helpText", "helpTextColor", "shining", "loading", "loadingText", "notFoundText", "dropdownPosition", "typeToSearchText", "clearAllTooltip", "placeholder", "createText", "labelForId", "dropdownPanelMinHeight", "helperReverseYPosition", "helperAutoXReverse", "name", "autoLoad", "allowCreate", "allowOriginalItemsUnselect", "isDisabled", "isReadonly", "remoteResource", "hideSelected", "bindLabel", "bindValue", "items", "inputAttrs", "closeOnSelect", "clearable", "groupBy", "maxSelectedItems", "multiple", "searchable", "clearSearchOnAdd", "virtualScroll", "tabIndex", "typeahead", "guessCompareWith", "autoSelectUniqueOption", "groupValue", "trackBy", "isRequired", "compareWith"], outputs: ["onLoadRemoteResource", "onClear"] }, { kind: "directive", type: NgtSelectOptionTmp, selector: "[ngt-select-option]" }] });
|
|
3467
3719
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtPaginationComponent, decorators: [{
|
|
3468
3720
|
type: Component,
|
|
3469
3721
|
args: [{ selector: 'ngt-pagination', template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationActivePageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationPageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>" }]
|
|
@@ -3786,7 +4038,9 @@ class NgtDatatableComponent {
|
|
|
3786
4038
|
}
|
|
3787
4039
|
this.subscriptions.push(this.ngtHttpService.get(this.remoteResource, this.currentState.filters.qualifiedFilters, pagination, this.currentState.sort).subscribe((response) => {
|
|
3788
4040
|
this.proccessRemoteResponse(response.data);
|
|
3789
|
-
|
|
4041
|
+
if (response.meta) {
|
|
4042
|
+
this.ngtPagination.proccessPagination(response.meta);
|
|
4043
|
+
}
|
|
3790
4044
|
this.searching = false;
|
|
3791
4045
|
this.loading = false;
|
|
3792
4046
|
if (this.inputSearch) {
|
|
@@ -4106,7 +4360,7 @@ class NgtTdCheckComponent {
|
|
|
4106
4360
|
}
|
|
4107
4361
|
}
|
|
4108
4362
|
NgtTdCheckComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtTdCheckComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtDatatableComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4109
|
-
NgtTdCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtTdCheckComponent, selector: "[ngt-td-check]", inputs: { reference: "reference", isDisabled: "isDisabled", checked: "checked" }, outputs: { onCheckboxInit: "onCheckboxInit" }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: NgtCheckboxComponent, descendants: true, static: true }], ngImport: i0, template: "<ngt-checkbox [(ngModel)]='checked' [isDisabled]=\"isDisabled\" (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i2$
|
|
4363
|
+
NgtTdCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtTdCheckComponent, selector: "[ngt-td-check]", inputs: { reference: "reference", isDisabled: "isDisabled", checked: "checked" }, outputs: { onCheckboxInit: "onCheckboxInit" }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: NgtCheckboxComponent, descendants: true, static: true }], ngImport: i0, template: "<ngt-checkbox [(ngModel)]='checked' [isDisabled]=\"isDisabled\" (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }] });
|
|
4110
4364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtTdCheckComponent, decorators: [{
|
|
4111
4365
|
type: Component,
|
|
4112
4366
|
args: [{ selector: '[ngt-td-check]', template: "<ngt-checkbox [(ngModel)]='checked' [isDisabled]=\"isDisabled\" (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>" }]
|
|
@@ -4259,7 +4513,7 @@ class NgtThCheckComponent {
|
|
|
4259
4513
|
}
|
|
4260
4514
|
}
|
|
4261
4515
|
NgtThCheckComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThCheckComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtDatatableComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4262
|
-
NgtThCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThCheckComponent, selector: "[ngt-th-check]", ngImport: i0, template: "<ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i2$
|
|
4516
|
+
NgtThCheckComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThCheckComponent, selector: "[ngt-th-check]", ngImport: i0, template: "<ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }] });
|
|
4263
4517
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThCheckComponent, decorators: [{
|
|
4264
4518
|
type: Component,
|
|
4265
4519
|
args: [{ selector: '[ngt-th-check]', template: "<ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>" }]
|
|
@@ -4435,7 +4689,7 @@ class NgtThComponent {
|
|
|
4435
4689
|
}
|
|
4436
4690
|
}
|
|
4437
4691
|
NgtThComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtDatatableComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4438
|
-
NgtThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThComponent, selector: "[ngt-th]", inputs: { reference: "reference", sortReference: "sortReference", modalWidth: "modalWidth", sortable: "sortable", searchable: "searchable", hasCustomSearch: "hasCustomSearch", searchLabel: "searchLabel", sortableTooltip: "sortableTooltip" }, outputs: { onEnableSearch: "onEnableSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body>\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
4692
|
+
NgtThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThComponent, selector: "[ngt-th]", inputs: { reference: "reference", sortReference: "sortReference", modalWidth: "modalWidth", sortable: "sortable", searchable: "searchable", hasCustomSearch: "hasCustomSearch", searchLabel: "searchLabel", sortableTooltip: "sortableTooltip" }, outputs: { onEnableSearch: "onEnableSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body>\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "helperReverseYPosition", "helperAutoXReverse"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtModalHeaderComponent, selector: "ngt-modal-header", inputs: ["disableDefaultCloses"] }, { kind: "component", type: NgtModalBodyComponent, selector: "ngt-modal-body" }, { kind: "component", type: NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }] });
|
|
4439
4693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThComponent, decorators: [{
|
|
4440
4694
|
type: Component,
|
|
4441
4695
|
args: [{ selector: '[ngt-th]', template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body>\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>" }]
|
|
@@ -4725,7 +4979,7 @@ class NgtFloatingButtonComponent {
|
|
|
4725
4979
|
}
|
|
4726
4980
|
}
|
|
4727
4981
|
NgtFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFloatingButtonComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4728
|
-
NgtFloatingButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFloatingButtonComponent, selector: "ngt-floating-button", inputs: { menus: "menus", icon: "icon", label: "label", withAnimation: "withAnimation" }, ngImport: i0, template: "<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-sm font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-sm font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-sm font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>", dependencies: [{ 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$
|
|
4982
|
+
NgtFloatingButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFloatingButtonComponent, selector: "ngt-floating-button", inputs: { menus: "menus", icon: "icon", label: "label", withAnimation: "withAnimation" }, ngImport: i0, template: "<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-sm font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-sm font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-sm font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>", dependencies: [{ 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$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }], animations: [
|
|
4729
4983
|
trigger('fadeY', [
|
|
4730
4984
|
state('void', style({ opacity: 0, transform: 'translateY(10px)' })),
|
|
4731
4985
|
transition(':enter, :leave', [
|
|
@@ -4852,7 +5106,7 @@ class NgtSliderComponent extends NgtBaseNgModel {
|
|
|
4852
5106
|
this.subscriptions = [];
|
|
4853
5107
|
}
|
|
4854
5108
|
}
|
|
4855
|
-
NgtSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSliderComponent, deps: [{ token: i2$
|
|
5109
|
+
NgtSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSliderComponent, deps: [{ token: i2$1.ControlContainer, host: true, optional: true }, { token: i0.Renderer2 }, { token: NgtFormComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4856
5110
|
NgtSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtSliderComponent, selector: "ngt-slider", inputs: { label: "label", shining: "shining", isDisabled: "isDisabled", showPercentageSymbol: "showPercentageSymbol", name: "name", min: "min", max: "max", step: "step", color: "color" }, providers: [
|
|
4857
5111
|
NgtMakeProvider(NgtSliderComponent),
|
|
4858
5112
|
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }, { propertyName: "display", first: true, predicate: ["display"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col\">\n <span *ngIf='label && !shining' class=\"text-sm mb-2\">{{ label }}:</span>\n\n <div class=\"{{ shining ? 'hidden' : 'flex' }} items-center\">\n <input class=\"block w-full cursor-pointer overflow-hidden appearance-none bg-gray-400 {{color}}\"\n [class.cursor-not-allowed]=\"isDisabled\" type=\"range\" [name]='name' ([ngModel])='value'\n oninput=\"display.innerHTML=value\" onchange=\"display.innerHTML=value\" [min]='min' [max]='max' [step]='step'\n [disabled]=\"isDisabled\" #element>\n\n <span id='display' class=\"text-xs ml-2 font-semibold\" #display></span>\n <span *ngIf=\"showPercentageSymbol\" class=\"text-xs font-semibold\">%</span>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-full h-6\"></ngt-shining>\n </div>\n</ng-container>", styles: ["@media screen and (-webkit-min-device-pixel-ratio: 0){input[type=range]::-webkit-slider-thumb{width:15px;-webkit-appearance:none;appearance:none;height:15px;cursor:pointer;background:#FFF;border-radius:50%}.primary::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #4299e1}.success::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #6c9f23}.warning::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #ffb822}.danger::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #f56565}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }], viewProviders: [
|
|
@@ -4865,7 +5119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
4865
5119
|
], viewProviders: [
|
|
4866
5120
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
4867
5121
|
], template: "<div class=\"flex flex-col\">\n <span *ngIf='label && !shining' class=\"text-sm mb-2\">{{ label }}:</span>\n\n <div class=\"{{ shining ? 'hidden' : 'flex' }} items-center\">\n <input class=\"block w-full cursor-pointer overflow-hidden appearance-none bg-gray-400 {{color}}\"\n [class.cursor-not-allowed]=\"isDisabled\" type=\"range\" [name]='name' ([ngModel])='value'\n oninput=\"display.innerHTML=value\" onchange=\"display.innerHTML=value\" [min]='min' [max]='max' [step]='step'\n [disabled]=\"isDisabled\" #element>\n\n <span id='display' class=\"text-xs ml-2 font-semibold\" #display></span>\n <span *ngIf=\"showPercentageSymbol\" class=\"text-xs font-semibold\">%</span>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-full h-6\"></ngt-shining>\n </div>\n</ng-container>", styles: ["@media screen and (-webkit-min-device-pixel-ratio: 0){input[type=range]::-webkit-slider-thumb{width:15px;-webkit-appearance:none;appearance:none;height:15px;cursor:pointer;background:#FFF;border-radius:50%}.primary::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #4299e1}.success::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #6c9f23}.warning::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #ffb822}.danger::-webkit-slider-thumb{box-shadow:-405px 0 0 400px #f56565}}\n"] }]
|
|
4868
|
-
}], ctorParameters: function () { return [{ type: i2$
|
|
5122
|
+
}], ctorParameters: function () { return [{ type: i2$1.ControlContainer, decorators: [{
|
|
4869
5123
|
type: Optional
|
|
4870
5124
|
}, {
|
|
4871
5125
|
type: Host
|
|
@@ -4944,23 +5198,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
4944
5198
|
}] } });
|
|
4945
5199
|
|
|
4946
5200
|
class NgtRadioButtonComponent extends NgtBaseNgModel {
|
|
4947
|
-
constructor(injector, formContainer, renderer, ngtStylizableDirective,
|
|
5201
|
+
constructor(changeDetector, injector, formContainer, renderer, ngtStylizableDirective, ngtForm, ngtSection, ngtRadioButtonContainer) {
|
|
4948
5202
|
super();
|
|
5203
|
+
this.changeDetector = changeDetector;
|
|
4949
5204
|
this.injector = injector;
|
|
4950
5205
|
this.formContainer = formContainer;
|
|
4951
5206
|
this.renderer = renderer;
|
|
4952
5207
|
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
4953
|
-
this.
|
|
5208
|
+
this.ngtForm = ngtForm;
|
|
5209
|
+
this.ngtSection = ngtSection;
|
|
4954
5210
|
this.ngtRadioButtonContainer = ngtRadioButtonContainer;
|
|
4955
5211
|
this.isSelectable = true;
|
|
4956
5212
|
this.helpTextColor = 'text-green-500';
|
|
4957
5213
|
this.subscriptions = [];
|
|
4958
|
-
if (this.ngtFormComponent) {
|
|
4959
|
-
this.shining = this.ngtFormComponent.isShining();
|
|
4960
|
-
this.subscriptions.push(this.ngtFormComponent.onShiningChange.subscribe((shining) => {
|
|
4961
|
-
this.shining = shining;
|
|
4962
|
-
}));
|
|
4963
|
-
}
|
|
4964
5214
|
if (this.ngtRadioButtonContainer) {
|
|
4965
5215
|
this.subscriptions.push(this.ngtRadioButtonContainer.onActiveRadioButtonChange.subscribe((activeRadioButton) => {
|
|
4966
5216
|
this.value = (activeRadioButton.name === this.name);
|
|
@@ -4983,6 +5233,12 @@ class NgtRadioButtonComponent extends NgtBaseNgModel {
|
|
|
4983
5233
|
this.renderer.listen(this.element.nativeElement, 'change', (value) => {
|
|
4984
5234
|
this.onNativeChange(this.element.nativeElement.checked);
|
|
4985
5235
|
});
|
|
5236
|
+
this.bindSubscriptions();
|
|
5237
|
+
}
|
|
5238
|
+
ngOnChanges(changes) {
|
|
5239
|
+
if (changes.isDisabled && !changes.isDisabled.currentValue) {
|
|
5240
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
5241
|
+
}
|
|
4986
5242
|
}
|
|
4987
5243
|
ngOnDestroy() {
|
|
4988
5244
|
this.destroySubscriptions();
|
|
@@ -5001,15 +5257,36 @@ class NgtRadioButtonComponent extends NgtBaseNgModel {
|
|
|
5001
5257
|
this.ngtRadioButtonContainer.setActiveRadioButton(this);
|
|
5002
5258
|
}
|
|
5003
5259
|
}
|
|
5260
|
+
bindSubscriptions() {
|
|
5261
|
+
this.changeDetector.detectChanges();
|
|
5262
|
+
if (!this.isDisabled) {
|
|
5263
|
+
this.isDisabled = this.ngtForm?.isDisabled || this.ngtSection?.isDisabled;
|
|
5264
|
+
}
|
|
5265
|
+
if (this.ngtForm) {
|
|
5266
|
+
this.subscriptions.push(this.ngtForm.onIsDisabledChange.subscribe((isDisabled) => {
|
|
5267
|
+
if (!this.isDisabled) {
|
|
5268
|
+
this.isDisabled = isDisabled || this.ngtSection?.isDisabled;
|
|
5269
|
+
}
|
|
5270
|
+
}));
|
|
5271
|
+
}
|
|
5272
|
+
if (this.ngtSection) {
|
|
5273
|
+
this.subscriptions.push(this.ngtSection.onIsDisabledChange.subscribe((isDisabled) => {
|
|
5274
|
+
if (!this.isDisabled) {
|
|
5275
|
+
this.isDisabled = isDisabled || this.ngtForm?.isDisabled;
|
|
5276
|
+
}
|
|
5277
|
+
}));
|
|
5278
|
+
}
|
|
5279
|
+
this.changeDetector.detectChanges();
|
|
5280
|
+
}
|
|
5004
5281
|
destroySubscriptions() {
|
|
5005
5282
|
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
5006
5283
|
this.subscriptions = [];
|
|
5007
5284
|
}
|
|
5008
5285
|
}
|
|
5009
|
-
NgtRadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtRadioButtonComponent, deps: [{ token: i0.Injector }, { token: i2$
|
|
5286
|
+
NgtRadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtRadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: i0.Renderer2 }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }, { token: NgtRadioButtonContainerComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5010
5287
|
NgtRadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtRadioButtonComponent, selector: "ngt-radio-button", inputs: { label: "label", name: "name", shining: "shining", isSelectable: "isSelectable", isDisabled: "isDisabled", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText" }, providers: [
|
|
5011
5288
|
NgtMakeProvider(NgtRadioButtonComponent),
|
|
5012
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label
|
|
5289
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label\n class=\"inline-flex items-center {{ isDisabled || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='isDisabled || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n style=\"width: 19px; height: 19px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\"\n style=\"width: 13px; height: 13px;\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-sm ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>", styles: ["label{margin-bottom:unset!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
5013
5290
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
5014
5291
|
] });
|
|
5015
5292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtRadioButtonComponent, decorators: [{
|
|
@@ -5018,8 +5295,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
5018
5295
|
NgtMakeProvider(NgtRadioButtonComponent),
|
|
5019
5296
|
], viewProviders: [
|
|
5020
5297
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
5021
|
-
], template: "<label
|
|
5022
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i2$
|
|
5298
|
+
], template: "<label\n class=\"inline-flex items-center {{ isDisabled || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='isDisabled || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n style=\"width: 19px; height: 19px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\"\n style=\"width: 13px; height: 13px;\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-sm ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>", styles: ["label{margin-bottom:unset!important}\n"] }]
|
|
5299
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i2$1.ControlContainer, decorators: [{
|
|
5023
5300
|
type: Optional
|
|
5024
5301
|
}, {
|
|
5025
5302
|
type: Host
|
|
@@ -5031,6 +5308,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
5031
5308
|
type: Optional
|
|
5032
5309
|
}, {
|
|
5033
5310
|
type: SkipSelf
|
|
5311
|
+
}] }, { type: NgtSectionComponent, decorators: [{
|
|
5312
|
+
type: Optional
|
|
5313
|
+
}, {
|
|
5314
|
+
type: SkipSelf
|
|
5034
5315
|
}] }, { type: NgtRadioButtonContainerComponent, decorators: [{
|
|
5035
5316
|
type: Optional
|
|
5036
5317
|
}, {
|
|
@@ -5241,10 +5522,10 @@ class NgtTextareaComponent extends NgtBaseNgModel {
|
|
|
5241
5522
|
this.subscriptions = [];
|
|
5242
5523
|
}
|
|
5243
5524
|
}
|
|
5244
|
-
NgtTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtTextareaComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$
|
|
5525
|
+
NgtTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtTextareaComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: i0.Renderer2 }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5245
5526
|
NgtTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtTextareaComponent, selector: "ngt-textarea", inputs: { label: "label", placeholder: "placeholder", rows: "rows", showCharactersLength: "showCharactersLength", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", shining: "shining", name: "name", isDisabled: "isDisabled", isReadonly: "isReadonly", jit: "jit", focus: "focus", isRequired: "isRequired", maxLength: "maxLength" }, providers: [
|
|
5246
5527
|
NgtMakeProvider(NgtTextareaComponent),
|
|
5247
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'fontCase']) }}\" *ngIf=\"label\"\n [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight px-4 py-3 rounded w-full h-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
5528
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'fontCase']) }}\" *ngIf=\"label\"\n [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight px-4 py-3 rounded w-full h-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
5248
5529
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
5249
5530
|
] });
|
|
5250
5531
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtTextareaComponent, decorators: [{
|
|
@@ -5258,7 +5539,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
5258
5539
|
type: Self
|
|
5259
5540
|
}, {
|
|
5260
5541
|
type: Optional
|
|
5261
|
-
}] }, { type: i2$
|
|
5542
|
+
}] }, { type: i2$1.ControlContainer, decorators: [{
|
|
5262
5543
|
type: Optional
|
|
5263
5544
|
}, {
|
|
5264
5545
|
type: Host
|
|
@@ -5646,10 +5927,10 @@ class NgtDateComponent extends NgtBaseNgModel {
|
|
|
5646
5927
|
this.subscriptions = [];
|
|
5647
5928
|
}
|
|
5648
5929
|
}
|
|
5649
|
-
NgtDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDateComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$
|
|
5930
|
+
NgtDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDateComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5650
5931
|
NgtDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtDateComponent, selector: "ngt-date", inputs: { label: "label", placeholder: "placeholder", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", shining: "shining", dateFormat: "dateFormat", dateFormatNgModel: "dateFormatNgModel", showCalendarIcon: "showCalendarIcon", helperReverseYPosition: "helperReverseYPosition", name: "name", isDisabled: "isDisabled", isReadonly: "isReadonly", mode: "mode", time_24hr: "time_24hr", enableTime: "enableTime", noCalendar: "noCalendar", minuteIncrement: "minuteIncrement", allowInput: "allowInput", locale: "locale", allowClear: "allowClear", minDate: "minDate", maxDate: "maxDate", defaultDate: "defaultDate", isRequired: "isRequired" }, providers: [
|
|
5651
5932
|
NgtMakeProvider(NgtDateComponent),
|
|
5652
|
-
], viewQueries: [{ propertyName: "ng2FlatpickrComponent", first: true, predicate: ["ng2FlatpickrComponent"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 {{ngtStyle.compile(['text', 'fontCase'])}} flex\" *ngIf=\"label\"\n [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"relative\" [hidden]='shining || isDisabled || isReadonly'>\n <div\n class=\"overflow-hidden {{ ngtStyle.compile(['h', 'color.text']) }} {{ hasErrors() ? 'border-error' : 'border-normal' }}\">\n <ng2-flatpickr class=\"block h-full\" [config]='dateConfig' disabled='true' placeholder=\"{{ placeholder }}\"\n #ng2FlatpickrComponent>\n </ng2-flatpickr>\n\n <div *ngIf=\"allowClear && value\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer {{showCalendarIcon ? 'mr-6' : 'mr-2'}}\"\n (click)='clearInput(true)'>\n <svg class=\"fill-current text-red-400\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showCalendarIcon\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer mr-2\">\n <svg class=\"fill-current text-lg\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19,4H17V3a1,1,0,0,0-2,0V4H9V3A1,1,0,0,0,7,3V4H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H19a3,3,0,0,0,3-3V7A3,3,0,0,0,19,4Zm1,15a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V12H20Zm0-9H4V7A1,1,0,0,1,5,6H7V7A1,1,0,0,0,9,7V6h6V7a1,1,0,0,0,2,0V6h2a1,1,0,0,1,1,1Z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ng-container *ngIf='isDisabled || isReadonly'>\n <div\n class=\"{{isDisabled ? 'disabledDiv' : ''}} {{ngtStyle.compile(['h'])}} w-full px-4 rounded appearance-none flex items-center border border-gray-400\">\n {{ getFormattedNativeValue() }}\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n", styles: [".flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:auto;box-sizing:border-box;touch-action:manipulation;background:#fff;box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:30px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\"\";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:\"\";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\\fffd;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:flex;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:flex;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:flex;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;box-sizing:border-box;display:inline-block;display:flex;flex-wrap:wrap;-ms-flex-wrap:wrap;justify-content:space-around;transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:flex;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:30px;max-height:40px;box-sizing:border-box;overflow:hidden;display:flex}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{flex:1;width:40%;height:30px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:12px;position:relative;box-sizing:border-box;-webkit-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;user-select:none;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@keyframes fpFadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.border-error{border:solid #c53030 1px;background-color:unset!important;border-radius:.25rem}.border-normal{border:solid #cbd5e0 1px;background-color:unset!important;border-radius:.25rem}.ng2-flatpickr-input:focus{outline:none}.ng2-flatpickr-input{border:0;width:100%;height:100%;padding-left:.8rem}.ng2-flatpickr-input-container{height:100%!important}.disabledDiv{background-color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.Ng2FlatpickrComponent, selector: "ng2-flatpickr", inputs: ["placeholder", "addClass", "hideButton", "tabindex", "config", "setDate"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
5933
|
+
], viewQueries: [{ propertyName: "ng2FlatpickrComponent", first: true, predicate: ["ng2FlatpickrComponent"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"{{ shining ? '' : 'block' }} mb-2 {{ngtStyle.compile(['text', 'fontCase'])}} flex\" *ngIf=\"label\"\n [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"relative\" [hidden]='shining || isDisabled || isReadonly'>\n <div\n class=\"overflow-hidden {{ ngtStyle.compile(['h', 'color.text']) }} {{ hasErrors() ? 'border-error' : 'border-normal' }}\">\n <ng2-flatpickr class=\"block h-full\" [config]='dateConfig' disabled='true' placeholder=\"{{ placeholder }}\"\n #ng2FlatpickrComponent>\n </ng2-flatpickr>\n\n <div *ngIf=\"allowClear && value\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer {{showCalendarIcon ? 'mr-6' : 'mr-2'}}\"\n (click)='clearInput(true)'>\n <svg class=\"fill-current text-red-400\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showCalendarIcon\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer mr-2\">\n <svg class=\"fill-current text-lg\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19,4H17V3a1,1,0,0,0-2,0V4H9V3A1,1,0,0,0,7,3V4H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H19a3,3,0,0,0,3-3V7A3,3,0,0,0,19,4Zm1,15a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V12H20Zm0-9H4V7A1,1,0,0,1,5,6H7V7A1,1,0,0,0,9,7V6h6V7a1,1,0,0,0,2,0V6h2a1,1,0,0,1,1,1Z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ng-container *ngIf='isDisabled || isReadonly'>\n <div\n class=\"{{isDisabled ? 'disabledDiv' : ''}} {{ngtStyle.compile(['h'])}} w-full px-4 rounded appearance-none flex items-center border border-gray-400\">\n {{ getFormattedNativeValue() }}\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n", styles: [".flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:auto;box-sizing:border-box;touch-action:manipulation;background:#fff;box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:30px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\"\";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:\"\";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\\fffd;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:flex;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:flex;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:flex;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;box-sizing:border-box;display:inline-block;display:flex;flex-wrap:wrap;-ms-flex-wrap:wrap;justify-content:space-around;transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:flex;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:30px;max-height:40px;box-sizing:border-box;overflow:hidden;display:flex}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{flex:1;width:40%;height:30px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:12px;position:relative;box-sizing:border-box;-webkit-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;user-select:none;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@keyframes fpFadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.border-error{border:solid #c53030 1px;background-color:unset!important;border-radius:.25rem}.border-normal{border:solid #cbd5e0 1px;background-color:unset!important;border-radius:.25rem}.ng2-flatpickr-input:focus{outline:none}.ng2-flatpickr-input{border:0;width:100%;height:100%;padding-left:.8rem}.ng2-flatpickr-input-container{height:100%!important}.disabledDiv{background-color:#fafafa}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.Ng2FlatpickrComponent, selector: "ng2-flatpickr", inputs: ["placeholder", "addClass", "hideButton", "tabindex", "config", "setDate"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
|
|
5653
5934
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
5654
5935
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
5655
5936
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDateComponent, decorators: [{
|
|
@@ -5663,7 +5944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
5663
5944
|
type: Self
|
|
5664
5945
|
}, {
|
|
5665
5946
|
type: Optional
|
|
5666
|
-
}] }, { type: i2$
|
|
5947
|
+
}] }, { type: i2$1.ControlContainer, decorators: [{
|
|
5667
5948
|
type: Optional
|
|
5668
5949
|
}, {
|
|
5669
5950
|
type: Host
|
|
@@ -5768,9 +6049,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
5768
6049
|
}] });
|
|
5769
6050
|
|
|
5770
6051
|
class NgtButtonComponent {
|
|
5771
|
-
constructor(
|
|
5772
|
-
this.
|
|
6052
|
+
constructor(changeDetector, injector, ngtForm, ngtStylizableDirective) {
|
|
6053
|
+
this.changeDetector = changeDetector;
|
|
5773
6054
|
this.injector = injector;
|
|
6055
|
+
this.ngtForm = ngtForm;
|
|
5774
6056
|
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
5775
6057
|
this.link = false;
|
|
5776
6058
|
this.type = 'success';
|
|
@@ -5784,11 +6066,10 @@ class NgtButtonComponent {
|
|
|
5784
6066
|
else {
|
|
5785
6067
|
this.ngtStyle = new NgtStylizableService();
|
|
5786
6068
|
}
|
|
5787
|
-
|
|
5788
|
-
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
}
|
|
6069
|
+
this.ngtStyle.load(this.injector, 'NgtButton', {
|
|
6070
|
+
px: 'px-4',
|
|
6071
|
+
py: 'py-2'
|
|
6072
|
+
});
|
|
5792
6073
|
}
|
|
5793
6074
|
onClick(event) {
|
|
5794
6075
|
if (this.isDisabled || this.loading) {
|
|
@@ -5796,6 +6077,9 @@ class NgtButtonComponent {
|
|
|
5796
6077
|
event.stopPropagation();
|
|
5797
6078
|
}
|
|
5798
6079
|
}
|
|
6080
|
+
ngAfterViewInit() {
|
|
6081
|
+
this.bindSubscriptions();
|
|
6082
|
+
}
|
|
5799
6083
|
ngOnChanges(changes) {
|
|
5800
6084
|
if (changes.type) {
|
|
5801
6085
|
if (changes.type.currentValue == 'success') {
|
|
@@ -5803,9 +6087,7 @@ class NgtButtonComponent {
|
|
|
5803
6087
|
color: {
|
|
5804
6088
|
bg: 'bg-green-500',
|
|
5805
6089
|
text: 'text-white text-sm',
|
|
5806
|
-
}
|
|
5807
|
-
px: 'px-4',
|
|
5808
|
-
py: 'py-2'
|
|
6090
|
+
}
|
|
5809
6091
|
});
|
|
5810
6092
|
}
|
|
5811
6093
|
else if (changes.type.currentValue == 'warning') {
|
|
@@ -5813,9 +6095,7 @@ class NgtButtonComponent {
|
|
|
5813
6095
|
color: {
|
|
5814
6096
|
bg: 'bg-orange-500',
|
|
5815
6097
|
text: 'text-white text-sm',
|
|
5816
|
-
}
|
|
5817
|
-
px: 'px-4',
|
|
5818
|
-
py: 'py-2'
|
|
6098
|
+
}
|
|
5819
6099
|
});
|
|
5820
6100
|
}
|
|
5821
6101
|
else if (changes.type.currentValue == 'danger') {
|
|
@@ -5823,9 +6103,7 @@ class NgtButtonComponent {
|
|
|
5823
6103
|
color: {
|
|
5824
6104
|
bg: 'bg-red-500',
|
|
5825
6105
|
text: 'text-white text-sm',
|
|
5826
|
-
}
|
|
5827
|
-
px: 'px-4',
|
|
5828
|
-
py: 'py-2'
|
|
6106
|
+
}
|
|
5829
6107
|
});
|
|
5830
6108
|
}
|
|
5831
6109
|
else {
|
|
@@ -5833,9 +6111,7 @@ class NgtButtonComponent {
|
|
|
5833
6111
|
color: {
|
|
5834
6112
|
bg: 'bg-blue-500',
|
|
5835
6113
|
text: 'text-white text-sm',
|
|
5836
|
-
}
|
|
5837
|
-
px: 'px-4',
|
|
5838
|
-
py: 'py-2'
|
|
6114
|
+
}
|
|
5839
6115
|
});
|
|
5840
6116
|
}
|
|
5841
6117
|
}
|
|
@@ -5843,21 +6119,35 @@ class NgtButtonComponent {
|
|
|
5843
6119
|
ngOnDestroy() {
|
|
5844
6120
|
this.destroySubscriptions();
|
|
5845
6121
|
}
|
|
6122
|
+
bindSubscriptions() {
|
|
6123
|
+
this.changeDetector.detectChanges();
|
|
6124
|
+
if (this.ngtForm) {
|
|
6125
|
+
this.loading = this.ngtForm.isLoading();
|
|
6126
|
+
this.isDisabled = !this.isDisabled && this.ngtForm.isDisabled;
|
|
6127
|
+
this.changeDetector.detectChanges();
|
|
6128
|
+
this.subscriptions.push(this.ngtForm.onLoadingChange.subscribe((loading) => {
|
|
6129
|
+
this.loading = loading;
|
|
6130
|
+
}));
|
|
6131
|
+
this.subscriptions.push(this.ngtForm.onIsDisabledChange.subscribe((isDisabled) => {
|
|
6132
|
+
this.isDisabled = !this.isDisabled && isDisabled;
|
|
6133
|
+
}));
|
|
6134
|
+
}
|
|
6135
|
+
}
|
|
5846
6136
|
destroySubscriptions() {
|
|
5847
6137
|
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
5848
6138
|
this.subscriptions = [];
|
|
5849
6139
|
}
|
|
5850
6140
|
}
|
|
5851
|
-
NgtButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, deps: [{ token:
|
|
5852
|
-
NgtButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtButtonComponent, selector: "ngt-button", inputs: { link: "link", href: "href", type: "type", loading: "loading", isDisabled: "isDisabled", noSubmit: "noSubmit" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"h-full w-full\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\" [disabled]=\"isDisabled\"\n [type]=\"(loading || isDisabled || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center
|
|
6141
|
+
NgtButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6142
|
+
NgtButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtButtonComponent, selector: "ngt-button", inputs: { link: "link", href: "href", type: "type", loading: "loading", isDisabled: "isDisabled", noSubmit: "noSubmit" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"h-full w-full\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\" [disabled]=\"isDisabled\"\n [type]=\"(loading || isDisabled || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center w-full focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\"\n class=\"flex justify-center items-center w-full focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
5853
6143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, decorators: [{
|
|
5854
6144
|
type: Component,
|
|
5855
|
-
args: [{ selector: 'ngt-button', template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"h-full w-full\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\" [disabled]=\"isDisabled\"\n [type]=\"(loading || isDisabled || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center
|
|
5856
|
-
}], ctorParameters: function () { return [{ type: NgtFormComponent, decorators: [{
|
|
6145
|
+
args: [{ selector: 'ngt-button', template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"h-full w-full\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\" [disabled]=\"isDisabled\"\n [type]=\"(loading || isDisabled || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center w-full focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': isDisabled, 'loading-button': loading }\"\n class=\"flex justify-center items-center w-full focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
|
|
6146
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: NgtFormComponent, decorators: [{
|
|
5857
6147
|
type: Optional
|
|
5858
6148
|
}, {
|
|
5859
6149
|
type: SkipSelf
|
|
5860
|
-
}] }, { type:
|
|
6150
|
+
}] }, { type: NgtStylizableDirective, decorators: [{
|
|
5861
6151
|
type: Self
|
|
5862
6152
|
}, {
|
|
5863
6153
|
type: Optional
|
|
@@ -6384,117 +6674,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
6384
6674
|
}]
|
|
6385
6675
|
}] });
|
|
6386
6676
|
|
|
6387
|
-
class NgtSectionComponent {
|
|
6388
|
-
constructor(injector, ngtStylizableDirective) {
|
|
6389
|
-
this.injector = injector;
|
|
6390
|
-
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
6391
|
-
this.showSection = true;
|
|
6392
|
-
this.onRemove = new EventEmitter();
|
|
6393
|
-
this.onToggleSection = new EventEmitter();
|
|
6394
|
-
this.ngtCaptionStyle = new NgtStylizableService();
|
|
6395
|
-
this.ngtSubtitleStyle = new NgtStylizableService();
|
|
6396
|
-
if (this.ngtStylizableDirective) {
|
|
6397
|
-
this.ngtSectionStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
6398
|
-
}
|
|
6399
|
-
else {
|
|
6400
|
-
this.ngtSectionStyle = new NgtStylizableService();
|
|
6401
|
-
}
|
|
6402
|
-
this.ngtSectionStyle.load(this.injector, 'NgtSection', {
|
|
6403
|
-
h: 'h-12',
|
|
6404
|
-
w: 'w-12',
|
|
6405
|
-
my: 'my-1',
|
|
6406
|
-
pr: 'pr-1',
|
|
6407
|
-
px: 'md:px-5',
|
|
6408
|
-
color: {
|
|
6409
|
-
text: 'text-gray-800'
|
|
6410
|
-
}
|
|
6411
|
-
});
|
|
6412
|
-
this.ngtCaptionStyle.load(this.injector, 'NgtSectionCaption', {
|
|
6413
|
-
text: 'text-sm',
|
|
6414
|
-
font: 'font-normal',
|
|
6415
|
-
ml: 'ml-2',
|
|
6416
|
-
pb: 'pb-2',
|
|
6417
|
-
border: 'border-none',
|
|
6418
|
-
color: {
|
|
6419
|
-
text: 'text-gray-800',
|
|
6420
|
-
border: ''
|
|
6421
|
-
}
|
|
6422
|
-
});
|
|
6423
|
-
this.ngtSubtitleStyle.load(this.injector, 'NgtSectionSubtitle', {
|
|
6424
|
-
text: 'text-xs',
|
|
6425
|
-
font: 'font-normal',
|
|
6426
|
-
border: 'border-none',
|
|
6427
|
-
ml: 'ml-2',
|
|
6428
|
-
color: {
|
|
6429
|
-
text: 'text-gray-500',
|
|
6430
|
-
border: ''
|
|
6431
|
-
}
|
|
6432
|
-
});
|
|
6433
|
-
}
|
|
6434
|
-
open() {
|
|
6435
|
-
this.showSection = true;
|
|
6436
|
-
this.onToggleSection.emit(this.showSection);
|
|
6437
|
-
}
|
|
6438
|
-
close() {
|
|
6439
|
-
this.showSection = false;
|
|
6440
|
-
this.onToggleSection.emit(this.showSection);
|
|
6441
|
-
}
|
|
6442
|
-
toggle() {
|
|
6443
|
-
this.showSection = !this.showSection;
|
|
6444
|
-
this.onToggleSection.emit(this.showSection);
|
|
6445
|
-
}
|
|
6446
|
-
remove(event) {
|
|
6447
|
-
event.stopImmediatePropagation();
|
|
6448
|
-
this.onRemove.emit();
|
|
6449
|
-
}
|
|
6450
|
-
}
|
|
6451
|
-
NgtSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSectionComponent, deps: [{ token: i0.Injector }, { token: NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6452
|
-
NgtSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtSectionComponent, selector: "ngt-section", inputs: { icon: "icon", caption: "caption", subtitle: "subtitle", accordion: "accordion", showSection: "showSection", removable: "removable", helpTitle: "helpTitle", helpText: "helpText", helpIconColor: "helpIconColor" }, outputs: { onRemove: "onRemove", onToggleSection: "onToggleSection" }, ngImport: i0, template: "<div class=\"flex mb-6\">\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l {{ accordion && !showSection ? 'flex' : '' }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\" pt-1 self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center px-5 cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb']) : ngtCaptionStyle.compile(['py']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-8 w-8 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-xl\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px']) }}\" [@enterAnimation]='!showSection'>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], animations: [
|
|
6453
|
-
trigger('enterAnimation', [
|
|
6454
|
-
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
6455
|
-
transition(':enter', [
|
|
6456
|
-
animate(400)
|
|
6457
|
-
])
|
|
6458
|
-
]),
|
|
6459
|
-
] });
|
|
6460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSectionComponent, decorators: [{
|
|
6461
|
-
type: Component,
|
|
6462
|
-
args: [{ selector: 'ngt-section', animations: [
|
|
6463
|
-
trigger('enterAnimation', [
|
|
6464
|
-
state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
|
|
6465
|
-
transition(':enter', [
|
|
6466
|
-
animate(400)
|
|
6467
|
-
])
|
|
6468
|
-
]),
|
|
6469
|
-
], template: "<div class=\"flex mb-6\">\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l {{ accordion && !showSection ? 'flex' : '' }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\" pt-1 self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center px-5 cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb']) : ngtCaptionStyle.compile(['py']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-8 w-8 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-xl\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px']) }}\" [@enterAnimation]='!showSection'>\n <ng-content></ng-content>\n </div>\n </div>\n</div>" }]
|
|
6470
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: NgtStylizableDirective, decorators: [{
|
|
6471
|
-
type: Self
|
|
6472
|
-
}, {
|
|
6473
|
-
type: Optional
|
|
6474
|
-
}] }]; }, propDecorators: { icon: [{
|
|
6475
|
-
type: Input
|
|
6476
|
-
}], caption: [{
|
|
6477
|
-
type: Input
|
|
6478
|
-
}], subtitle: [{
|
|
6479
|
-
type: Input
|
|
6480
|
-
}], accordion: [{
|
|
6481
|
-
type: Input
|
|
6482
|
-
}], showSection: [{
|
|
6483
|
-
type: Input
|
|
6484
|
-
}], removable: [{
|
|
6485
|
-
type: Input
|
|
6486
|
-
}], helpTitle: [{
|
|
6487
|
-
type: Input
|
|
6488
|
-
}], helpText: [{
|
|
6489
|
-
type: Input
|
|
6490
|
-
}], helpIconColor: [{
|
|
6491
|
-
type: Input
|
|
6492
|
-
}], onRemove: [{
|
|
6493
|
-
type: Output
|
|
6494
|
-
}], onToggleSection: [{
|
|
6495
|
-
type: Output
|
|
6496
|
-
}] } });
|
|
6497
|
-
|
|
6498
6677
|
class NgtSectionModule {
|
|
6499
6678
|
}
|
|
6500
6679
|
NgtSectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -6872,10 +7051,10 @@ class NgtMultiSelectComponent extends NgtBaseNgModel {
|
|
|
6872
7051
|
this.subscriptions = [];
|
|
6873
7052
|
}
|
|
6874
7053
|
}
|
|
6875
|
-
NgtMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtMultiSelectComponent, deps: [{ token: NgtHttpService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$
|
|
7054
|
+
NgtMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtMultiSelectComponent, deps: [{ token: NgtHttpService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6876
7055
|
NgtMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtMultiSelectComponent, selector: "ngt-multi-select", inputs: { customOptionTemplate: "customOptionTemplate", customHeaderTemplate: "customHeaderTemplate", label: "label", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", shining: "shining", loading: "loading", bindLabel: "bindLabel", bindSearch: "bindSearch", itemsPerPage: "itemsPerPage", name: "name", remoteResource: "remoteResource", items: "items", searchable: "searchable", isRequired: "isRequired", isDisabled: "isDisabled" }, outputs: { onDataChange: "onDataChange" }, host: { listeners: { "scroll": "onScroll($event)" } }, providers: [
|
|
6877
7056
|
NgtMakeProvider(NgtMultiSelectComponent)
|
|
6878
|
-
], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "elementCheckboxTemplate", first: true, predicate: ["elementCheckboxTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label && !shining\" class=\"flex text-sm\" [class.mb-2]='!hasValidationErrors()'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 16rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='isDisabled'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox class=\"flex\" title=\"Selecionar todos\" [label]=\"!searchable ? 'Selecionar todos' : ''\"\n [(ngModel)]=\"selectAllCheckbox\" [name]=\"selectAllCheckboxName\" [isClickDisabled]='true'\n [isDisabled]='loading || isDisabled' h='h-5' w='w-5' (click)='selectAll()' ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full pl-2\" [name]='searchInputName' [(ngModel)]='searchTerm'\n placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10' (ngModelChange)='search($event)'\n [loading]='loading' [isDisabled]='isDisabled' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex justify-center items-center h-full w-full cursor-wait\">\n <div class=\"div-loader\"></div>\n </div>\n\n <div class=\"w-full overflow-y-auto text-sm {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ isDisabled ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true' [isDisabled]='isDisabled'\n h='h-5' w='w-5' (click)='toggleItem(element, $event)' ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-sm mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>", styles: [".disabled-background{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem!important;padding:1px!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$
|
|
7057
|
+
], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "elementCheckboxTemplate", first: true, predicate: ["elementCheckboxTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label && !shining\" class=\"flex text-sm\" [class.mb-2]='!hasValidationErrors()'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 16rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='isDisabled'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox class=\"flex\" title=\"Selecionar todos\" [label]=\"!searchable ? 'Selecionar todos' : ''\"\n [(ngModel)]=\"selectAllCheckbox\" [name]=\"selectAllCheckboxName\" [isClickDisabled]='true'\n [isDisabled]='loading || isDisabled' h='h-5' w='w-5' (click)='selectAll()' ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full pl-2\" [name]='searchInputName' [(ngModel)]='searchTerm'\n placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10' (ngModelChange)='search($event)'\n [loading]='loading' [isDisabled]='isDisabled' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex justify-center items-center h-full w-full cursor-wait\">\n <div class=\"div-loader\"></div>\n </div>\n\n <div class=\"w-full overflow-y-auto text-sm {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ isDisabled ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true' [isDisabled]='isDisabled'\n h='h-5' w='w-5' (click)='toggleItem(element, $event)' ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-sm mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>", styles: [".disabled-background{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem!important;padding:1px!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "helperReverseYPosition", "helperAutoXReverse"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }], viewProviders: [
|
|
6879
7058
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
6880
7059
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
6881
7060
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtMultiSelectComponent, decorators: [{
|
|
@@ -6889,7 +7068,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
6889
7068
|
type: Optional
|
|
6890
7069
|
}, {
|
|
6891
7070
|
type: Self
|
|
6892
|
-
}] }, { type: i2$
|
|
7071
|
+
}] }, { type: i2$1.ControlContainer, decorators: [{
|
|
6893
7072
|
type: Optional
|
|
6894
7073
|
}, {
|
|
6895
7074
|
type: Host
|
|
@@ -7567,10 +7746,10 @@ class NgtDropzoneComponent extends NgtBaseNgModel {
|
|
|
7567
7746
|
this.subscriptions = [];
|
|
7568
7747
|
}
|
|
7569
7748
|
}
|
|
7570
|
-
NgtDropzoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropzoneComponent, deps: [{ token: i2$
|
|
7749
|
+
NgtDropzoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropzoneComponent, deps: [{ token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtAttachmentHttpService, optional: true, skipSelf: true }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7571
7750
|
NgtDropzoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtDropzoneComponent, selector: "ngt-dropzone", inputs: { label: "label", placeholder: "placeholder", helpTextColor: "helpTextColor", helpText: "helpText", helpTitle: "helpTitle", resources: "resources", multipleSelection: "multipleSelection", itemsLimit: "itemsLimit", showFileName: "showFileName", disableClick: "disableClick", disabled: "disabled", viewMode: "viewMode", removable: "removable", canDownloadFile: "canDownloadFile", verticalExpandable: "verticalExpandable", isRequired: "isRequired", hideNgxDropzone: "hideNgxDropzone", acceptedFiles: "acceptedFiles", unacceptedFiles: "unacceptedFiles", maxFileSize: "maxFileSize", previewType: "previewType", name: "name", remoteResource: "remoteResource" }, outputs: { onFileSelected: "onFileSelected", onFileSelectError: "onFileSelectError", onFileUploadFail: "onFileUploadFail", onFileRemoved: "onFileRemoved", onFileUploadInit: "onFileUploadInit", onFileUploaded: "onFileUploaded", onFilePreviewLoaded: "onFilePreviewLoaded" }, providers: [
|
|
7572
7751
|
NgtMakeProvider(NgtDropzoneComponent),
|
|
7573
|
-
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "ngxDropzone", first: true, predicate: NgxDropzoneComponent, descendants: true, static: true }, { propertyName: "ngtDropzoneFileViewer", first: true, predicate: NgtDropzoneFileViewerComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col h-full w-full\" #container>\n <label *ngIf=\"label\" class=\"flex mb-2 text-sm\">\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </label>\n\n <div *ngIf=\"!viewMode\" class=\"h-full w-full relative\">\n <div *ngIf=\"loading && !hideNgxDropzone\"\n class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <ngx-dropzone [id]=\"ngxElementId\" [multiple]='multipleSelection' [maxFileSize]='maxFileSize'\n (change)='onSelect($event)' [class.single-attachment]='itemsLimit == 1' [accept]='acceptedFiles'\n [disabled]='disabled || loading' [expandable]='verticalExpandable'\n [disableClick]='disableClick || forceDisableClick' [ngStyle]=\"{ 'height': dropzoneHeight }\"\n [ngClass]=\"{ 'hidden':hideNgxDropzone }\" #ngxDropzone>\n <ng-container *ngIf=\"!loading\">\n <ngx-dropzone-label *ngIf=\"!uploadedResources?.length\" class=\"px-2\">\n {{ placeholder }}\n </ngx-dropzone-label>\n\n <ng-container *ngFor=\"let resource of uploadedResources; let index = index\">\n <div class=\"flex flex-col w-48 mx-4\"\n title=\"{{ resource?.file?.name || '' }} ({{ getFormattedFileSize(resource) }})\">\n <custom-dropzone-preview *ngIf=\"previewType == 'DEFAULT' && isFile(resource)\"\n [file]='resource.file' [removable]=\"removable\" (removed)=\"onRemove(resource)\"\n (click)=\"onFileClick(resource.file.url, resource.file.name, resource.file.size)\"\n ngProjectAs=\"ngx-dropzone-preview\">\n </custom-dropzone-preview>\n\n <div *ngIf=\"isImage(resource)\" class=\"cursor-pointer\" (click)=\"imagePreview(index)\" #gallery>\n <ngx-dropzone-image-preview class=\"image-preview-default-class\" [file]=\"resource.file\"\n [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-image-preview>\n </div>\n\n <ngx-dropzone-video-preview *ngIf=\"isVideo(resource) || isAudio(resource)\"\n [file]=\"resource.file\" [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-video-preview>\n\n <p *ngIf=\"showFileName\"\n class=\"w-full truncate text-gray-500 text-center text-sm font-mono mt-2\">\n {{ resource?.file?.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </ngx-dropzone>\n </div>\n\n <ngt-dropzone-view *ngIf=\"viewMode\" class=\"h-full w-full\" [resources]=\"resources\" [loading]=\"loading\"\n [placeholder]=\"placeholder\" [dropzoneHeight]=\"dropzoneHeight\"\n (onFileClick)=\"onFileClick($event.previewUrl, $event.name, $event.fileSize)\"\n (onImageClick)=\"onImageClick($event.div, $event.index)\">\n </ngt-dropzone-view>\n\n <ngt-dropzone-file-viewer [hidden]=\"!showNgtDropzoneFileViewer\" (onClose)=\"forceDisableClick = false\"\n [canDownloadFile]=\"canDownloadFile\" [disableContent]=\"canDownloadFile ? 'none' : 'popout'\">\n </ngt-dropzone-file-viewer>\n\n <input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n <ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n</div>", styles: [".single-attachment{border:none!important;margin:unset!important;overflow:hidden!important;display:flex!important;justify-content:center!important}.image-preview-default-class{margin:unset!important}custom-dropzone-preview{height:100%!important;min-height:unset!important;margin:unset!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$
|
|
7752
|
+
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "ngxDropzone", first: true, predicate: NgxDropzoneComponent, descendants: true, static: true }, { propertyName: "ngtDropzoneFileViewer", first: true, predicate: NgtDropzoneFileViewerComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col h-full w-full\" #container>\n <label *ngIf=\"label\" class=\"flex mb-2 text-sm\">\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </label>\n\n <div *ngIf=\"!viewMode\" class=\"h-full w-full relative\">\n <div *ngIf=\"loading && !hideNgxDropzone\"\n class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <ngx-dropzone [id]=\"ngxElementId\" [multiple]='multipleSelection' [maxFileSize]='maxFileSize'\n (change)='onSelect($event)' [class.single-attachment]='itemsLimit == 1' [accept]='acceptedFiles'\n [disabled]='disabled || loading' [expandable]='verticalExpandable'\n [disableClick]='disableClick || forceDisableClick' [ngStyle]=\"{ 'height': dropzoneHeight }\"\n [ngClass]=\"{ 'hidden':hideNgxDropzone }\" #ngxDropzone>\n <ng-container *ngIf=\"!loading\">\n <ngx-dropzone-label *ngIf=\"!uploadedResources?.length\" class=\"px-2\">\n {{ placeholder }}\n </ngx-dropzone-label>\n\n <ng-container *ngFor=\"let resource of uploadedResources; let index = index\">\n <div class=\"flex flex-col w-48 mx-4\"\n title=\"{{ resource?.file?.name || '' }} ({{ getFormattedFileSize(resource) }})\">\n <custom-dropzone-preview *ngIf=\"previewType == 'DEFAULT' && isFile(resource)\"\n [file]='resource.file' [removable]=\"removable\" (removed)=\"onRemove(resource)\"\n (click)=\"onFileClick(resource.file.url, resource.file.name, resource.file.size)\"\n ngProjectAs=\"ngx-dropzone-preview\">\n </custom-dropzone-preview>\n\n <div *ngIf=\"isImage(resource)\" class=\"cursor-pointer\" (click)=\"imagePreview(index)\" #gallery>\n <ngx-dropzone-image-preview class=\"image-preview-default-class\" [file]=\"resource.file\"\n [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-image-preview>\n </div>\n\n <ngx-dropzone-video-preview *ngIf=\"isVideo(resource) || isAudio(resource)\"\n [file]=\"resource.file\" [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-video-preview>\n\n <p *ngIf=\"showFileName\"\n class=\"w-full truncate text-gray-500 text-center text-sm font-mono mt-2\">\n {{ resource?.file?.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </ngx-dropzone>\n </div>\n\n <ngt-dropzone-view *ngIf=\"viewMode\" class=\"h-full w-full\" [resources]=\"resources\" [loading]=\"loading\"\n [placeholder]=\"placeholder\" [dropzoneHeight]=\"dropzoneHeight\"\n (onFileClick)=\"onFileClick($event.previewUrl, $event.name, $event.fileSize)\"\n (onImageClick)=\"onImageClick($event.div, $event.index)\">\n </ngt-dropzone-view>\n\n <ngt-dropzone-file-viewer [hidden]=\"!showNgtDropzoneFileViewer\" (onClose)=\"forceDisableClick = false\"\n [canDownloadFile]=\"canDownloadFile\" [disableContent]=\"canDownloadFile ? 'none' : 'popout'\">\n </ngt-dropzone-file-viewer>\n\n <input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n <ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n</div>", styles: [".single-attachment{border:none!important;margin:unset!important;overflow:hidden!important;display:flex!important;justify-content:center!important}.image-preview-default-class{margin:unset!important}custom-dropzone-preview{height:100%!important;min-height:unset!important;margin:unset!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: i5$1.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }, { kind: "directive", type: i5$1.ɵb, selector: "ngx-dropzone-label" }, { kind: "component", type: i5$1.NgxDropzoneImagePreviewComponent, selector: "ngx-dropzone-image-preview" }, { kind: "component", type: i5$1.NgxDropzoneVideoPreviewComponent, selector: "ngx-dropzone-video-preview" }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtDropzoneFileViewerComponent, selector: "ngt-dropzone-file-viewer", inputs: ["url", "fileName", "fileSize", "disableContent", "canDownloadFile"], outputs: ["onClose"] }, { kind: "component", type: NgtDropzoneViewComponent, selector: "ngt-dropzone-view", inputs: ["resources", "dropzoneHeight", "loading", "placeholder"], outputs: ["onImageClick", "onFileClick"] }, { kind: "component", type: CustomDropzonePreviewComponent, selector: "custom-dropzone-preview" }], viewProviders: [
|
|
7574
7753
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
7575
7754
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
7576
7755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropzoneComponent, decorators: [{
|
|
@@ -7580,7 +7759,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
7580
7759
|
], viewProviders: [
|
|
7581
7760
|
{ provide: ControlContainer, useExisting: NgForm }
|
|
7582
7761
|
], template: "<div class=\"flex flex-col h-full w-full\" #container>\n <label *ngIf=\"label\" class=\"flex mb-2 text-sm\">\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </label>\n\n <div *ngIf=\"!viewMode\" class=\"h-full w-full relative\">\n <div *ngIf=\"loading && !hideNgxDropzone\"\n class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <ngx-dropzone [id]=\"ngxElementId\" [multiple]='multipleSelection' [maxFileSize]='maxFileSize'\n (change)='onSelect($event)' [class.single-attachment]='itemsLimit == 1' [accept]='acceptedFiles'\n [disabled]='disabled || loading' [expandable]='verticalExpandable'\n [disableClick]='disableClick || forceDisableClick' [ngStyle]=\"{ 'height': dropzoneHeight }\"\n [ngClass]=\"{ 'hidden':hideNgxDropzone }\" #ngxDropzone>\n <ng-container *ngIf=\"!loading\">\n <ngx-dropzone-label *ngIf=\"!uploadedResources?.length\" class=\"px-2\">\n {{ placeholder }}\n </ngx-dropzone-label>\n\n <ng-container *ngFor=\"let resource of uploadedResources; let index = index\">\n <div class=\"flex flex-col w-48 mx-4\"\n title=\"{{ resource?.file?.name || '' }} ({{ getFormattedFileSize(resource) }})\">\n <custom-dropzone-preview *ngIf=\"previewType == 'DEFAULT' && isFile(resource)\"\n [file]='resource.file' [removable]=\"removable\" (removed)=\"onRemove(resource)\"\n (click)=\"onFileClick(resource.file.url, resource.file.name, resource.file.size)\"\n ngProjectAs=\"ngx-dropzone-preview\">\n </custom-dropzone-preview>\n\n <div *ngIf=\"isImage(resource)\" class=\"cursor-pointer\" (click)=\"imagePreview(index)\" #gallery>\n <ngx-dropzone-image-preview class=\"image-preview-default-class\" [file]=\"resource.file\"\n [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-image-preview>\n </div>\n\n <ngx-dropzone-video-preview *ngIf=\"isVideo(resource) || isAudio(resource)\"\n [file]=\"resource.file\" [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-video-preview>\n\n <p *ngIf=\"showFileName\"\n class=\"w-full truncate text-gray-500 text-center text-sm font-mono mt-2\">\n {{ resource?.file?.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </ngx-dropzone>\n </div>\n\n <ngt-dropzone-view *ngIf=\"viewMode\" class=\"h-full w-full\" [resources]=\"resources\" [loading]=\"loading\"\n [placeholder]=\"placeholder\" [dropzoneHeight]=\"dropzoneHeight\"\n (onFileClick)=\"onFileClick($event.previewUrl, $event.name, $event.fileSize)\"\n (onImageClick)=\"onImageClick($event.div, $event.index)\">\n </ngt-dropzone-view>\n\n <ngt-dropzone-file-viewer [hidden]=\"!showNgtDropzoneFileViewer\" (onClose)=\"forceDisableClick = false\"\n [canDownloadFile]=\"canDownloadFile\" [disableContent]=\"canDownloadFile ? 'none' : 'popout'\">\n </ngt-dropzone-file-viewer>\n\n <input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n <ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n</div>", styles: [".single-attachment{border:none!important;margin:unset!important;overflow:hidden!important;display:flex!important;justify-content:center!important}.image-preview-default-class{margin:unset!important}custom-dropzone-preview{height:100%!important;min-height:unset!important;margin:unset!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
|
|
7583
|
-
}], ctorParameters: function () { return [{ type: i2$
|
|
7762
|
+
}], ctorParameters: function () { return [{ type: i2$1.ControlContainer, decorators: [{
|
|
7584
7763
|
type: Optional
|
|
7585
7764
|
}, {
|
|
7586
7765
|
type: Host
|