@seniorsistemas/angular-components 17.1.7 → 17.2.0
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/bundles/seniorsistemas-angular-components.umd.js +880 -116
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/button/button.component.d.ts +1 -0
- package/components/file-upload/file-upload.component.d.ts +7 -2
- package/components/file-upload/models/file-upload-permissions.d.ts +6 -0
- package/components/file-upload/models/index.d.ts +1 -0
- package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +28 -0
- package/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +2 -0
- package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +14 -0
- package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +21 -0
- package/components/tiered-menu/index.d.ts +3 -0
- package/components/tiered-menu/models/index.d.ts +2 -0
- package/components/tiered-menu/models/tiered-menu-item-data.d.ts +7 -0
- package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +10 -0
- package/components/tiered-menu/tiered-menu.directive.d.ts +37 -0
- package/components/tiered-menu/tiered-menu.event.service.d.ts +18 -0
- package/components/tiered-menu/tiered-menu.module.d.ts +2 -0
- package/components/tiered-menu/tiered-menu.service.d.ts +10 -0
- package/esm2015/components/button/button.component.js +6 -2
- package/esm2015/components/file-upload/file-upload.component.js +13 -5
- package/esm2015/components/file-upload/file-upload.module.js +2 -2
- package/esm2015/components/file-upload/models/file-upload-permissions.js +12 -0
- package/esm2015/components/file-upload/models/index.js +2 -1
- package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +219 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +13 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +68 -0
- package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +131 -0
- package/esm2015/components/tiered-menu/index.js +3 -0
- package/esm2015/components/tiered-menu/models/index.js +1 -0
- package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
- package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
- package/esm2015/components/tiered-menu/tiered-menu.directive.js +212 -0
- package/esm2015/components/tiered-menu/tiered-menu.event.service.js +39 -0
- package/esm2015/components/tiered-menu/tiered-menu.module.js +35 -0
- package/esm2015/components/tiered-menu/tiered-menu.service.js +39 -0
- package/esm2015/components/tooltip/tooltip.directive.js +2 -2
- package/esm2015/public-api.js +2 -1
- package/esm2015/seniorsistemas-angular-components.js +7 -1
- package/esm5/components/button/button.component.js +6 -2
- package/esm5/components/file-upload/file-upload.component.js +13 -5
- package/esm5/components/file-upload/file-upload.module.js +2 -2
- package/esm5/components/file-upload/models/file-upload-permissions.js +12 -0
- package/esm5/components/file-upload/models/index.js +2 -1
- package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +224 -0
- package/esm5/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +16 -0
- package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +70 -0
- package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +133 -0
- package/esm5/components/tiered-menu/index.js +3 -0
- package/esm5/components/tiered-menu/models/index.js +1 -0
- package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
- package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
- package/esm5/components/tiered-menu/tiered-menu.directive.js +216 -0
- package/esm5/components/tiered-menu/tiered-menu.event.service.js +40 -0
- package/esm5/components/tiered-menu/tiered-menu.module.js +38 -0
- package/esm5/components/tiered-menu/tiered-menu.service.js +44 -0
- package/esm5/components/tooltip/tooltip.directive.js +2 -2
- package/esm5/public-api.js +2 -1
- package/esm5/seniorsistemas-angular-components.js +7 -1
- package/fesm2015/seniorsistemas-angular-components.js +845 -114
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +876 -120
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/seniorsistemas-angular-components.d.ts +6 -0
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -8,7 +8,7 @@ import { RouterModule, NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router } f
|
|
|
8
8
|
import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
|
|
9
9
|
import { Subject, of, from, forkJoin, throwError, ReplaySubject } from 'rxjs';
|
|
10
10
|
import { takeUntil, filter, tap, map, switchMap, catchError, delay, debounceTime, repeat, finalize, take } from 'rxjs/operators';
|
|
11
|
-
import { TieredMenu, TieredMenuModule } from 'primeng/tieredmenu';
|
|
11
|
+
import { TieredMenu, TieredMenuModule as TieredMenuModule$1 } from 'primeng/tieredmenu';
|
|
12
12
|
import { TooltipModule as TooltipModule$1 } from 'primeng/tooltip';
|
|
13
13
|
import { DomHandler } from 'primeng/dom';
|
|
14
14
|
import { Calendar, CalendarModule } from 'primeng/calendar';
|
|
@@ -39,7 +39,7 @@ import { PanelModule as PanelModule$1 } from 'primeng/panel';
|
|
|
39
39
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
40
40
|
import { SliderModule } from 'primeng/slider';
|
|
41
41
|
import { ProgressBarModule as ProgressBarModule$1 } from 'primeng/progressbar';
|
|
42
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
42
|
+
import { DomSanitizer, BrowserModule } from '@angular/platform-browser';
|
|
43
43
|
import Cropper from 'cropperjs';
|
|
44
44
|
import * as elementResizeDetectorMaker_ from 'element-resize-detector';
|
|
45
45
|
import { FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';
|
|
@@ -509,7 +509,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
509
509
|
}
|
|
510
510
|
showTooltip() {
|
|
511
511
|
if (this.componentRef !== null) {
|
|
512
|
-
this.componentRef.instance.visible =
|
|
512
|
+
this.componentRef.instance.visible = this.visible;
|
|
513
513
|
window.addEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
|
|
514
514
|
}
|
|
515
515
|
}
|
|
@@ -915,6 +915,7 @@ let ButtonComponent = ButtonComponent_1 = class ButtonComponent {
|
|
|
915
915
|
constructor() {
|
|
916
916
|
this.minWidth = "40px";
|
|
917
917
|
this.id = `s-button-${ButtonComponent_1.nextId++}`;
|
|
918
|
+
this.tooltipPosition = "top";
|
|
918
919
|
this.caret = true;
|
|
919
920
|
this.baseZIndex = 0;
|
|
920
921
|
this.disabled = false;
|
|
@@ -968,6 +969,9 @@ __decorate([
|
|
|
968
969
|
__decorate([
|
|
969
970
|
Input()
|
|
970
971
|
], ButtonComponent.prototype, "tooltip", void 0);
|
|
972
|
+
__decorate([
|
|
973
|
+
Input()
|
|
974
|
+
], ButtonComponent.prototype, "tooltipPosition", void 0);
|
|
971
975
|
__decorate([
|
|
972
976
|
Input()
|
|
973
977
|
], ButtonComponent.prototype, "iconClass", void 0);
|
|
@@ -1016,7 +1020,7 @@ __decorate([
|
|
|
1016
1020
|
ButtonComponent = ButtonComponent_1 = __decorate([
|
|
1017
1021
|
Component({
|
|
1018
1022
|
selector: "s-button",
|
|
1019
|
-
template: "<p-tieredMenu [id]=\"id + '-menu'\" [popup]=\"true\" appendTo=\"body\" [baseZIndex]=\"baseZIndex\"></p-tieredMenu>\n\n<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-multiple': (caret && (model && model.length)) || rightIconClass,\n 's-button-active': isOpen(),\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation()\n }\"\n [disabled]=\"disabled\"\n [pTooltip]=\"tooltip\"\n tooltipPosition=\"
|
|
1023
|
+
template: "<p-tieredMenu [id]=\"id + '-menu'\" [popup]=\"true\" appendTo=\"body\" [baseZIndex]=\"baseZIndex\"></p-tieredMenu>\n\n<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-multiple': (caret && (model && model.length)) || rightIconClass,\n 's-button-active': isOpen(),\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation()\n }\"\n [disabled]=\"disabled\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n showDelay=\"500\"\n [tooltipZIndex]=\"tooltipZIndex\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"updateTooltipZIndex()\"\n>\n <span \n *ngIf=\"iconClass\" \n [class]=\"iconClass\" \n [ngClass]=\"{ \n 's-button-icon': true,\n 's-button-icon-margin-right': !label && model && model.length\n }\" \n aria-hidden=\"true\">\n </span>\n <span \n *ngIf=\"label\" \n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || (model && model.length),\n 's-button-icon-margin-left': !!iconClass\n }\">\n {{ label }}\n </span>\n <ng-content></ng-content>\n <span \n *ngIf=\"rightIconClass\" \n [class]=\"rightIconClass\" \n [ngClass]=\"{ 's-button-right-icon': true }\" \n aria-hidden=\"true\">\n </span>\n <span\n *ngIf=\"caret && (model && model.length)\" \n class=\"fa fa-fw fa-caret-down\"\n aria-hidden=\"true\">\n </span>\n</button>\n",
|
|
1020
1024
|
styles: ["button{-ms-flex-align:center;align-items:center;border-radius:4px;border:1px solid;cursor:pointer;font-family:\"Open Sans\",sans-serif;font-size:14px;height:34px;max-width:100%;min-width:40px;outline:0;overflow:visible;padding:5px 10px;position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;text-decoration:none;text-transform:none;vertical-align:bottom;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}button:disabled{opacity:.5;filter:Alpha(Opacity=50);background-image:none}button:disabled,button:disabled *{cursor:text!important}button.s-button-auxiliary{border-radius:20px}button.s-button-size-small{padding:0 20px;height:25px}button.s-button-with-icon.s-button-multiple,button.s-button-with-text{min-width:80px}button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}button .s-button-icon,button .s-button-menu-icon,button .s-button-right-icon,button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}button.s-button-multiple .s-button-text{display:-ms-flexbox;display:flex;-ms-flex-pack:left;justify-content:left;-ms-flex-align:left;align-items:left}button.s-button-with-icon .s-button-text{display:-ms-flexbox;display:flex;-ms-flex-pack:right;justify-content:right;-ms-flex-align:right;align-items:right}.s-button-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}button,button.s-button-priority-primary{background-color:#428bca;border-color:#428bca}button .s-button-icon,button .s-button-menu-icon,button .s-button-right-icon,button .s-button-text,button.s-button-priority-primary .s-button-icon,button.s-button-priority-primary .s-button-menu-icon,button.s-button-priority-primary .s-button-right-icon,button.s-button-priority-primary .s-button-text{color:#fff}button.s-button-priority-primary:hover,button:hover{background-color:#2a6496}button.s-button-priority-primary:focus,button:focus{background-color:#2a6496;border-color:#22dce6}button.s-button-active:not(:disabled),button.s-button-priority-primary.s-button-active:not(:disabled),button.s-button-priority-primary:active:not(:disabled),button:active:not(:disabled){background-color:#245682;border-color:#245682}button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}button.s-button-priority-secondary .s-button-icon,button.s-button-priority-secondary .s-button-menu-icon,button.s-button-priority-secondary .s-button-right-icon,button.s-button-priority-secondary .s-button-text{color:#fff}button.s-button-priority-secondary:hover{background-color:#546b79}button.s-button-priority-secondary:focus{background-color:#546b79;border-color:#22dce6}button.s-button-priority-secondary.s-button-active:not(:disabled),button.s-button-priority-secondary:active:not(:disabled){background-color:#495e6a;border-color:#495e6a}button.s-button-priority-default{background-color:#fff;border-color:#ccc}button.s-button-priority-default .s-button-icon,button.s-button-priority-default .s-button-menu-icon,button.s-button-priority-default .s-button-right-icon,button.s-button-priority-default .s-button-text{color:#333}button.s-button-priority-default:hover{background-color:#d9d9d9}button.s-button-priority-default:focus{background-color:#d9d9d9;border-color:#22dce6}button.s-button-priority-default.s-button-active:not(:disabled),button.s-button-priority-default:active:not(:disabled){background-color:#ccc;border-color:#ccc}button.s-button-priority-link{background-color:transparent;border-color:transparent}button.s-button-priority-link .s-button-icon,button.s-button-priority-link .s-button-menu-icon,button.s-button-priority-link .s-button-right-icon,button.s-button-priority-link .s-button-text{color:#428bca}button.s-button-priority-link:hover{background-color:transparent}button.s-button-priority-link:hover .s-button-icon,button.s-button-priority-link:hover .s-button-menu-icon,button.s-button-priority-link:hover .s-button-right-icon,button.s-button-priority-link:hover .s-button-text{color:#2a6496}button.s-button-priority-link:focus{border-color:#22dce6;background-color:transparent}button.s-button-priority-link:focus .s-button-icon,button.s-button-priority-link:focus .s-button-menu-icon,button.s-button-priority-link:focus .s-button-right-icon,button.s-button-priority-link:focus .s-button-text{color:#2a6496}button.s-button-priority-link.s-button-active:not(:disabled),button.s-button-priority-link:active:not(:disabled){background-color:transparent;border-color:transparent}button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,button.s-button-priority-link:active:not(:disabled) .s-button-icon,button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,button.s-button-priority-link:active:not(:disabled) .s-button-text{color:#245682}.s-button--slide.s-button-with-icon.s-button-multiple,.s-button--slide.s-button-with-text{min-width:40px}.s-button--slide .s-button-text{position:absolute;opacity:0;width:0}.s-button--slide:hover .s-button-text{transition:1s;position:relative;opacity:1;width:auto}.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transition:1.5s;transform:rotate(360deg)}"]
|
|
1021
1025
|
})
|
|
1022
1026
|
], ButtonComponent);
|
|
@@ -1025,7 +1029,7 @@ let ButtonModule = class ButtonModule {
|
|
|
1025
1029
|
};
|
|
1026
1030
|
ButtonModule = __decorate([
|
|
1027
1031
|
NgModule({
|
|
1028
|
-
imports: [CommonModule, RouterModule, TieredMenuModule, TooltipModule$1],
|
|
1032
|
+
imports: [CommonModule, RouterModule, TieredMenuModule$1, TooltipModule$1],
|
|
1029
1033
|
declarations: [ButtonComponent],
|
|
1030
1034
|
exports: [ButtonComponent],
|
|
1031
1035
|
})
|
|
@@ -3907,113 +3911,6 @@ EmptyStateModule = __decorate([
|
|
|
3907
3911
|
})
|
|
3908
3912
|
], EmptyStateModule);
|
|
3909
3913
|
|
|
3910
|
-
var ValidateErrors;
|
|
3911
|
-
(function (ValidateErrors) {
|
|
3912
|
-
ValidateErrors["MAX_FILE_SIZE"] = "MAX_FILE_SIZE";
|
|
3913
|
-
ValidateErrors["MAX_FILE_LIMIT"] = "MAX_FILE_LIMIT";
|
|
3914
|
-
ValidateErrors["UNSUPPORTED_EXTENSION"] = "UNSUPPORTED_EXTENSION";
|
|
3915
|
-
})(ValidateErrors || (ValidateErrors = {}));
|
|
3916
|
-
|
|
3917
|
-
const Breakpoints = {
|
|
3918
|
-
SM_MIN: 0,
|
|
3919
|
-
SM_MAX: 767,
|
|
3920
|
-
MD_MIN: 768,
|
|
3921
|
-
MD_MAX: 991,
|
|
3922
|
-
LG_MIN: 992,
|
|
3923
|
-
LG_MAX: 1199,
|
|
3924
|
-
XL_MIN: 1200,
|
|
3925
|
-
XL_MAX: Infinity,
|
|
3926
|
-
};
|
|
3927
|
-
|
|
3928
|
-
class ExportUtils {
|
|
3929
|
-
constructor() {
|
|
3930
|
-
throw new Error("Classe não deve ser instanciada.");
|
|
3931
|
-
}
|
|
3932
|
-
static addClass(element, className) {
|
|
3933
|
-
element.nativeElement.className = `${element.nativeElement.className} ${className}`;
|
|
3934
|
-
}
|
|
3935
|
-
static removeClass(element, className) {
|
|
3936
|
-
if (element.nativeElement.className.includes(className)) {
|
|
3937
|
-
element.nativeElement.className = element.nativeElement.className.replace(className, "");
|
|
3938
|
-
}
|
|
3939
|
-
}
|
|
3940
|
-
static exportCSV(columns = [], data = [], csvSeparator = ";", documentName = "download") {
|
|
3941
|
-
let csv = "\ufeff";
|
|
3942
|
-
columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
|
|
3943
|
-
csv += `"${column.header || column.field}"`;
|
|
3944
|
-
if (i < columns.length - 1)
|
|
3945
|
-
csv += csvSeparator;
|
|
3946
|
-
});
|
|
3947
|
-
data.forEach((record) => {
|
|
3948
|
-
csv += "\n";
|
|
3949
|
-
columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
|
|
3950
|
-
let cellData;
|
|
3951
|
-
if (Array.isArray(column.field)) {
|
|
3952
|
-
const fieldValues = column.field.map((col) => this.resolveFieldData(record, col));
|
|
3953
|
-
cellData = fieldValues
|
|
3954
|
-
.flat()
|
|
3955
|
-
.filter((value) => value !== null && value !== undefined)
|
|
3956
|
-
.join(column.separator);
|
|
3957
|
-
}
|
|
3958
|
-
else {
|
|
3959
|
-
cellData = this.resolveFieldData(record, column.field);
|
|
3960
|
-
}
|
|
3961
|
-
if (cellData != null)
|
|
3962
|
-
cellData = String(cellData).replace(/"/g, `""`);
|
|
3963
|
-
else
|
|
3964
|
-
cellData = "";
|
|
3965
|
-
csv += `"${cellData}"`;
|
|
3966
|
-
if (i < columns.length - 1)
|
|
3967
|
-
csv += csvSeparator;
|
|
3968
|
-
});
|
|
3969
|
-
});
|
|
3970
|
-
const blob = new Blob([csv], {
|
|
3971
|
-
type: "text/csv;charset=utf-8;",
|
|
3972
|
-
});
|
|
3973
|
-
if (window.navigator.msSaveOrOpenBlob)
|
|
3974
|
-
navigator.msSaveOrOpenBlob(blob, documentName + ".csv");
|
|
3975
|
-
else {
|
|
3976
|
-
const link = document.createElement("a");
|
|
3977
|
-
link.style.display = "none";
|
|
3978
|
-
document.body.appendChild(link);
|
|
3979
|
-
if (link.download !== undefined) {
|
|
3980
|
-
link.setAttribute("href", URL.createObjectURL(blob));
|
|
3981
|
-
link.setAttribute("download", documentName + ".csv");
|
|
3982
|
-
link.click();
|
|
3983
|
-
}
|
|
3984
|
-
else {
|
|
3985
|
-
csv = "data:text/csv;charset=utf-8," + csv;
|
|
3986
|
-
window.open(encodeURI(csv));
|
|
3987
|
-
}
|
|
3988
|
-
document.body.removeChild(link);
|
|
3989
|
-
}
|
|
3990
|
-
}
|
|
3991
|
-
static resolveFieldData(data, field) {
|
|
3992
|
-
if (data && field) {
|
|
3993
|
-
if (this.isFunction(field))
|
|
3994
|
-
return field(data);
|
|
3995
|
-
else if (field.indexOf(".") == -1)
|
|
3996
|
-
return data[field];
|
|
3997
|
-
else {
|
|
3998
|
-
const fields = field.split(".");
|
|
3999
|
-
let value = data;
|
|
4000
|
-
for (let i = 0, len = fields.length; i < len; ++i) {
|
|
4001
|
-
if (value == null) {
|
|
4002
|
-
return null;
|
|
4003
|
-
}
|
|
4004
|
-
value = value[fields[i]];
|
|
4005
|
-
}
|
|
4006
|
-
return value;
|
|
4007
|
-
}
|
|
4008
|
-
}
|
|
4009
|
-
else
|
|
4010
|
-
return null;
|
|
4011
|
-
}
|
|
4012
|
-
static isFunction(obj) {
|
|
4013
|
-
return !!(obj && obj.constructor && obj.call && obj.apply);
|
|
4014
|
-
}
|
|
4015
|
-
}
|
|
4016
|
-
|
|
4017
3914
|
/**
|
|
4018
3915
|
* Formats a JSON response to a JS object
|
|
4019
3916
|
* @param response The response to format
|
|
@@ -4209,6 +4106,125 @@ FileUploadService = __decorate([
|
|
|
4209
4106
|
Injectable()
|
|
4210
4107
|
], FileUploadService);
|
|
4211
4108
|
|
|
4109
|
+
const Breakpoints = {
|
|
4110
|
+
SM_MIN: 0,
|
|
4111
|
+
SM_MAX: 767,
|
|
4112
|
+
MD_MIN: 768,
|
|
4113
|
+
MD_MAX: 991,
|
|
4114
|
+
LG_MIN: 992,
|
|
4115
|
+
LG_MAX: 1199,
|
|
4116
|
+
XL_MIN: 1200,
|
|
4117
|
+
XL_MAX: Infinity,
|
|
4118
|
+
};
|
|
4119
|
+
|
|
4120
|
+
class ExportUtils {
|
|
4121
|
+
constructor() {
|
|
4122
|
+
throw new Error("Classe não deve ser instanciada.");
|
|
4123
|
+
}
|
|
4124
|
+
static addClass(element, className) {
|
|
4125
|
+
element.nativeElement.className = `${element.nativeElement.className} ${className}`;
|
|
4126
|
+
}
|
|
4127
|
+
static removeClass(element, className) {
|
|
4128
|
+
if (element.nativeElement.className.includes(className)) {
|
|
4129
|
+
element.nativeElement.className = element.nativeElement.className.replace(className, "");
|
|
4130
|
+
}
|
|
4131
|
+
}
|
|
4132
|
+
static exportCSV(columns = [], data = [], csvSeparator = ";", documentName = "download") {
|
|
4133
|
+
let csv = "\ufeff";
|
|
4134
|
+
columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
|
|
4135
|
+
csv += `"${column.header || column.field}"`;
|
|
4136
|
+
if (i < columns.length - 1)
|
|
4137
|
+
csv += csvSeparator;
|
|
4138
|
+
});
|
|
4139
|
+
data.forEach((record) => {
|
|
4140
|
+
csv += "\n";
|
|
4141
|
+
columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
|
|
4142
|
+
let cellData;
|
|
4143
|
+
if (Array.isArray(column.field)) {
|
|
4144
|
+
const fieldValues = column.field.map((col) => this.resolveFieldData(record, col));
|
|
4145
|
+
cellData = fieldValues
|
|
4146
|
+
.flat()
|
|
4147
|
+
.filter((value) => value !== null && value !== undefined)
|
|
4148
|
+
.join(column.separator);
|
|
4149
|
+
}
|
|
4150
|
+
else {
|
|
4151
|
+
cellData = this.resolveFieldData(record, column.field);
|
|
4152
|
+
}
|
|
4153
|
+
if (cellData != null)
|
|
4154
|
+
cellData = String(cellData).replace(/"/g, `""`);
|
|
4155
|
+
else
|
|
4156
|
+
cellData = "";
|
|
4157
|
+
csv += `"${cellData}"`;
|
|
4158
|
+
if (i < columns.length - 1)
|
|
4159
|
+
csv += csvSeparator;
|
|
4160
|
+
});
|
|
4161
|
+
});
|
|
4162
|
+
const blob = new Blob([csv], {
|
|
4163
|
+
type: "text/csv;charset=utf-8;",
|
|
4164
|
+
});
|
|
4165
|
+
if (window.navigator.msSaveOrOpenBlob)
|
|
4166
|
+
navigator.msSaveOrOpenBlob(blob, documentName + ".csv");
|
|
4167
|
+
else {
|
|
4168
|
+
const link = document.createElement("a");
|
|
4169
|
+
link.style.display = "none";
|
|
4170
|
+
document.body.appendChild(link);
|
|
4171
|
+
if (link.download !== undefined) {
|
|
4172
|
+
link.setAttribute("href", URL.createObjectURL(blob));
|
|
4173
|
+
link.setAttribute("download", documentName + ".csv");
|
|
4174
|
+
link.click();
|
|
4175
|
+
}
|
|
4176
|
+
else {
|
|
4177
|
+
csv = "data:text/csv;charset=utf-8," + csv;
|
|
4178
|
+
window.open(encodeURI(csv));
|
|
4179
|
+
}
|
|
4180
|
+
document.body.removeChild(link);
|
|
4181
|
+
}
|
|
4182
|
+
}
|
|
4183
|
+
static resolveFieldData(data, field) {
|
|
4184
|
+
if (data && field) {
|
|
4185
|
+
if (this.isFunction(field))
|
|
4186
|
+
return field(data);
|
|
4187
|
+
else if (field.indexOf(".") == -1)
|
|
4188
|
+
return data[field];
|
|
4189
|
+
else {
|
|
4190
|
+
const fields = field.split(".");
|
|
4191
|
+
let value = data;
|
|
4192
|
+
for (let i = 0, len = fields.length; i < len; ++i) {
|
|
4193
|
+
if (value == null) {
|
|
4194
|
+
return null;
|
|
4195
|
+
}
|
|
4196
|
+
value = value[fields[i]];
|
|
4197
|
+
}
|
|
4198
|
+
return value;
|
|
4199
|
+
}
|
|
4200
|
+
}
|
|
4201
|
+
else
|
|
4202
|
+
return null;
|
|
4203
|
+
}
|
|
4204
|
+
static isFunction(obj) {
|
|
4205
|
+
return !!(obj && obj.constructor && obj.call && obj.apply);
|
|
4206
|
+
}
|
|
4207
|
+
}
|
|
4208
|
+
|
|
4209
|
+
var ValidateErrors;
|
|
4210
|
+
(function (ValidateErrors) {
|
|
4211
|
+
ValidateErrors["MAX_FILE_SIZE"] = "MAX_FILE_SIZE";
|
|
4212
|
+
ValidateErrors["MAX_FILE_LIMIT"] = "MAX_FILE_LIMIT";
|
|
4213
|
+
ValidateErrors["UNSUPPORTED_EXTENSION"] = "UNSUPPORTED_EXTENSION";
|
|
4214
|
+
})(ValidateErrors || (ValidateErrors = {}));
|
|
4215
|
+
|
|
4216
|
+
var FileUploadPermissions;
|
|
4217
|
+
(function (FileUploadPermissions) {
|
|
4218
|
+
FileUploadPermissions["Add"] = "add";
|
|
4219
|
+
FileUploadPermissions["Read"] = "read";
|
|
4220
|
+
FileUploadPermissions["Remove"] = "remove";
|
|
4221
|
+
})(FileUploadPermissions || (FileUploadPermissions = {}));
|
|
4222
|
+
const ALL_PERMISSIONS = [
|
|
4223
|
+
FileUploadPermissions.Add,
|
|
4224
|
+
FileUploadPermissions.Read,
|
|
4225
|
+
FileUploadPermissions.Remove,
|
|
4226
|
+
];
|
|
4227
|
+
|
|
4212
4228
|
var FileUploadComponent_1;
|
|
4213
4229
|
const moment$3 = moment_;
|
|
4214
4230
|
let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
|
|
@@ -4216,6 +4232,9 @@ let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
|
|
|
4216
4232
|
this.sanitizer = sanitizer;
|
|
4217
4233
|
this.fileUploadService = fileUploadService;
|
|
4218
4234
|
this.translate = translate;
|
|
4235
|
+
this.ADD_PERMISSION = FileUploadPermissions.Add;
|
|
4236
|
+
this.READ_PERMISSION = FileUploadPermissions.Read;
|
|
4237
|
+
this.REMOVE_PERMISSION = FileUploadPermissions.Remove;
|
|
4219
4238
|
this.id = `s-file-upload-${FileUploadComponent_1.nextId++}`;
|
|
4220
4239
|
this.chooseLabel = "Anexar arquivos";
|
|
4221
4240
|
this.removeLabel = "Remover";
|
|
@@ -4225,6 +4244,7 @@ let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
|
|
|
4225
4244
|
this.ariaLabelProgress = "Carregando arquivo";
|
|
4226
4245
|
this.disabled = false;
|
|
4227
4246
|
this.showFileUploadDate = false;
|
|
4247
|
+
this.permissions = ALL_PERMISSIONS;
|
|
4228
4248
|
this.uploadHandler = new EventEmitter();
|
|
4229
4249
|
this.removeFile = new EventEmitter();
|
|
4230
4250
|
this.cancelUpload = new EventEmitter();
|
|
@@ -4433,6 +4453,9 @@ __decorate([
|
|
|
4433
4453
|
__decorate([
|
|
4434
4454
|
Input()
|
|
4435
4455
|
], FileUploadComponent.prototype, "showFileUploadDate", void 0);
|
|
4456
|
+
__decorate([
|
|
4457
|
+
Input()
|
|
4458
|
+
], FileUploadComponent.prototype, "permissions", void 0);
|
|
4436
4459
|
__decorate([
|
|
4437
4460
|
Input()
|
|
4438
4461
|
], FileUploadComponent.prototype, "files", null);
|
|
@@ -4457,7 +4480,7 @@ __decorate([
|
|
|
4457
4480
|
FileUploadComponent = FileUploadComponent_1 = __decorate([
|
|
4458
4481
|
Component({
|
|
4459
4482
|
selector: "s-file-upload",
|
|
4460
|
-
template: "<div\n [id]=\"id\"\n class=\"s-fileupload\">\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id+'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"onFileSelect($event.dataTransfer\n ? $event.dataTransfer.files\n : $event.target.files)\"> \n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel\"\n (onClick)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n\n <section\n *ngIf=\"files.length\" \n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\">\n <ng-container *ngFor=\"let file of files; let i = index\">\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\">\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"s-fileupload-list-file-name\"\n role=\"gridcell\">\n <ng-container *ngTemplateOutlet=\"file.savedFile || file.progress === 100\n ? descriptionUrl\n : description; context: {\n $implicit: file,\n index: i\n }\">\n </ng-container>\n <span *ngIf=\"modifiedDate\" class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\">\n <p-progressBar\n *ngIf=\"file.isUploading && !isSmallDevice\"\n [style]=\"{ 'width': '250px', 'background-color': '#d8d8d8', 'border-radius': '0px', 'height': '14px'}\"\n [value]=\"file.progress\"\n [showValue]=\"false\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </p-progressBar>\n <span\n *ngIf=\"file.isUploading && isSmallDevice\" \n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </span>\n <span\n *ngIf=\"!file.isUploading && !file.error && file.progress === 100\"\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelSuccess || successTooltip\"\n [pTooltip]=\"successTooltip\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n <span\n *ngIf=\"file.error?.message\" \n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\">\n <a\n *ngIf=\"file.isUploading\"\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\">\n {{cancelLabel}}\n </a>\n <a\n *ngIf=\"!file.isUploading && !(disabled || !!formGroup?.disabled)\"\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"ariaLabelRemove || removeLabel\">\n {{removeLabel}}\n </a>\n </div>\n </div>\n </ng-container>\n </section>\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i = index>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">{{file.name}}\n </a>\n <a\n style=\"display: none;\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor>\n </a>\n</ng-template>\n\n<ng-template\n #description\n let-file>\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">\n {{file.name}}\n </span>\n</ng-template>\n",
|
|
4483
|
+
template: "<div\n [id]=\"id\"\n class=\"s-fileupload\">\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id+'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"onFileSelect($event.dataTransfer\n ? $event.dataTransfer.files\n : $event.target.files)\"> \n <s-button\n *ngIf=\"permissions.includes(ADD_PERMISSION)\"\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel\"\n (onClick)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n\n <section\n *ngIf=\"files.length\" \n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\">\n <ng-container *ngFor=\"let file of files; let i = index\">\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\">\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"s-fileupload-list-file-name\"\n role=\"gridcell\">\n <ng-container *ngTemplateOutlet=\"permissions.includes(READ_PERMISSION) && file.savedFile || file.progress === 100\n ? descriptionUrl\n : description; context: {\n $implicit: file,\n index: i\n }\">\n </ng-container>\n <span *ngIf=\"modifiedDate\" class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\">\n <p-progressBar\n *ngIf=\"file.isUploading && !isSmallDevice\"\n [style]=\"{ 'width': '250px', 'background-color': '#d8d8d8', 'border-radius': '0px', 'height': '14px'}\"\n [value]=\"file.progress\"\n [showValue]=\"false\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </p-progressBar>\n <span\n *ngIf=\"file.isUploading && isSmallDevice\" \n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </span>\n <span\n *ngIf=\"!file.isUploading && !file.error && file.progress === 100\"\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelSuccess || successTooltip\"\n [pTooltip]=\"successTooltip\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n <span\n *ngIf=\"file.error?.message\" \n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\">\n <a\n *ngIf=\"file.isUploading\"\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\">\n {{cancelLabel}}\n </a>\n <a\n *ngIf=\"permissions.includes(REMOVE_PERMISSION) && !file.isUploading && !(disabled || !!formGroup?.disabled)\"\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"ariaLabelRemove || removeLabel\">\n {{removeLabel}}\n </a>\n </div>\n </div>\n </ng-container>\n </section>\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i = index>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">{{file.name}}\n </a>\n <a\n style=\"display: none;\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor>\n </a>\n</ng-template>\n\n<ng-template\n #description\n let-file>\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">\n {{file.name}}\n </span>\n</ng-template>\n",
|
|
4461
4484
|
styles: [".s-fileupload .s-fileupload-choose{position:relative;margin:15px 0;width:-webkit-max-content;width:max-content}.s-fileupload input[type=file]{display:none}.s-fileupload-list{border:1px solid #ccc}.s-fileupload-list-file:not(:first-child){border-top:1px solid #ccc}.s-fileupload-list .s-fileupload-list-file{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;padding:15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:center;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name .s-fileupload-list-file-name-date{font-size:.75rem;color:#999}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name>a{cursor:pointer;text-decoration:none}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.s-fileupload-list .s-fileupload-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-check{color:#0c9348;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-times{color:#c13018;font-size:12px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin-top:15px;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;width:100%}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action{text-decoration:none;color:#428bca}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :focus,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :visited,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action:hover{text-decoration:none}@media (min-width:768px){.s-fileupload-list .s-fileupload-list-file{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{width:auto;-ms-flex-positive:2;flex-grow:2}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{margin:0 15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin:0;width:auto}}"]
|
|
4462
4485
|
})
|
|
4463
4486
|
], FileUploadComponent);
|
|
@@ -13181,6 +13204,714 @@ CodeEditorModule = __decorate([
|
|
|
13181
13204
|
})
|
|
13182
13205
|
], CodeEditorModule);
|
|
13183
13206
|
|
|
13207
|
+
let TieredMenuEventService = class TieredMenuEventService {
|
|
13208
|
+
constructor() {
|
|
13209
|
+
this.incrementCurrentItemEvent = new EventEmitter();
|
|
13210
|
+
this.decrementCurrentItemEvent = new EventEmitter();
|
|
13211
|
+
this.closeAllMenusEvent = new EventEmitter();
|
|
13212
|
+
this.selectItemEvent = new EventEmitter();
|
|
13213
|
+
this.openItemMenuEvent = new EventEmitter();
|
|
13214
|
+
this.closeItemMenuEvent = new EventEmitter();
|
|
13215
|
+
this.createMenuEvent = new EventEmitter();
|
|
13216
|
+
}
|
|
13217
|
+
emitIncrementCurrentItemEvent() {
|
|
13218
|
+
this.incrementCurrentItemEvent.emit();
|
|
13219
|
+
}
|
|
13220
|
+
emitDecrementCurrentItemEvent() {
|
|
13221
|
+
this.decrementCurrentItemEvent.emit();
|
|
13222
|
+
}
|
|
13223
|
+
emitCloseAllMenusEvent() {
|
|
13224
|
+
this.closeAllMenusEvent.emit();
|
|
13225
|
+
}
|
|
13226
|
+
emitSelectItemEvent(item) {
|
|
13227
|
+
this.selectItemEvent.emit(item);
|
|
13228
|
+
}
|
|
13229
|
+
emitOpenItemMenuEvent(item) {
|
|
13230
|
+
this.openItemMenuEvent.emit(item);
|
|
13231
|
+
}
|
|
13232
|
+
emitCloseItemMenuEvent(item) {
|
|
13233
|
+
this.closeItemMenuEvent.emit(item);
|
|
13234
|
+
}
|
|
13235
|
+
emitCreateMenuEvent(item) {
|
|
13236
|
+
this.createMenuEvent.emit(item);
|
|
13237
|
+
}
|
|
13238
|
+
};
|
|
13239
|
+
TieredMenuEventService = __decorate([
|
|
13240
|
+
Injectable()
|
|
13241
|
+
], TieredMenuEventService);
|
|
13242
|
+
|
|
13243
|
+
let TieredMenuService = class TieredMenuService {
|
|
13244
|
+
normalizeData(items, parent) {
|
|
13245
|
+
return items.map((i) => {
|
|
13246
|
+
if (i.submenu) {
|
|
13247
|
+
i.submenu = this.normalizeData(i.submenu, i);
|
|
13248
|
+
}
|
|
13249
|
+
i.id = `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;
|
|
13250
|
+
i.parent = parent;
|
|
13251
|
+
i.isOpen = false;
|
|
13252
|
+
return i;
|
|
13253
|
+
});
|
|
13254
|
+
}
|
|
13255
|
+
markAllItemsAsClosed(items) {
|
|
13256
|
+
return items.map((item) => {
|
|
13257
|
+
if (item.submenu) {
|
|
13258
|
+
item.submenu = this.markAllItemsAsClosed(item.submenu);
|
|
13259
|
+
}
|
|
13260
|
+
item.isOpen = false;
|
|
13261
|
+
return item;
|
|
13262
|
+
});
|
|
13263
|
+
}
|
|
13264
|
+
searchTheHierarchy(item1, item2) {
|
|
13265
|
+
let itemAux = item2;
|
|
13266
|
+
while (itemAux) {
|
|
13267
|
+
if (itemAux === item1) {
|
|
13268
|
+
return true;
|
|
13269
|
+
}
|
|
13270
|
+
itemAux = itemAux.parent;
|
|
13271
|
+
}
|
|
13272
|
+
return false;
|
|
13273
|
+
}
|
|
13274
|
+
};
|
|
13275
|
+
TieredMenuService = __decorate([
|
|
13276
|
+
Injectable()
|
|
13277
|
+
], TieredMenuService);
|
|
13278
|
+
|
|
13279
|
+
let TieredMenuNestedComponent = class TieredMenuNestedComponent {
|
|
13280
|
+
constructor(tieredMenuService, _tieredMenuEventService) {
|
|
13281
|
+
this.tieredMenuService = tieredMenuService;
|
|
13282
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
13283
|
+
this.top = 0;
|
|
13284
|
+
this.maxHeight = 0;
|
|
13285
|
+
this._unsubscribe$ = new Subject();
|
|
13286
|
+
}
|
|
13287
|
+
ngOnInit() {
|
|
13288
|
+
this.tieredMenuService.currentItems = this.items;
|
|
13289
|
+
this._subscribeEvents();
|
|
13290
|
+
}
|
|
13291
|
+
ngOnDestroy() {
|
|
13292
|
+
this._unsubscribe$.next();
|
|
13293
|
+
this._unsubscribe$.complete();
|
|
13294
|
+
}
|
|
13295
|
+
_incrementCurItem() {
|
|
13296
|
+
if (!this.tieredMenuService.currentItem) {
|
|
13297
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13298
|
+
return;
|
|
13299
|
+
}
|
|
13300
|
+
const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
|
|
13301
|
+
if (curIndex < this.tieredMenuService.currentItems.length) {
|
|
13302
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
|
|
13303
|
+
}
|
|
13304
|
+
else {
|
|
13305
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13306
|
+
}
|
|
13307
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
13308
|
+
this._incrementCurItem();
|
|
13309
|
+
}
|
|
13310
|
+
}
|
|
13311
|
+
_decrementCurItem() {
|
|
13312
|
+
if (!this.tieredMenuService.currentItem) {
|
|
13313
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13314
|
+
return;
|
|
13315
|
+
}
|
|
13316
|
+
const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
|
|
13317
|
+
if (curIndex >= 0) {
|
|
13318
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
|
|
13319
|
+
}
|
|
13320
|
+
else {
|
|
13321
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
|
|
13322
|
+
}
|
|
13323
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
13324
|
+
this._decrementCurItem();
|
|
13325
|
+
}
|
|
13326
|
+
}
|
|
13327
|
+
_closeItem(item) {
|
|
13328
|
+
var _a;
|
|
13329
|
+
let itemAux = this._lastOpenItem;
|
|
13330
|
+
while (itemAux && itemAux != item) {
|
|
13331
|
+
itemAux.isOpen = false;
|
|
13332
|
+
itemAux = itemAux.parent;
|
|
13333
|
+
}
|
|
13334
|
+
item.isOpen = false;
|
|
13335
|
+
this.tieredMenuService.currentItem = itemAux !== null && itemAux !== void 0 ? itemAux : this.tieredMenuService.items[0];
|
|
13336
|
+
this.tieredMenuService.currentItems = ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.submenu) || this.tieredMenuService.items;
|
|
13337
|
+
}
|
|
13338
|
+
_openItem(item) {
|
|
13339
|
+
if (item === null || item === void 0 ? void 0 : item.submenu) {
|
|
13340
|
+
item.isOpen = true;
|
|
13341
|
+
this.tieredMenuService.currentItems = item.submenu;
|
|
13342
|
+
// Only has focus if there has already been interaction.
|
|
13343
|
+
if (this.tieredMenuService.currentItem) {
|
|
13344
|
+
this.tieredMenuService.currentItem = item.submenu[0];
|
|
13345
|
+
}
|
|
13346
|
+
this._lastOpenItem = item;
|
|
13347
|
+
}
|
|
13348
|
+
}
|
|
13349
|
+
_subscribeEvents() {
|
|
13350
|
+
this._tieredMenuEventService.incrementCurrentItemEvent
|
|
13351
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13352
|
+
.subscribe(() => {
|
|
13353
|
+
this._incrementCurItem();
|
|
13354
|
+
});
|
|
13355
|
+
this._tieredMenuEventService.decrementCurrentItemEvent
|
|
13356
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13357
|
+
.subscribe(() => {
|
|
13358
|
+
this._decrementCurItem();
|
|
13359
|
+
});
|
|
13360
|
+
this._tieredMenuEventService.selectItemEvent
|
|
13361
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13362
|
+
.subscribe((item) => {
|
|
13363
|
+
if (item.command) {
|
|
13364
|
+
item.command();
|
|
13365
|
+
// Close all menus after the item was selected.
|
|
13366
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
13367
|
+
}
|
|
13368
|
+
});
|
|
13369
|
+
this._tieredMenuEventService.openItemMenuEvent
|
|
13370
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13371
|
+
.subscribe((item) => {
|
|
13372
|
+
var _a, _b;
|
|
13373
|
+
if (!this.tieredMenuService.currentItems.includes(item)) {
|
|
13374
|
+
let itemAux = this._lastOpenItem;
|
|
13375
|
+
while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
|
|
13376
|
+
itemAux = itemAux.parent;
|
|
13377
|
+
}
|
|
13378
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
|
|
13379
|
+
}
|
|
13380
|
+
this._lastOpenItem = item;
|
|
13381
|
+
this._openItem(item);
|
|
13382
|
+
});
|
|
13383
|
+
this._tieredMenuEventService.closeItemMenuEvent
|
|
13384
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13385
|
+
.subscribe((item) => {
|
|
13386
|
+
if (item) {
|
|
13387
|
+
this._closeItem(item);
|
|
13388
|
+
}
|
|
13389
|
+
});
|
|
13390
|
+
}
|
|
13391
|
+
};
|
|
13392
|
+
TieredMenuNestedComponent.ctorParameters = () => [
|
|
13393
|
+
{ type: TieredMenuService },
|
|
13394
|
+
{ type: TieredMenuEventService }
|
|
13395
|
+
];
|
|
13396
|
+
TieredMenuNestedComponent = __decorate([
|
|
13397
|
+
Component({
|
|
13398
|
+
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'max-height': maxHeight + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
13399
|
+
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999;overflow:auto}.menu--nested{width:90vw;margin:0 5vw}.menu .submenu{margin-left:24px}"]
|
|
13400
|
+
})
|
|
13401
|
+
], TieredMenuNestedComponent);
|
|
13402
|
+
|
|
13403
|
+
var TieredMenuComponent_1;
|
|
13404
|
+
let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
|
|
13405
|
+
constructor(_appRef, _componentFactoryResolver, _injector, tieredMenuService, _tieredMenuEventService) {
|
|
13406
|
+
this._appRef = _appRef;
|
|
13407
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
13408
|
+
this._injector = _injector;
|
|
13409
|
+
this.tieredMenuService = tieredMenuService;
|
|
13410
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
13411
|
+
this.top = 0;
|
|
13412
|
+
this.left = 0;
|
|
13413
|
+
this.menuTriggerEvent = "hover";
|
|
13414
|
+
this._componentRef = null;
|
|
13415
|
+
this._unsubscribe$ = new Subject();
|
|
13416
|
+
this.destroyRequest = new EventEmitter();
|
|
13417
|
+
}
|
|
13418
|
+
ngOnInit() {
|
|
13419
|
+
this.tieredMenuService.currentItems = this.items;
|
|
13420
|
+
this._subscribeEvents();
|
|
13421
|
+
}
|
|
13422
|
+
ngOnDestroy() {
|
|
13423
|
+
this._unsubscribe$.next();
|
|
13424
|
+
this._unsubscribe$.complete();
|
|
13425
|
+
}
|
|
13426
|
+
_incrementCurItem() {
|
|
13427
|
+
if (!this.tieredMenuService.currentItem) {
|
|
13428
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13429
|
+
return;
|
|
13430
|
+
}
|
|
13431
|
+
else if (!this.items.includes(this.tieredMenuService.currentItem)) {
|
|
13432
|
+
// Checking if it is the current menu.
|
|
13433
|
+
return;
|
|
13434
|
+
}
|
|
13435
|
+
const currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
|
|
13436
|
+
if (currentIndex < this.tieredMenuService.currentItems.length) {
|
|
13437
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];
|
|
13438
|
+
}
|
|
13439
|
+
else {
|
|
13440
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13441
|
+
}
|
|
13442
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
13443
|
+
this._incrementCurItem();
|
|
13444
|
+
}
|
|
13445
|
+
}
|
|
13446
|
+
_decrementCurItem() {
|
|
13447
|
+
if (!this.tieredMenuService.currentItem) {
|
|
13448
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
|
|
13449
|
+
return;
|
|
13450
|
+
// Checking if it is the current menu.
|
|
13451
|
+
}
|
|
13452
|
+
else if (!this.items.includes(this.tieredMenuService.currentItem)) {
|
|
13453
|
+
return;
|
|
13454
|
+
}
|
|
13455
|
+
const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
|
|
13456
|
+
if (curIndex >= 0) {
|
|
13457
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
|
|
13458
|
+
}
|
|
13459
|
+
else {
|
|
13460
|
+
this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
|
|
13461
|
+
}
|
|
13462
|
+
if (this.tieredMenuService.currentItem.divider) {
|
|
13463
|
+
this._decrementCurItem();
|
|
13464
|
+
}
|
|
13465
|
+
}
|
|
13466
|
+
_createMenu(items, position) {
|
|
13467
|
+
if (!this._componentRef && items) {
|
|
13468
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent_1);
|
|
13469
|
+
this._componentRef = componentFactory.create(this._injector);
|
|
13470
|
+
this._appRef.attachView(this._componentRef.hostView);
|
|
13471
|
+
const domElem = this._componentRef.hostView.rootNodes[0];
|
|
13472
|
+
document.body.appendChild(domElem);
|
|
13473
|
+
// Setting the menu items.
|
|
13474
|
+
this._componentRef.instance.items = items;
|
|
13475
|
+
// Subscribe menu events.
|
|
13476
|
+
this._componentRef.instance.destroyRequest
|
|
13477
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13478
|
+
.subscribe((propagate) => {
|
|
13479
|
+
this._destroy(propagate);
|
|
13480
|
+
});
|
|
13481
|
+
this._menuDivElement = domElem.querySelector(".menu");
|
|
13482
|
+
this._setMenuPosition(position);
|
|
13483
|
+
}
|
|
13484
|
+
}
|
|
13485
|
+
_destroy(propagate = true) {
|
|
13486
|
+
if (this._componentRef !== null) {
|
|
13487
|
+
this._appRef.detachView(this._componentRef.hostView);
|
|
13488
|
+
this._componentRef.destroy();
|
|
13489
|
+
this._componentRef = null;
|
|
13490
|
+
this._menuDivElement = null;
|
|
13491
|
+
}
|
|
13492
|
+
if (propagate) {
|
|
13493
|
+
this.destroyRequest.emit();
|
|
13494
|
+
}
|
|
13495
|
+
}
|
|
13496
|
+
_setMenuPosition(position) {
|
|
13497
|
+
var _a;
|
|
13498
|
+
if (this._componentRef !== null) {
|
|
13499
|
+
const { top, right, bottom, left } = position;
|
|
13500
|
+
// I need to calculate the height of the component because the internal elements have not been created yet.
|
|
13501
|
+
const menuHeight = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) * 40;
|
|
13502
|
+
const menuWidth = this._menuDivElement.getBoundingClientRect().width;
|
|
13503
|
+
const rightFreeSpace = document.body.clientWidth - right;
|
|
13504
|
+
const bottomFreeSpace = document.body.clientHeight - bottom;
|
|
13505
|
+
if (rightFreeSpace > menuWidth) {
|
|
13506
|
+
this._componentRef.instance.left = right;
|
|
13507
|
+
}
|
|
13508
|
+
else {
|
|
13509
|
+
this._componentRef.instance.left = left - menuWidth;
|
|
13510
|
+
}
|
|
13511
|
+
if (bottomFreeSpace <= menuHeight) {
|
|
13512
|
+
this._componentRef.instance.top = top - menuHeight;
|
|
13513
|
+
}
|
|
13514
|
+
else {
|
|
13515
|
+
this._componentRef.instance.top = top;
|
|
13516
|
+
}
|
|
13517
|
+
}
|
|
13518
|
+
}
|
|
13519
|
+
_subscribeEvents() {
|
|
13520
|
+
// Increment current item event.
|
|
13521
|
+
this._tieredMenuEventService.incrementCurrentItemEvent
|
|
13522
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13523
|
+
.subscribe(() => {
|
|
13524
|
+
this._incrementCurItem();
|
|
13525
|
+
});
|
|
13526
|
+
// Decrement current item event.
|
|
13527
|
+
this._tieredMenuEventService.decrementCurrentItemEvent
|
|
13528
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13529
|
+
.subscribe(() => {
|
|
13530
|
+
this._decrementCurItem();
|
|
13531
|
+
});
|
|
13532
|
+
// Select item event.
|
|
13533
|
+
this._tieredMenuEventService.selectItemEvent
|
|
13534
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13535
|
+
.subscribe((item) => {
|
|
13536
|
+
if (item.submenu) {
|
|
13537
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(item);
|
|
13538
|
+
}
|
|
13539
|
+
else if (item.command) {
|
|
13540
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
13541
|
+
item.command();
|
|
13542
|
+
}
|
|
13543
|
+
});
|
|
13544
|
+
// Close all menus event.
|
|
13545
|
+
this._tieredMenuEventService.closeAllMenusEvent
|
|
13546
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13547
|
+
.subscribe(() => {
|
|
13548
|
+
this._destroy();
|
|
13549
|
+
this.tieredMenuService.currentItem = null;
|
|
13550
|
+
this.tieredMenuService.currentItems = this.tieredMenuService.items;
|
|
13551
|
+
});
|
|
13552
|
+
// Open item menu event.
|
|
13553
|
+
this._tieredMenuEventService.openItemMenuEvent
|
|
13554
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13555
|
+
.subscribe((item) => {
|
|
13556
|
+
item.isOpen = false;
|
|
13557
|
+
if (this.tieredMenuService.currentItem) {
|
|
13558
|
+
if (this.tieredMenuService.currentItem.parent === item) {
|
|
13559
|
+
return;
|
|
13560
|
+
}
|
|
13561
|
+
if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {
|
|
13562
|
+
let itemAux = this.tieredMenuService.currentItem;
|
|
13563
|
+
while (itemAux.parent !== item.parent) {
|
|
13564
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent(itemAux);
|
|
13565
|
+
itemAux = itemAux.parent;
|
|
13566
|
+
}
|
|
13567
|
+
}
|
|
13568
|
+
}
|
|
13569
|
+
if (item.submenu) {
|
|
13570
|
+
if (!item.isOpen) {
|
|
13571
|
+
const { top, right, left, bottom } = document
|
|
13572
|
+
.querySelector(`#${item.id}`)
|
|
13573
|
+
.getBoundingClientRect();
|
|
13574
|
+
const position = { top, right, left, bottom };
|
|
13575
|
+
if (this.items.includes(item)) {
|
|
13576
|
+
this._createMenu(item.submenu, position);
|
|
13577
|
+
this.tieredMenuService.currentItems = item.submenu;
|
|
13578
|
+
this.tieredMenuService.currentItem = item.submenu[0];
|
|
13579
|
+
}
|
|
13580
|
+
}
|
|
13581
|
+
}
|
|
13582
|
+
});
|
|
13583
|
+
// Close item menu event.
|
|
13584
|
+
this._tieredMenuEventService.closeItemMenuEvent
|
|
13585
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13586
|
+
.subscribe((item) => {
|
|
13587
|
+
var _a, _b;
|
|
13588
|
+
if (this.items.includes(item)) {
|
|
13589
|
+
item.isOpen = false;
|
|
13590
|
+
this.tieredMenuService.currentItems = ((_b = (_a = item === null || item === void 0 ? void 0 : item.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.submenu) || this.tieredMenuService.items;
|
|
13591
|
+
this.tieredMenuService.currentItem = item.parent;
|
|
13592
|
+
this.destroyRequest.emit(false);
|
|
13593
|
+
}
|
|
13594
|
+
});
|
|
13595
|
+
}
|
|
13596
|
+
};
|
|
13597
|
+
TieredMenuComponent.ctorParameters = () => [
|
|
13598
|
+
{ type: ApplicationRef },
|
|
13599
|
+
{ type: ComponentFactoryResolver },
|
|
13600
|
+
{ type: Injector },
|
|
13601
|
+
{ type: TieredMenuService },
|
|
13602
|
+
{ type: TieredMenuEventService }
|
|
13603
|
+
];
|
|
13604
|
+
__decorate([
|
|
13605
|
+
Output()
|
|
13606
|
+
], TieredMenuComponent.prototype, "destroyRequest", void 0);
|
|
13607
|
+
TieredMenuComponent = TieredMenuComponent_1 = __decorate([
|
|
13608
|
+
Component({
|
|
13609
|
+
selector: "s-tiered-menu",
|
|
13610
|
+
template: "<div class=\"menu\" [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
|
|
13611
|
+
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999}"]
|
|
13612
|
+
})
|
|
13613
|
+
], TieredMenuComponent);
|
|
13614
|
+
|
|
13615
|
+
let TieredMenuDirective = class TieredMenuDirective {
|
|
13616
|
+
constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService) {
|
|
13617
|
+
this._elementRef = _elementRef;
|
|
13618
|
+
this._appRef = _appRef;
|
|
13619
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
13620
|
+
this._injector = _injector;
|
|
13621
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
13622
|
+
this._tieredMenuService = _tieredMenuService;
|
|
13623
|
+
this._componentRef = null;
|
|
13624
|
+
this._isNested = false;
|
|
13625
|
+
this._isOpen = false;
|
|
13626
|
+
this._unsubscribe$ = new Subject();
|
|
13627
|
+
this.alwaysOpen = false;
|
|
13628
|
+
this.triggerEvent = "click";
|
|
13629
|
+
}
|
|
13630
|
+
ngOnInit() {
|
|
13631
|
+
this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
|
|
13632
|
+
this._tieredMenuService.currentItems = this._tieredMenuService.items;
|
|
13633
|
+
this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
|
|
13634
|
+
this._subscribeEvents();
|
|
13635
|
+
}
|
|
13636
|
+
ngAfterViewInit() {
|
|
13637
|
+
// setTimeout to create the menu after creating the elements.
|
|
13638
|
+
if (this.alwaysOpen) {
|
|
13639
|
+
setTimeout(() => {
|
|
13640
|
+
this._createMenu();
|
|
13641
|
+
}, 0);
|
|
13642
|
+
}
|
|
13643
|
+
}
|
|
13644
|
+
ngOnDestroy() {
|
|
13645
|
+
this._unsubscribe$.next();
|
|
13646
|
+
this._unsubscribe$.complete();
|
|
13647
|
+
this._destroy();
|
|
13648
|
+
}
|
|
13649
|
+
onResize() {
|
|
13650
|
+
if (!this.alwaysOpen) {
|
|
13651
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
13652
|
+
}
|
|
13653
|
+
}
|
|
13654
|
+
onKeydownHandler(event) {
|
|
13655
|
+
if (!this._isOpen)
|
|
13656
|
+
return;
|
|
13657
|
+
switch (event.key) {
|
|
13658
|
+
case "Escape":
|
|
13659
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
13660
|
+
break;
|
|
13661
|
+
case " ":
|
|
13662
|
+
case "Enter":
|
|
13663
|
+
this._tieredMenuEventService.emitSelectItemEvent(this._tieredMenuService.currentItem);
|
|
13664
|
+
break;
|
|
13665
|
+
case "ArrowLeft":
|
|
13666
|
+
// When nested I need a reference to the current item's parent item, otherwise just the current item.
|
|
13667
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent(this._isNested ? this._tieredMenuService.currentItem.parent : this._tieredMenuService.currentItem);
|
|
13668
|
+
break;
|
|
13669
|
+
case "ArrowRight":
|
|
13670
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(this._tieredMenuService.currentItem);
|
|
13671
|
+
break;
|
|
13672
|
+
case "ArrowUp":
|
|
13673
|
+
this._tieredMenuEventService.emitDecrementCurrentItemEvent();
|
|
13674
|
+
break;
|
|
13675
|
+
case "ArrowDown":
|
|
13676
|
+
this._tieredMenuEventService.emitIncrementCurrentItemEvent();
|
|
13677
|
+
break;
|
|
13678
|
+
}
|
|
13679
|
+
}
|
|
13680
|
+
onClick(event) {
|
|
13681
|
+
if (this.triggerEvent === "click" && this.items && this.items && !this._isOpen) {
|
|
13682
|
+
this._lastActiveElement = document.activeElement;
|
|
13683
|
+
this._createMenu();
|
|
13684
|
+
event.preventDefault();
|
|
13685
|
+
event.stopPropagation();
|
|
13686
|
+
}
|
|
13687
|
+
}
|
|
13688
|
+
onDocumentClick(event) {
|
|
13689
|
+
// Closing menu when clicked outside.
|
|
13690
|
+
const target = event.target;
|
|
13691
|
+
const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
|
|
13692
|
+
if (!clickedInside) {
|
|
13693
|
+
this._tieredMenuEventService.emitCloseAllMenusEvent();
|
|
13694
|
+
}
|
|
13695
|
+
}
|
|
13696
|
+
_createMenu() {
|
|
13697
|
+
var _a;
|
|
13698
|
+
if (!this._componentRef && this.items) {
|
|
13699
|
+
(_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.blur();
|
|
13700
|
+
this._isOpen = true;
|
|
13701
|
+
this._isNested = document.body.clientWidth < 600;
|
|
13702
|
+
this._isNested ? this._createNestedMenu() : this._createTieredMenu();
|
|
13703
|
+
}
|
|
13704
|
+
}
|
|
13705
|
+
_createTieredMenu() {
|
|
13706
|
+
if (!this._componentRef && this.items) {
|
|
13707
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
|
|
13708
|
+
this._componentRef = componentFactory.create(this._injector);
|
|
13709
|
+
this._appRef.attachView(this._componentRef.hostView);
|
|
13710
|
+
const domElem = this._componentRef.hostView.rootNodes[0];
|
|
13711
|
+
document.body.appendChild(domElem);
|
|
13712
|
+
this._setMenuComponentProperties();
|
|
13713
|
+
this._componentRef.instance.destroyRequest
|
|
13714
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13715
|
+
.subscribe(() => {
|
|
13716
|
+
this._destroy();
|
|
13717
|
+
});
|
|
13718
|
+
this._menuDivElement = domElem.querySelector(".menu");
|
|
13719
|
+
this._setMenuPosition();
|
|
13720
|
+
}
|
|
13721
|
+
}
|
|
13722
|
+
_createNestedMenu() {
|
|
13723
|
+
if (!this._componentRef && this.items) {
|
|
13724
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
|
|
13725
|
+
this._componentRef = componentFactory.create(this._injector);
|
|
13726
|
+
this._appRef.attachView(this._componentRef.hostView);
|
|
13727
|
+
const domElem = this._componentRef.hostView.rootNodes[0];
|
|
13728
|
+
document.body.appendChild(domElem);
|
|
13729
|
+
this._setMenuComponentProperties();
|
|
13730
|
+
this._menuDivElement = domElem.querySelector(".menu");
|
|
13731
|
+
this._setMenuPosition();
|
|
13732
|
+
}
|
|
13733
|
+
}
|
|
13734
|
+
_destroy() {
|
|
13735
|
+
var _a;
|
|
13736
|
+
if (this._componentRef !== null && !this.alwaysOpen) {
|
|
13737
|
+
this._isOpen = false;
|
|
13738
|
+
window.clearTimeout(this._showTimeout);
|
|
13739
|
+
this._appRef.detachView(this._componentRef.hostView);
|
|
13740
|
+
this._componentRef.destroy();
|
|
13741
|
+
this._componentRef = null;
|
|
13742
|
+
this._menuDivElement = null;
|
|
13743
|
+
(_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
13744
|
+
this._tieredMenuService.currentItems = this._tieredMenuService.items;
|
|
13745
|
+
this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
|
|
13746
|
+
}
|
|
13747
|
+
}
|
|
13748
|
+
_setMenuPosition() {
|
|
13749
|
+
if (this._componentRef !== null) {
|
|
13750
|
+
const { right, bottom, left } = this._elementRef.nativeElement.getBoundingClientRect();
|
|
13751
|
+
const menuWidth = this._menuDivElement.getBoundingClientRect().width;
|
|
13752
|
+
const rightFreeSpace = document.body.clientWidth - right;
|
|
13753
|
+
const topPosition = bottom + 2;
|
|
13754
|
+
this._componentRef.instance.top = topPosition;
|
|
13755
|
+
if (!this._isNested) {
|
|
13756
|
+
if (rightFreeSpace > menuWidth) {
|
|
13757
|
+
this._componentRef.instance.left = left;
|
|
13758
|
+
}
|
|
13759
|
+
else {
|
|
13760
|
+
this._componentRef.instance.left = left - menuWidth;
|
|
13761
|
+
}
|
|
13762
|
+
}
|
|
13763
|
+
else {
|
|
13764
|
+
// setting the maximum menu size to ensure its content is always visible. 10px margin.
|
|
13765
|
+
this._componentRef.instance.maxHeight = window.innerHeight - topPosition - 10;
|
|
13766
|
+
}
|
|
13767
|
+
}
|
|
13768
|
+
}
|
|
13769
|
+
_setMenuComponentProperties() {
|
|
13770
|
+
if (this._componentRef != null) {
|
|
13771
|
+
this._componentRef.instance.items = this.items;
|
|
13772
|
+
}
|
|
13773
|
+
}
|
|
13774
|
+
_subscribeEvents() {
|
|
13775
|
+
this._tieredMenuEventService.closeAllMenusEvent
|
|
13776
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
13777
|
+
.subscribe(() => {
|
|
13778
|
+
this.items = this._tieredMenuService.markAllItemsAsClosed(this.items);
|
|
13779
|
+
this._destroy();
|
|
13780
|
+
});
|
|
13781
|
+
}
|
|
13782
|
+
};
|
|
13783
|
+
TieredMenuDirective.ctorParameters = () => [
|
|
13784
|
+
{ type: ElementRef },
|
|
13785
|
+
{ type: ApplicationRef },
|
|
13786
|
+
{ type: ComponentFactoryResolver },
|
|
13787
|
+
{ type: Injector },
|
|
13788
|
+
{ type: TieredMenuEventService },
|
|
13789
|
+
{ type: TieredMenuService }
|
|
13790
|
+
];
|
|
13791
|
+
__decorate([
|
|
13792
|
+
Input()
|
|
13793
|
+
], TieredMenuDirective.prototype, "items", void 0);
|
|
13794
|
+
__decorate([
|
|
13795
|
+
Input()
|
|
13796
|
+
], TieredMenuDirective.prototype, "alwaysOpen", void 0);
|
|
13797
|
+
__decorate([
|
|
13798
|
+
Input()
|
|
13799
|
+
], TieredMenuDirective.prototype, "triggerEvent", void 0);
|
|
13800
|
+
__decorate([
|
|
13801
|
+
HostListener("window:resize")
|
|
13802
|
+
], TieredMenuDirective.prototype, "onResize", null);
|
|
13803
|
+
__decorate([
|
|
13804
|
+
HostListener("document:keydown", ["$event"])
|
|
13805
|
+
], TieredMenuDirective.prototype, "onKeydownHandler", null);
|
|
13806
|
+
__decorate([
|
|
13807
|
+
HostListener("click", ["$event"])
|
|
13808
|
+
], TieredMenuDirective.prototype, "onClick", null);
|
|
13809
|
+
__decorate([
|
|
13810
|
+
HostListener("document:click", ["$event"])
|
|
13811
|
+
], TieredMenuDirective.prototype, "onDocumentClick", null);
|
|
13812
|
+
TieredMenuDirective = __decorate([
|
|
13813
|
+
Directive({
|
|
13814
|
+
selector: "[sTieredMenu]",
|
|
13815
|
+
})
|
|
13816
|
+
], TieredMenuDirective);
|
|
13817
|
+
|
|
13818
|
+
let TieredMenuItemComponent = class TieredMenuItemComponent {
|
|
13819
|
+
constructor(_tieredMenuEventService) {
|
|
13820
|
+
this._tieredMenuEventService = _tieredMenuEventService;
|
|
13821
|
+
this.focused = false;
|
|
13822
|
+
this.triggerEvent = "click";
|
|
13823
|
+
this.closeOnClick = false;
|
|
13824
|
+
}
|
|
13825
|
+
onClick() {
|
|
13826
|
+
if (this.item.submenu) {
|
|
13827
|
+
if (!this.item.isOpen) {
|
|
13828
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
|
|
13829
|
+
}
|
|
13830
|
+
else if (this.closeOnClick) {
|
|
13831
|
+
this._tieredMenuEventService.emitCloseItemMenuEvent(this.item);
|
|
13832
|
+
}
|
|
13833
|
+
}
|
|
13834
|
+
else {
|
|
13835
|
+
this._tieredMenuEventService.emitSelectItemEvent(this.item);
|
|
13836
|
+
}
|
|
13837
|
+
}
|
|
13838
|
+
onMouseEnter() {
|
|
13839
|
+
if (this.triggerEvent === "hover" && !this.item.isOpen) {
|
|
13840
|
+
this._showTimeout = window.setTimeout(() => {
|
|
13841
|
+
this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
|
|
13842
|
+
}, 300);
|
|
13843
|
+
}
|
|
13844
|
+
}
|
|
13845
|
+
onMouseLeave() {
|
|
13846
|
+
window.clearTimeout(this._showTimeout);
|
|
13847
|
+
}
|
|
13848
|
+
};
|
|
13849
|
+
TieredMenuItemComponent.ctorParameters = () => [
|
|
13850
|
+
{ type: TieredMenuEventService }
|
|
13851
|
+
];
|
|
13852
|
+
__decorate([
|
|
13853
|
+
Input()
|
|
13854
|
+
], TieredMenuItemComponent.prototype, "item", void 0);
|
|
13855
|
+
__decorate([
|
|
13856
|
+
Input()
|
|
13857
|
+
], TieredMenuItemComponent.prototype, "focused", void 0);
|
|
13858
|
+
__decorate([
|
|
13859
|
+
Input()
|
|
13860
|
+
], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
|
|
13861
|
+
__decorate([
|
|
13862
|
+
Input()
|
|
13863
|
+
], TieredMenuItemComponent.prototype, "closeOnClick", void 0);
|
|
13864
|
+
__decorate([
|
|
13865
|
+
HostListener("click"),
|
|
13866
|
+
HostListener("touchend")
|
|
13867
|
+
], TieredMenuItemComponent.prototype, "onClick", null);
|
|
13868
|
+
__decorate([
|
|
13869
|
+
HostListener("mouseenter")
|
|
13870
|
+
], TieredMenuItemComponent.prototype, "onMouseEnter", null);
|
|
13871
|
+
__decorate([
|
|
13872
|
+
HostListener("mouseleave")
|
|
13873
|
+
], TieredMenuItemComponent.prototype, "onMouseLeave", null);
|
|
13874
|
+
TieredMenuItemComponent = __decorate([
|
|
13875
|
+
Component({
|
|
13876
|
+
selector: "s-tiered-menu-item",
|
|
13877
|
+
template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused\n }\">\n <div class=\"tiered-menu-item-content\">\n <span class=\"icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n <span\n *ngIf=\"item.submenu\"\n class=\"submenu-icon\"\n [ngClass]=\"{\n 'fas': true,\n 'fa-chevron-left': item.isOpen,\n 'fa-chevron-right': !item.isOpen\n }\">\n </span>\n</div>",
|
|
13878
|
+
styles: [".tiered-menu-item{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}"]
|
|
13879
|
+
})
|
|
13880
|
+
], TieredMenuItemComponent);
|
|
13881
|
+
|
|
13882
|
+
let TieredMenuDividerComponent = class TieredMenuDividerComponent {
|
|
13883
|
+
};
|
|
13884
|
+
TieredMenuDividerComponent = __decorate([
|
|
13885
|
+
Component({
|
|
13886
|
+
selector: "s-tiered-menu-divider",
|
|
13887
|
+
template: "<div class=\"divider\"></div>",
|
|
13888
|
+
styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
|
|
13889
|
+
})
|
|
13890
|
+
], TieredMenuDividerComponent);
|
|
13891
|
+
|
|
13892
|
+
let TieredMenuModule = class TieredMenuModule {
|
|
13893
|
+
};
|
|
13894
|
+
TieredMenuModule = __decorate([
|
|
13895
|
+
NgModule({
|
|
13896
|
+
imports: [
|
|
13897
|
+
CommonModule,
|
|
13898
|
+
BrowserModule,
|
|
13899
|
+
],
|
|
13900
|
+
declarations: [
|
|
13901
|
+
TieredMenuDirective,
|
|
13902
|
+
TieredMenuComponent,
|
|
13903
|
+
TieredMenuNestedComponent,
|
|
13904
|
+
TieredMenuItemComponent,
|
|
13905
|
+
TieredMenuDividerComponent,
|
|
13906
|
+
],
|
|
13907
|
+
exports: [TieredMenuDirective],
|
|
13908
|
+
providers: [
|
|
13909
|
+
TieredMenuEventService,
|
|
13910
|
+
TieredMenuService,
|
|
13911
|
+
],
|
|
13912
|
+
})
|
|
13913
|
+
], TieredMenuModule);
|
|
13914
|
+
|
|
13184
13915
|
let WorkspaceSwitchComponent = class WorkspaceSwitchComponent {
|
|
13185
13916
|
constructor(eRef) {
|
|
13186
13917
|
this.eRef = eRef;
|
|
@@ -13803,5 +14534,5 @@ const fallback = {
|
|
|
13803
14534
|
* Generated bundle index. Do not edit.
|
|
13804
14535
|
*/
|
|
13805
14536
|
|
|
13806
|
-
export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, SelectFieldComponent as ɵba, TextAreaFieldComponent as ɵbb, TextFieldComponent as ɵbc, BooleanSwitchFieldComponent as ɵbd, PasswordFieldComponent as ɵbe, SliderFieldComponent as ɵbf, DecimalField as ɵbh, SideTableComponent as ɵbi, StructureModule as ɵbj, HeaderComponent as ɵbk, FooterComponent as ɵbl, NumberLocaleOptions as ɵbm, ThumbnailService as ɵbn, BorderButtonModule as ɵbo, BorderButtonComponent as ɵbp, TimelineItemModule as ɵbq, TimelineIconItemComponent as ɵbr, HorizontalTimelineModule as ɵbs, HorizontalTimelineComponent as ɵbt, VerticalTimelineModule as ɵbu, VerticalTimelineComponent as ɵbv, RangeLineComponent as ɵbw, CollapseOptionComponent as ɵbx, CollapsedItemsComponent as ɵby, VerticalItemsComponent as ɵbz, CountryPhonePickerService as ɵc, InfiniteScrollModule as ɵca, InfiniteScrollDirective as ɵcb, CustomTranslationsModule as ɵcc, CodeEditorComponent as ɵcd, CoreFacade as ɵce, CodeMirror6Core as ɵcf, LocalizedCurrencyImpurePipe as ɵd, LocalizedBignumberPipe as ɵe, LocalizedBignumberImpurePipe as ɵf, EmptyStateGoBackComponent as ɵg, FileUploadService as ɵh, InfoSignComponent as ɵi, TableColumnsComponent as ɵj, TablePagingComponent as ɵk, AutocompleteFieldComponent as ɵl, BooleanFieldComponent as ɵm, CalendarFieldComponent as ɵn, ChipsFieldComponent as ɵo, CurrencyFieldComponent as ɵp, DynamicFieldComponent as ɵq, DynamicFormDirective as ɵr, FieldsetComponent as ɵs, FileUploadComponent$1 as ɵt, LookupFieldComponent as ɵu, NumberFieldComponent as ɵv, BignumberFieldComponent as ɵw, RadioButtonComponent as ɵx, RowComponent as ɵy, SectionComponent as ɵz };
|
|
14537
|
+
export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, SelectFieldComponent as ɵba, TextAreaFieldComponent as ɵbb, TextFieldComponent as ɵbc, BooleanSwitchFieldComponent as ɵbd, PasswordFieldComponent as ɵbe, SliderFieldComponent as ɵbf, DecimalField as ɵbh, SideTableComponent as ɵbi, StructureModule as ɵbj, HeaderComponent as ɵbk, FooterComponent as ɵbl, NumberLocaleOptions as ɵbm, ThumbnailService as ɵbn, BorderButtonModule as ɵbo, BorderButtonComponent as ɵbp, TimelineItemModule as ɵbq, TimelineIconItemComponent as ɵbr, HorizontalTimelineModule as ɵbs, HorizontalTimelineComponent as ɵbt, VerticalTimelineModule as ɵbu, VerticalTimelineComponent as ɵbv, RangeLineComponent as ɵbw, CollapseOptionComponent as ɵbx, CollapsedItemsComponent as ɵby, VerticalItemsComponent as ɵbz, CountryPhonePickerService as ɵc, InfiniteScrollModule as ɵca, InfiniteScrollDirective as ɵcb, CustomTranslationsModule as ɵcc, CodeEditorComponent as ɵcd, CoreFacade as ɵce, CodeMirror6Core as ɵcf, TieredMenuEventService as ɵcg, TieredMenuService as ɵch, TieredMenuComponent as ɵci, TieredMenuNestedComponent as ɵcj, TieredMenuItemComponent as ɵck, TieredMenuDividerComponent as ɵcl, LocalizedCurrencyImpurePipe as ɵd, LocalizedBignumberPipe as ɵe, LocalizedBignumberImpurePipe as ɵf, EmptyStateGoBackComponent as ɵg, FileUploadService as ɵh, InfoSignComponent as ɵi, TableColumnsComponent as ɵj, TablePagingComponent as ɵk, AutocompleteFieldComponent as ɵl, BooleanFieldComponent as ɵm, CalendarFieldComponent as ɵn, ChipsFieldComponent as ɵo, CurrencyFieldComponent as ɵp, DynamicFieldComponent as ɵq, DynamicFormDirective as ɵr, FieldsetComponent as ɵs, FileUploadComponent$1 as ɵt, LookupFieldComponent as ɵu, NumberFieldComponent as ɵv, BignumberFieldComponent as ɵw, RadioButtonComponent as ɵx, RowComponent as ɵy, SectionComponent as ɵz };
|
|
13807
14538
|
//# sourceMappingURL=seniorsistemas-angular-components.js.map
|