@tacdaed/fragments 1.0.0-beta.0 → 1.0.0-beta.10
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/README.md +26 -22
- package/assets/styles/scss/_all.scss +1 -1
- package/assets/styles/scss/_utilities.scss +12 -0
- package/fesm2022/{fragments.mjs → tacdaed-fragments.mjs} +64 -78
- package/index.d.ts +19 -21
- package/package.json +15 -10
- package/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf +0 -0
- package/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Black.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Bold.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Light.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-Thin.ttf +0 -0
- package/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- package/fesm2022/fragments.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
|
-
import { NgTemplateOutlet, NgClass, CommonModule,
|
|
2
|
+
import { NgTemplateOutlet, NgClass, CommonModule, formatDate, AsyncPipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { EventEmitter, TemplateRef, ViewChildren, ContentChild, Output, Input, Component, HostListener, inject, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, HostBinding, ElementRef, Renderer2, Directive, Pipe, Injector, LOCALE_ID } from '@angular/core';
|
|
5
5
|
import { RouterLink, RouterLinkActive, Router, ActivatedRoute, NavigationEnd } from '@angular/router';
|
|
@@ -1556,11 +1556,11 @@ class BlobMorphComponent extends MorphBase {
|
|
|
1556
1556
|
this.loadEvent.emit();
|
|
1557
1557
|
}
|
|
1558
1558
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: BlobMorphComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1559
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: BlobMorphComponent, isStandalone: true, selector: "
|
|
1559
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: BlobMorphComponent, isStandalone: true, selector: "frg-blob-morph", inputs: { imageUrl: "imageUrl", fillColor: "fillColor", pathStart: "pathStart", pathEnd: "pathEnd", duration: "duration" }, outputs: { loadEvent: "loadEvent" }, viewQueries: [{ propertyName: "morphPathRef", first: true, predicate: ["morphPath"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"], dependencies: [{ kind: "component", type: SpinnerComponent, selector: "frg-spinner", inputs: ["size", "isCentered", "isOverlay", "isOverlayItem", "label", "styleType"] }] }); }
|
|
1560
1560
|
}
|
|
1561
1561
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: BlobMorphComponent, decorators: [{
|
|
1562
1562
|
type: Component,
|
|
1563
|
-
args: [{ selector: '
|
|
1563
|
+
args: [{ selector: 'frg-blob-morph', imports: [SpinnerComponent], template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"] }]
|
|
1564
1564
|
}], propDecorators: { imageUrl: [{
|
|
1565
1565
|
type: Input
|
|
1566
1566
|
}], fillColor: [{
|
|
@@ -1578,10 +1578,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
1578
1578
|
args: ['morphPath', { static: false }]
|
|
1579
1579
|
}] } });
|
|
1580
1580
|
|
|
1581
|
-
class
|
|
1581
|
+
class SparkleSectionComponent {
|
|
1582
1582
|
constructor() {
|
|
1583
|
-
|
|
1584
|
-
this.
|
|
1583
|
+
/* Layout */
|
|
1584
|
+
this.width = null;
|
|
1585
|
+
this.height = null;
|
|
1586
|
+
/* Sparkles */
|
|
1585
1587
|
this.count = 12;
|
|
1586
1588
|
this.minSize = 2;
|
|
1587
1589
|
this.maxSize = 6;
|
|
@@ -1590,23 +1592,24 @@ class SparkleFieldComponent {
|
|
|
1590
1592
|
this.maxDuration = 5200;
|
|
1591
1593
|
this.loop = true;
|
|
1592
1594
|
this.color = null;
|
|
1595
|
+
this.intensity = 1;
|
|
1593
1596
|
this.sparkles = [];
|
|
1594
|
-
this.
|
|
1595
|
-
this.
|
|
1596
|
-
this.fallbackWidth = 260;
|
|
1597
|
-
this.fallbackHeight = 160;
|
|
1597
|
+
this.animations = [];
|
|
1598
|
+
this.changesSub = null;
|
|
1598
1599
|
}
|
|
1600
|
+
/* Host sizing (ONLY when provided) */
|
|
1599
1601
|
get hostWidth() {
|
|
1600
|
-
return this.
|
|
1602
|
+
return this.width ? this.formatSize(this.width) : null;
|
|
1601
1603
|
}
|
|
1602
1604
|
get hostHeight() {
|
|
1603
|
-
return this.
|
|
1605
|
+
return this.height ? this.formatSize(this.height) : null;
|
|
1604
1606
|
}
|
|
1605
|
-
get
|
|
1606
|
-
return this.
|
|
1607
|
+
get sparkleColorVar() {
|
|
1608
|
+
return this.color || 'currentColor';
|
|
1607
1609
|
}
|
|
1608
|
-
get
|
|
1609
|
-
|
|
1610
|
+
get sparkleIntensityVar() {
|
|
1611
|
+
const clamped = Math.max(0, Math.min(1, this.intensity));
|
|
1612
|
+
return clamped.toString();
|
|
1610
1613
|
}
|
|
1611
1614
|
ngOnInit() {
|
|
1612
1615
|
this.buildSparkles();
|
|
@@ -1617,91 +1620,72 @@ class SparkleFieldComponent {
|
|
|
1617
1620
|
changes['maxSize'] ||
|
|
1618
1621
|
changes['drift'] ||
|
|
1619
1622
|
changes['minDuration'] ||
|
|
1620
|
-
changes['maxDuration']
|
|
1621
|
-
changes['loop']) {
|
|
1623
|
+
changes['maxDuration']) {
|
|
1622
1624
|
this.buildSparkles();
|
|
1623
1625
|
this.restartAnimation();
|
|
1624
1626
|
}
|
|
1625
1627
|
}
|
|
1626
1628
|
ngAfterViewInit() {
|
|
1627
|
-
this.
|
|
1629
|
+
this.changesSub = this.sparkleRefs.changes.subscribe(() => this.restartAnimation());
|
|
1628
1630
|
this.restartAnimation();
|
|
1629
1631
|
}
|
|
1630
1632
|
ngOnDestroy() {
|
|
1631
|
-
this.
|
|
1632
|
-
this.
|
|
1633
|
+
this.animations.forEach(a => a.pause());
|
|
1634
|
+
this.changesSub?.unsubscribe();
|
|
1633
1635
|
}
|
|
1634
1636
|
buildSparkles() {
|
|
1635
1637
|
const count = Math.max(0, Math.floor(this.count));
|
|
1636
1638
|
const minSize = Math.min(this.minSize, this.maxSize);
|
|
1637
1639
|
const maxSize = Math.max(this.minSize, this.maxSize);
|
|
1638
|
-
const
|
|
1639
|
-
const
|
|
1640
|
+
const minDur = Math.min(this.minDuration, this.maxDuration);
|
|
1641
|
+
const maxDur = Math.max(this.minDuration, this.maxDuration);
|
|
1640
1642
|
this.sparkles = Array.from({ length: count }, () => ({
|
|
1641
|
-
x: this.
|
|
1642
|
-
y: this.
|
|
1643
|
-
size: this.
|
|
1644
|
-
delay: this.
|
|
1645
|
-
duration: this.
|
|
1646
|
-
driftX: this.
|
|
1647
|
-
driftY: this.
|
|
1643
|
+
x: this.rand(0, 100),
|
|
1644
|
+
y: this.rand(0, 100),
|
|
1645
|
+
size: this.rand(minSize, maxSize),
|
|
1646
|
+
delay: this.rand(0, 900),
|
|
1647
|
+
duration: this.rand(minDur, maxDur),
|
|
1648
|
+
driftX: this.rand(-this.drift, this.drift),
|
|
1649
|
+
driftY: this.rand(-this.drift, this.drift),
|
|
1648
1650
|
}));
|
|
1649
1651
|
}
|
|
1650
1652
|
restartAnimation() {
|
|
1651
|
-
if (!this.sparkleRefs
|
|
1653
|
+
if (!this.sparkleRefs?.length)
|
|
1652
1654
|
return;
|
|
1653
|
-
|
|
1654
|
-
this.
|
|
1655
|
-
this.
|
|
1656
|
-
const targets = this.sparkleRefs.toArray();
|
|
1657
|
-
targets.forEach((ref, i) => {
|
|
1655
|
+
this.animations.forEach(a => a.pause());
|
|
1656
|
+
this.animations = [];
|
|
1657
|
+
this.sparkleRefs.forEach((ref, i) => {
|
|
1658
1658
|
const sparkle = this.sparkles[i];
|
|
1659
|
-
if (!sparkle)
|
|
1659
|
+
if (!sparkle)
|
|
1660
1660
|
return;
|
|
1661
|
-
|
|
1662
|
-
const animation = animate(ref.nativeElement, {
|
|
1661
|
+
const anim = animate(ref.nativeElement, {
|
|
1663
1662
|
translateX: [-sparkle.driftX, sparkle.driftX],
|
|
1664
1663
|
translateY: [-sparkle.driftY, sparkle.driftY],
|
|
1665
1664
|
scale: [0.7, 1.2],
|
|
1666
1665
|
opacity: [0.35, 1],
|
|
1667
|
-
duration: sparkle.duration
|
|
1666
|
+
duration: sparkle.duration,
|
|
1668
1667
|
alternate: true,
|
|
1669
1668
|
loop: this.loop,
|
|
1670
|
-
|
|
1669
|
+
easing: 'easeInOutSine',
|
|
1671
1670
|
});
|
|
1672
1671
|
if (sparkle.delay > 0) {
|
|
1673
|
-
|
|
1672
|
+
anim.seek(sparkle.delay % sparkle.duration);
|
|
1674
1673
|
}
|
|
1675
|
-
this.
|
|
1674
|
+
this.animations.push(anim);
|
|
1676
1675
|
});
|
|
1677
1676
|
}
|
|
1678
|
-
|
|
1679
|
-
if (min === max) {
|
|
1680
|
-
return min;
|
|
1681
|
-
}
|
|
1677
|
+
rand(min, max) {
|
|
1682
1678
|
return min + Math.random() * (max - min);
|
|
1683
1679
|
}
|
|
1684
|
-
get widthStyle() {
|
|
1685
|
-
return this.formatSize(this.width);
|
|
1686
|
-
}
|
|
1687
|
-
get heightStyle() {
|
|
1688
|
-
return this.formatSize(this.height);
|
|
1689
|
-
}
|
|
1690
1680
|
formatSize(value) {
|
|
1691
|
-
|
|
1692
|
-
return `${value}px`;
|
|
1693
|
-
}
|
|
1694
|
-
return value;
|
|
1681
|
+
return typeof value === 'number' ? `${value}px` : (value || '');
|
|
1695
1682
|
}
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
}
|
|
1699
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1700
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.3", type: SparkleFieldComponent, isStandalone: true, selector: "frg-sparkle-field", inputs: { width: "width", height: "height", count: "count", minSize: "minSize", maxSize: "maxSize", drift: "drift", minDuration: "minDuration", maxDuration: "maxDuration", loop: "loop", color: "color" }, host: { properties: { "style.width": "this.hostWidth", "style.height": "this.hostHeight", "style.minWidth": "this.hostMinWidth", "style.minHeight": "this.hostMinHeight" } }, viewQueries: [{ propertyName: "sparkleRefs", predicate: ["sparkle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"frg-sparkle-field\"\r\n [style.--frg-sparkle-color]=\"color || null\"\r\n>\r\n <span\r\n #sparkle\r\n *ngFor=\"let sparkle of sparkles\"\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\"\r\n ></span>\r\n</div>\r\n", styles: [":host{display:inline-block}.frg-sparkle-field{position:relative;overflow:hidden;width:100%;height:100%}.frg-sparkle{position:absolute;border-radius:999px;background:var(--frg-sparkle-color, currentColor);opacity:.6;filter:blur(.2px);transform:translateZ(0);will-change:transform,opacity}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
1683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1684
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SparkleSectionComponent, isStandalone: true, selector: "frg-sparkle-section", inputs: { width: "width", height: "height", count: "count", minSize: "minSize", maxSize: "maxSize", drift: "drift", minDuration: "minDuration", maxDuration: "maxDuration", loop: "loop", color: "color", intensity: "intensity" }, host: { properties: { "style.width": "this.hostWidth", "style.height": "this.hostHeight", "style.--sparkle-color": "this.sparkleColorVar", "style.--sparkle-intensity": "this.sparkleIntensityVar" } }, viewQueries: [{ propertyName: "sparkleRefs", predicate: ["sparkle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"frg-sparkle-layer\" aria-hidden=\"true\">\r\n @for (sparkle of sparkles; track $index) {\r\n <span\r\n #sparkle\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\">\r\n </span>\r\n }\r\n</div>\r\n\r\n<div class=\"frg-sparkle-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{display:block;position:relative;overflow:hidden}.frg-sparkle-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.frg-sparkle-content{position:relative;z-index:1}.frg-sparkle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--sparkle-color) 0%,color-mix(in srgb,var(--sparkle-color) calc(100% * var(--sparkle-intensity)),transparent) 70%);opacity:calc(1 * var(--sparkle-intensity));will-change:transform,opacity;transform:translateZ(0)}\n"] }); }
|
|
1701
1685
|
}
|
|
1702
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type:
|
|
1686
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleSectionComponent, decorators: [{
|
|
1703
1687
|
type: Component,
|
|
1704
|
-
args: [{ selector: 'frg-sparkle-
|
|
1688
|
+
args: [{ selector: 'frg-sparkle-section', standalone: true, template: "<div class=\"frg-sparkle-layer\" aria-hidden=\"true\">\r\n @for (sparkle of sparkles; track $index) {\r\n <span\r\n #sparkle\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\">\r\n </span>\r\n }\r\n</div>\r\n\r\n<div class=\"frg-sparkle-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{display:block;position:relative;overflow:hidden}.frg-sparkle-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.frg-sparkle-content{position:relative;z-index:1}.frg-sparkle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--sparkle-color) 0%,color-mix(in srgb,var(--sparkle-color) calc(100% * var(--sparkle-intensity)),transparent) 70%);opacity:calc(1 * var(--sparkle-intensity));will-change:transform,opacity;transform:translateZ(0)}\n"] }]
|
|
1705
1689
|
}], propDecorators: { width: [{
|
|
1706
1690
|
type: Input
|
|
1707
1691
|
}], height: [{
|
|
@@ -1722,6 +1706,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
1722
1706
|
type: Input
|
|
1723
1707
|
}], color: [{
|
|
1724
1708
|
type: Input
|
|
1709
|
+
}], intensity: [{
|
|
1710
|
+
type: Input
|
|
1725
1711
|
}], sparkleRefs: [{
|
|
1726
1712
|
type: ViewChildren,
|
|
1727
1713
|
args: ['sparkle']
|
|
@@ -1731,12 +1717,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
1731
1717
|
}], hostHeight: [{
|
|
1732
1718
|
type: HostBinding,
|
|
1733
1719
|
args: ['style.height']
|
|
1734
|
-
}],
|
|
1720
|
+
}], sparkleColorVar: [{
|
|
1735
1721
|
type: HostBinding,
|
|
1736
|
-
args: ['style
|
|
1737
|
-
}],
|
|
1722
|
+
args: ['style.--sparkle-color']
|
|
1723
|
+
}], sparkleIntensityVar: [{
|
|
1738
1724
|
type: HostBinding,
|
|
1739
|
-
args: ['style
|
|
1725
|
+
args: ['style.--sparkle-intensity']
|
|
1740
1726
|
}] } });
|
|
1741
1727
|
|
|
1742
1728
|
class SmallPaginationComponent {
|
|
@@ -1861,11 +1847,11 @@ class SmallPaginationComponent {
|
|
|
1861
1847
|
return result;
|
|
1862
1848
|
}
|
|
1863
1849
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SmallPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1864
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SmallPaginationComponent, isStandalone: true, selector: "frg-small-pagination", inputs: { totalItems: "totalItems", fullData: "fullData", page: "page", pageSize: "pageSize", hasElipsisPages: "hasElipsisPages", styleType: "styleType" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1850
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SmallPaginationComponent, isStandalone: true, selector: "frg-small-pagination", inputs: { totalItems: "totalItems", fullData: "fullData", page: "page", pageSize: "pageSize", hasElipsisPages: "hasElipsisPages", styleType: "styleType" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1865
1851
|
}
|
|
1866
1852
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SmallPaginationComponent, decorators: [{
|
|
1867
1853
|
type: Component,
|
|
1868
|
-
args: [{ selector: 'frg-small-pagination', imports: [CommonModule], template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"] }]
|
|
1854
|
+
args: [{ selector: 'frg-small-pagination', imports: [CommonModule], template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"] }]
|
|
1869
1855
|
}], propDecorators: { totalItems: [{
|
|
1870
1856
|
type: Input
|
|
1871
1857
|
}], fullData: [{
|
|
@@ -2084,11 +2070,11 @@ class TitleBarComponent {
|
|
|
2084
2070
|
this.styleType = 'primary';
|
|
2085
2071
|
}
|
|
2086
2072
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2087
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: ["
|
|
2073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
2088
2074
|
}
|
|
2089
2075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, decorators: [{
|
|
2090
2076
|
type: Component,
|
|
2091
|
-
args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: ["
|
|
2077
|
+
args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"] }]
|
|
2092
2078
|
}], propDecorators: { title: [{
|
|
2093
2079
|
type: Input
|
|
2094
2080
|
}], styleType: [{
|
|
@@ -2351,7 +2337,7 @@ class TableComponent {
|
|
|
2351
2337
|
}
|
|
2352
2338
|
}
|
|
2353
2339
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2354
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
|
|
2340
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"frg-visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
|
|
2355
2341
|
}
|
|
2356
2342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, decorators: [{
|
|
2357
2343
|
type: Component,
|
|
@@ -2367,7 +2353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
2367
2353
|
FragmentsTooltipDirective,
|
|
2368
2354
|
ButtonComponent,
|
|
2369
2355
|
ReactiveFormsModule,
|
|
2370
|
-
], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
|
|
2356
|
+
], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"frg-visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
|
|
2371
2357
|
}], propDecorators: { configTable: [{
|
|
2372
2358
|
type: Input
|
|
2373
2359
|
}], styleType: [{
|
|
@@ -4637,11 +4623,11 @@ class InputCalendarComponent {
|
|
|
4637
4623
|
this.hasYearSelectionOpen$.next(false);
|
|
4638
4624
|
}
|
|
4639
4625
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: InputCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4640
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: InputCalendarComponent, isStandalone: true, selector: "frg-input-calendar", inputs: { minDate: "minDate", maxDate: "maxDate", selectedValue: "selectedValue" }, outputs: { selectDate: "selectDate", handleMaxDate: "handleMaxDate", handleMinDate: "handleMinDate" }, ngImport: i0, template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"], dependencies: [{ kind: "pipe", type: ChunkPipe, name: "chunk" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
4626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: InputCalendarComponent, isStandalone: true, selector: "frg-input-calendar", inputs: { minDate: "minDate", maxDate: "maxDate", selectedValue: "selectedValue" }, outputs: { selectDate: "selectDate", handleMaxDate: "handleMaxDate", handleMinDate: "handleMinDate" }, ngImport: i0, template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"frg-visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"frg-visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"], dependencies: [{ kind: "pipe", type: ChunkPipe, name: "chunk" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
4641
4627
|
}
|
|
4642
4628
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: InputCalendarComponent, decorators: [{
|
|
4643
4629
|
type: Component,
|
|
4644
|
-
args: [{ selector: 'frg-input-calendar', imports: [ChunkPipe, AsyncPipe], template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"] }]
|
|
4630
|
+
args: [{ selector: 'frg-input-calendar', imports: [ChunkPipe, AsyncPipe], template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"frg-visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"frg-visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"] }]
|
|
4645
4631
|
}], propDecorators: { minDate: [{
|
|
4646
4632
|
type: Input
|
|
4647
4633
|
}], maxDate: [{
|
|
@@ -8924,5 +8910,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
8924
8910
|
* Generated bundle index. Do not edit.
|
|
8925
8911
|
*/
|
|
8926
8912
|
|
|
8927
|
-
export { AccordionComponent, BlobMorphComponent, BreadcrumbComponent, ButtonComponent, CardComponent, ChipComponent, ChunkPipe, CodeBlockComponent, ContainerComponent, ContentBlurComponent, DividerComponent, DynamicPipe, EnumDirectionSortTable, FieldArrayPositionPipe, FragmentsPopoverDirective, FragmentsTooltipDirective, FrgBadgeDirective, InputCalendarComponent, InputCheckboxComponent, InputCheckboxGroupComponent, InputClockPickerComponent, InputDateComponent, InputDateTimeComponent, InputFileUploadComponent, InputNumberComponent, InputRadioGroupComponent, InputSliderComponent, InputTextComponent, InputTimeComponent, InputToggleSwitchComponent, InputValidationComponent, ModalComponent, MultiSelectComponent, PillComponent, ProgressBarComponent, PulseLoaderComponent, SafeHtmlPipe, SanitizeHtmlPipe, SectionComponent, SelectionListComponent, SeparatorComponent, SideNavComponent, SkeletonLoaderComponent, SmallPaginationComponent, SnackbarComponent,
|
|
8928
|
-
//# sourceMappingURL=fragments.mjs.map
|
|
8913
|
+
export { AccordionComponent, BlobMorphComponent, BreadcrumbComponent, ButtonComponent, CardComponent, ChipComponent, ChunkPipe, CodeBlockComponent, ContainerComponent, ContentBlurComponent, DividerComponent, DynamicPipe, EnumDirectionSortTable, FieldArrayPositionPipe, FragmentsPopoverDirective, FragmentsTooltipDirective, FrgBadgeDirective, InputCalendarComponent, InputCheckboxComponent, InputCheckboxGroupComponent, InputClockPickerComponent, InputDateComponent, InputDateTimeComponent, InputFileUploadComponent, InputNumberComponent, InputRadioGroupComponent, InputSliderComponent, InputTextComponent, InputTimeComponent, InputToggleSwitchComponent, InputValidationComponent, ModalComponent, MultiSelectComponent, PillComponent, ProgressBarComponent, PulseLoaderComponent, SafeHtmlPipe, SanitizeHtmlPipe, SectionComponent, SelectionListComponent, SeparatorComponent, SideNavComponent, SkeletonLoaderComponent, SmallPaginationComponent, SnackbarComponent, SparkleSectionComponent, SpinnerComponent, StepperComponent, TableComponent, TabsComponent, TagComponent, TitleBarComponent, ToastComponent, ToastStackComponent, TypeOfArrayPipe, generateId, generateNumberId, generateUUID, generateUniqueId, getActivatedRouteChild, getTimestampISO, getTimestampMillis, isObjectEmpty, normalizeNumber, orderList, paginationList, sortTable };
|
|
8914
|
+
//# sourceMappingURL=tacdaed-fragments.mjs.map
|