@open-rlb/ng-bootstrap 3.1.6 → 3.1.7
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/assets/scss/_custom.scss +109 -1
- package/assets/scss/_variables-dark.scss +4 -1
- package/assets/scss/_variables.scss +16 -1
- package/assets/scss/custom/structure/_vertical.scss +146 -227
- package/assets/scss/rlb/app-layout.scss +6 -3
- package/fesm2022/open-rlb-ng-bootstrap.mjs +165 -87
- package/fesm2022/open-rlb-ng-bootstrap.mjs.map +1 -1
- package/package.json +1 -1
- package/types/open-rlb-ng-bootstrap.d.ts +13 -6
|
@@ -337,8 +337,6 @@ class AccordionItemComponent extends ToggleAbstractComponent {
|
|
|
337
337
|
this.expanded = input(false, { ...(ngDevMode ? { debugName: "expanded" } : {}), alias: 'expanded', transform: booleanAttribute });
|
|
338
338
|
this.cssClass = input('', { ...(ngDevMode ? { debugName: "cssClass" } : {}), alias: 'class' });
|
|
339
339
|
this.style = input(undefined, { ...(ngDevMode ? { debugName: "style" } : {}), alias: 'style' });
|
|
340
|
-
// We use a property for status because the base class updates it.
|
|
341
|
-
// We'll sync it with an input via effect if provided.
|
|
342
340
|
this.status = 'hidden';
|
|
343
341
|
this.statusChange = output({ alias: 'statusChange' });
|
|
344
342
|
this.header = contentChild(AccordionHeaderComponent, ...(ngDevMode ? [{ debugName: "header" }] : []));
|
|
@@ -377,6 +375,25 @@ class AccordionItemComponent extends ToggleAbstractComponent {
|
|
|
377
375
|
if (this.expanded()) {
|
|
378
376
|
this.open();
|
|
379
377
|
}
|
|
378
|
+
// Reactively push the native Bootstrap state into Signals
|
|
379
|
+
this.statusSub = this.statusChange.subscribe(status => {
|
|
380
|
+
const isOpen = status === 'show' || status === 'shown';
|
|
381
|
+
const header = this.header();
|
|
382
|
+
const body = this.body();
|
|
383
|
+
if (header) {
|
|
384
|
+
header.expanded.set(isOpen);
|
|
385
|
+
}
|
|
386
|
+
if (body) {
|
|
387
|
+
body.expanded.set(isOpen);
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
ngOnDestroy() {
|
|
392
|
+
// Pass the correct element so abstract class prevents memory leaks
|
|
393
|
+
const element = this.elementRef?.nativeElement.querySelector('.accordion-collapse');
|
|
394
|
+
super.ngOnDestroy(element);
|
|
395
|
+
// Clean up subscription
|
|
396
|
+
this.statusSub?.unsubscribe();
|
|
380
397
|
}
|
|
381
398
|
getOrCreateInstance(element) {
|
|
382
399
|
return Collapse.getOrCreateInstance(element, { toggle: false });
|
|
@@ -399,7 +416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
399
416
|
<ng-content select="[rlb-accordion-body]"></ng-content>
|
|
400
417
|
`,
|
|
401
418
|
host: { class: 'accordion-item' },
|
|
402
|
-
standalone: false
|
|
419
|
+
standalone: false,
|
|
403
420
|
}]
|
|
404
421
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: UniqueIdService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], cssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], statusChange: [{ type: i0.Output, args: ["statusChange"] }], header: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AccordionHeaderComponent), { isSignal: true }] }], body: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AccordionBodyComponent), { isSignal: true }] }] } });
|
|
405
422
|
|
|
@@ -413,6 +430,7 @@ class AccordionComponent {
|
|
|
413
430
|
this.effectiveId = computed(() => this.id() || this._internalId(), ...(ngDevMode ? [{ debugName: "effectiveId" }] : []));
|
|
414
431
|
this.subs = [];
|
|
415
432
|
this.items = contentChildren(AccordionItemComponent, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
433
|
+
this.cardStyle = input(true, { ...(ngDevMode ? { debugName: "cardStyle" } : {}), alias: 'card-style', transform: booleanAttribute });
|
|
416
434
|
this._internalId.set(`accordion${this.idService.id}`);
|
|
417
435
|
effect(() => {
|
|
418
436
|
this.syncItems();
|
|
@@ -422,7 +440,7 @@ class AccordionComponent {
|
|
|
422
440
|
const items = this.items();
|
|
423
441
|
const id = this.effectiveId();
|
|
424
442
|
const alwaysOpen = this.alwaysOpen();
|
|
425
|
-
items.forEach(
|
|
443
|
+
items.forEach(item => {
|
|
426
444
|
item.parentId.set(id);
|
|
427
445
|
item.alwaysOpen.set(alwaysOpen);
|
|
428
446
|
});
|
|
@@ -437,12 +455,12 @@ class AccordionComponent {
|
|
|
437
455
|
const items = this.items();
|
|
438
456
|
const alwaysOpen = this.alwaysOpen();
|
|
439
457
|
const id = this.effectiveId();
|
|
440
|
-
items.forEach(
|
|
458
|
+
items.forEach(item => {
|
|
441
459
|
item.parentId.set(id);
|
|
442
460
|
item.alwaysOpen.set(alwaysOpen);
|
|
443
|
-
const sub = item.statusChange.subscribe(
|
|
461
|
+
const sub = item.statusChange.subscribe(ev => {
|
|
444
462
|
if (!alwaysOpen && (ev === 'show' || ev === 'shown')) {
|
|
445
|
-
items.forEach(
|
|
463
|
+
items.forEach(other => {
|
|
446
464
|
if (other !== item && (other.status === 'show' || other.status === 'shown')) {
|
|
447
465
|
other.close();
|
|
448
466
|
}
|
|
@@ -459,31 +477,36 @@ class AccordionComponent {
|
|
|
459
477
|
if (this.alwaysOpen()) {
|
|
460
478
|
return;
|
|
461
479
|
}
|
|
462
|
-
const opened = items.filter(
|
|
480
|
+
const opened = items.filter(i => i.expanded() || i.status === 'show' || i.status === 'shown');
|
|
463
481
|
if (opened.length > 1) {
|
|
464
|
-
opened.slice(1).forEach(
|
|
482
|
+
opened.slice(1).forEach(i => i.close());
|
|
465
483
|
}
|
|
466
484
|
}
|
|
467
485
|
cleanup() {
|
|
468
|
-
this.subs.forEach(
|
|
486
|
+
this.subs.forEach(s => s.unsubscribe());
|
|
469
487
|
this.subs = [];
|
|
470
488
|
}
|
|
471
489
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, deps: [{ token: UniqueIdService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
472
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.5", type: AccordionComponent, isStandalone: false, selector: "rlb-accordion", inputs: { flush: { classPropertyName: "flush", publicName: "flush", isSignal: true, isRequired: false, transformFunction: null }, alwaysOpen: { classPropertyName: "alwaysOpen", publicName: "always-open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.accordion-flush": "flush()", "id": "effectiveId()" }, classAttribute: "accordion" }, queries: [{ propertyName: "items", predicate: AccordionItemComponent, isSignal: true }], ngImport: i0, template:
|
|
490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.5", type: AccordionComponent, isStandalone: false, selector: "rlb-accordion", inputs: { flush: { classPropertyName: "flush", publicName: "flush", isSignal: true, isRequired: false, transformFunction: null }, alwaysOpen: { classPropertyName: "alwaysOpen", publicName: "always-open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, cardStyle: { classPropertyName: "cardStyle", publicName: "card-style", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.accordion-flush": "flush()", "class.accordion-card-style": "cardStyle()", "id": "effectiveId()" }, classAttribute: "accordion" }, queries: [{ propertyName: "items", predicate: AccordionItemComponent, isSignal: true }], ngImport: i0, template: `
|
|
491
|
+
<ng-content select="[rlb-accordion-item]"></ng-content>
|
|
492
|
+
`, isInline: true }); }
|
|
473
493
|
}
|
|
474
494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
475
495
|
type: Component,
|
|
476
496
|
args: [{
|
|
477
497
|
selector: 'rlb-accordion',
|
|
478
|
-
template:
|
|
498
|
+
template: `
|
|
499
|
+
<ng-content select="[rlb-accordion-item]"></ng-content>
|
|
500
|
+
`,
|
|
479
501
|
host: {
|
|
480
502
|
class: 'accordion',
|
|
481
503
|
'[class.accordion-flush]': 'flush()',
|
|
504
|
+
'[class.accordion-card-style]': 'cardStyle()',
|
|
482
505
|
'[id]': 'effectiveId()',
|
|
483
506
|
},
|
|
484
|
-
standalone: false
|
|
507
|
+
standalone: false,
|
|
485
508
|
}]
|
|
486
|
-
}], ctorParameters: () => [{ type: UniqueIdService }], propDecorators: { flush: [{ type: i0.Input, args: [{ isSignal: true, alias: "flush", required: false }] }], alwaysOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "always-open", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AccordionItemComponent), { isSignal: true }] }] } });
|
|
509
|
+
}], ctorParameters: () => [{ type: UniqueIdService }], propDecorators: { flush: [{ type: i0.Input, args: [{ isSignal: true, alias: "flush", required: false }] }], alwaysOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "always-open", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AccordionItemComponent), { isSignal: true }] }], cardStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "card-style", required: false }] }] } });
|
|
487
510
|
|
|
488
511
|
class AlertComponent {
|
|
489
512
|
constructor(viewContainerRef) {
|
|
@@ -605,6 +628,7 @@ class BadgeDirective {
|
|
|
605
628
|
this.start = input(undefined, { ...(ngDevMode ? { debugName: "start" } : {}), alias: 'badge-start',
|
|
606
629
|
transform: numberAttribute });
|
|
607
630
|
this.color = input('danger', { ...(ngDevMode ? { debugName: "color" } : {}), alias: 'badge-color' });
|
|
631
|
+
this.textColor = input('light', { ...(ngDevMode ? { debugName: "textColor" } : {}), alias: 'badge-text-color' });
|
|
608
632
|
this.hiddenText = input(undefined, { ...(ngDevMode ? { debugName: "hiddenText" } : {}), alias: 'hidden-text' });
|
|
609
633
|
this.dot = input(false, { ...(ngDevMode ? { debugName: "dot" } : {}), alias: 'badge-dot', transform: booleanAttribute });
|
|
610
634
|
effect(() => {
|
|
@@ -642,6 +666,7 @@ class BadgeDirective {
|
|
|
642
666
|
const border = this.border();
|
|
643
667
|
const hiddenText = this.hiddenText();
|
|
644
668
|
const badgeValue = this.castToString(this.badge());
|
|
669
|
+
const textColor = this.textColor();
|
|
645
670
|
if (top || start || top === 0 || start === 0) {
|
|
646
671
|
this.renderer.addClass(this.badgeElement, 'position-absolute');
|
|
647
672
|
if (top || top === 0) {
|
|
@@ -662,6 +687,9 @@ class BadgeDirective {
|
|
|
662
687
|
if (color) {
|
|
663
688
|
this.renderer.addClass(this.badgeElement, `bg-${color}`);
|
|
664
689
|
}
|
|
690
|
+
if (textColor) {
|
|
691
|
+
this.renderer.addClass(this.badgeElement, `text-${textColor}`);
|
|
692
|
+
}
|
|
665
693
|
if (badgeValue) {
|
|
666
694
|
this.badgeContent = this.renderer.createText(badgeValue);
|
|
667
695
|
this.renderer.appendChild(this.badgeElement, this.badgeContent);
|
|
@@ -703,7 +731,7 @@ class BadgeDirective {
|
|
|
703
731
|
}
|
|
704
732
|
}
|
|
705
733
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: BadgeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
706
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: BadgeDirective, isStandalone: false, selector: "[badge]", inputs: { badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, pill: { classPropertyName: "pill", publicName: "badge-pill", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "badge-border", isSignal: true, isRequired: false, transformFunction: null }, top: { classPropertyName: "top", publicName: "badge-top", isSignal: true, isRequired: false, transformFunction: null }, start: { classPropertyName: "start", publicName: "badge-start", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "badge-color", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hidden-text", isSignal: true, isRequired: false, transformFunction: null }, dot: { classPropertyName: "dot", publicName: "badge-dot", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
734
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: BadgeDirective, isStandalone: false, selector: "[badge]", inputs: { badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, pill: { classPropertyName: "pill", publicName: "badge-pill", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "badge-border", isSignal: true, isRequired: false, transformFunction: null }, top: { classPropertyName: "top", publicName: "badge-top", isSignal: true, isRequired: false, transformFunction: null }, start: { classPropertyName: "start", publicName: "badge-start", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "badge-color", isSignal: true, isRequired: false, transformFunction: null }, textColor: { classPropertyName: "textColor", publicName: "badge-text-color", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hidden-text", isSignal: true, isRequired: false, transformFunction: null }, dot: { classPropertyName: "dot", publicName: "badge-dot", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
707
735
|
}
|
|
708
736
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: BadgeDirective, decorators: [{
|
|
709
737
|
type: Directive,
|
|
@@ -711,7 +739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
711
739
|
selector: '[badge]',
|
|
712
740
|
standalone: false,
|
|
713
741
|
}]
|
|
714
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], pill: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-pill", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-border", required: false }] }], top: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-top", required: false }] }], start: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-start", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-color", required: false }] }], hiddenText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidden-text", required: false }] }], dot: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-dot", required: false }] }] } });
|
|
742
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], pill: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-pill", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-border", required: false }] }], top: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-top", required: false }] }], start: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-start", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-color", required: false }] }], textColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-text-color", required: false }] }], hiddenText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidden-text", required: false }] }], dot: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge-dot", required: false }] }] } });
|
|
715
743
|
|
|
716
744
|
class BreadcrumbComponent {
|
|
717
745
|
constructor() {
|
|
@@ -5044,41 +5072,50 @@ class SidebarItemComponent {
|
|
|
5044
5072
|
this.badgeCounter = input(undefined, ...(ngDevMode ? [{ debugName: "badgeCounter" }] : []));
|
|
5045
5073
|
this.click = output();
|
|
5046
5074
|
this.children = contentChildren(SidebarItemComponent, ...(ngDevMode ? [{ debugName: "children" }] : []));
|
|
5075
|
+
this.template = viewChild.required('template');
|
|
5047
5076
|
this.collapseComponent = ViewChild(CollapseComponent);
|
|
5077
|
+
this.isExpanded = signal(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
|
|
5048
5078
|
this._id = '';
|
|
5049
5079
|
}
|
|
5050
5080
|
ngOnInit() {
|
|
5051
|
-
const templateView = this.viewContainerRef.createEmbeddedView(this.template);
|
|
5081
|
+
const templateView = this.viewContainerRef.createEmbeddedView(this.template());
|
|
5052
5082
|
this.element = templateView.rootNodes[0];
|
|
5053
5083
|
this.viewContainerRef.element.nativeElement.remove();
|
|
5054
5084
|
this._id = this.uniqueIdService.id;
|
|
5055
5085
|
}
|
|
5056
5086
|
onItemClick(event) {
|
|
5057
|
-
event.stopPropagation();
|
|
5058
5087
|
this.click.emit(event);
|
|
5088
|
+
if (this.children().length > 0) {
|
|
5089
|
+
this.isExpanded.update(v => !v);
|
|
5090
|
+
}
|
|
5059
5091
|
if (!this.title() && this.children().length === 0) {
|
|
5060
5092
|
this.sidebarService.notifyItemClicked();
|
|
5061
5093
|
}
|
|
5062
5094
|
}
|
|
5063
5095
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SidebarItemComponent, deps: [{ token: i0.ViewContainerRef }, { token: UniqueIdService }, { token: i2.Router }, { token: SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5064
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: SidebarItemComponent, isStandalone: false, selector: "rlb-sidebar-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, badgeCounter: { classPropertyName: "badgeCounter", publicName: "badgeCounter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, queries: [{ propertyName: "children", predicate: SidebarItemComponent, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true,
|
|
5096
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: SidebarItemComponent, isStandalone: false, selector: "rlb-sidebar-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, badgeCounter: { classPropertyName: "badgeCounter", publicName: "badgeCounter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, queries: [{ propertyName: "children", predicate: SidebarItemComponent, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
5065
5097
|
<ng-template #template>
|
|
5066
5098
|
@if (title()) {
|
|
5067
|
-
<li
|
|
5099
|
+
<li
|
|
5100
|
+
(click)="onItemClick($event)"
|
|
5101
|
+
class="menu-title"
|
|
5102
|
+
>
|
|
5103
|
+
{{ title() }}
|
|
5104
|
+
</li>
|
|
5068
5105
|
}
|
|
5069
5106
|
@if (!title()) {
|
|
5070
|
-
<li
|
|
5107
|
+
<li>
|
|
5071
5108
|
@if (children().length) {
|
|
5072
5109
|
<a
|
|
5073
5110
|
[badge]="
|
|
5074
|
-
badgeCounter() && badgeCounter()! > 0
|
|
5075
|
-
? badgeCounter()!.toString()
|
|
5076
|
-
: undefined
|
|
5111
|
+
badgeCounter() && badgeCounter()! > 0 ? badgeCounter()!.toString() : undefined
|
|
5077
5112
|
"
|
|
5078
5113
|
href="javascript:void(0);"
|
|
5079
5114
|
class="is-parent has-arrow"
|
|
5080
5115
|
toggle="collapse"
|
|
5081
5116
|
[toggle-target]="'side-item' + _id"
|
|
5117
|
+
[collapsed]="!isExpanded()"
|
|
5118
|
+
(click)="onItemClick($event)"
|
|
5082
5119
|
>
|
|
5083
5120
|
@if (icon()) {
|
|
5084
5121
|
<i [class]="icon()"></i>
|
|
@@ -5087,20 +5124,20 @@ class SidebarItemComponent {
|
|
|
5087
5124
|
</a>
|
|
5088
5125
|
}
|
|
5089
5126
|
<rlb-collapse [id]="'side-item' + _id">
|
|
5090
|
-
<ul
|
|
5127
|
+
<ul
|
|
5128
|
+
class="sub-menu"
|
|
5129
|
+
aria-expanded="false"
|
|
5130
|
+
>
|
|
5091
5131
|
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5092
5132
|
</ul>
|
|
5093
5133
|
</rlb-collapse>
|
|
5094
5134
|
@if (!children().length) {
|
|
5095
5135
|
<a
|
|
5096
5136
|
[routerLink]="link()"
|
|
5097
|
-
[badge]="
|
|
5098
|
-
badgeCounter() && badgeCounter()! > 0
|
|
5099
|
-
? badgeCounter()
|
|
5100
|
-
: undefined
|
|
5101
|
-
"
|
|
5137
|
+
[badge]="badgeCounter() && badgeCounter()! > 0 ? badgeCounter() : undefined"
|
|
5102
5138
|
class="side-nav-link-ref"
|
|
5103
5139
|
routerLinkActive="active"
|
|
5140
|
+
(click)="onItemClick($event)"
|
|
5104
5141
|
>
|
|
5105
5142
|
@if (icon()) {
|
|
5106
5143
|
<i [class]="icon()"></i>
|
|
@@ -5111,7 +5148,7 @@ class SidebarItemComponent {
|
|
|
5111
5148
|
</li>
|
|
5112
5149
|
}
|
|
5113
5150
|
</ng-template>
|
|
5114
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: BadgeDirective, selector: "[badge]", inputs: ["badge", "badge-pill", "badge-border", "badge-top", "badge-start", "badge-color", "hidden-text", "badge-dot"] }, { kind: "component", type: CollapseComponent, selector: "rlb-collapse", inputs: ["id", "orientation"], outputs: ["statusChange"] }, { kind: "directive", type: ToggleDirective, selector: "\n button[toggle],\n a[toggle],\n rlb-navbar-item[toggle],\n rlb-button-toolbar[toggle]", inputs: ["toggle", "toggle-target", "collapsed", "auto-close"] }] }); }
|
|
5151
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: BadgeDirective, selector: "[badge]", inputs: ["badge", "badge-pill", "badge-border", "badge-top", "badge-start", "badge-color", "badge-text-color", "hidden-text", "badge-dot"] }, { kind: "component", type: CollapseComponent, selector: "rlb-collapse", inputs: ["id", "orientation"], outputs: ["statusChange"] }, { kind: "directive", type: ToggleDirective, selector: "\n button[toggle],\n a[toggle],\n rlb-navbar-item[toggle],\n rlb-button-toolbar[toggle]", inputs: ["toggle", "toggle-target", "collapsed", "auto-close"] }] }); }
|
|
5115
5152
|
}
|
|
5116
5153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SidebarItemComponent, decorators: [{
|
|
5117
5154
|
type: Component,
|
|
@@ -5120,21 +5157,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5120
5157
|
template: `
|
|
5121
5158
|
<ng-template #template>
|
|
5122
5159
|
@if (title()) {
|
|
5123
|
-
<li
|
|
5160
|
+
<li
|
|
5161
|
+
(click)="onItemClick($event)"
|
|
5162
|
+
class="menu-title"
|
|
5163
|
+
>
|
|
5164
|
+
{{ title() }}
|
|
5165
|
+
</li>
|
|
5124
5166
|
}
|
|
5125
5167
|
@if (!title()) {
|
|
5126
|
-
<li
|
|
5168
|
+
<li>
|
|
5127
5169
|
@if (children().length) {
|
|
5128
5170
|
<a
|
|
5129
5171
|
[badge]="
|
|
5130
|
-
badgeCounter() && badgeCounter()! > 0
|
|
5131
|
-
? badgeCounter()!.toString()
|
|
5132
|
-
: undefined
|
|
5172
|
+
badgeCounter() && badgeCounter()! > 0 ? badgeCounter()!.toString() : undefined
|
|
5133
5173
|
"
|
|
5134
5174
|
href="javascript:void(0);"
|
|
5135
5175
|
class="is-parent has-arrow"
|
|
5136
5176
|
toggle="collapse"
|
|
5137
5177
|
[toggle-target]="'side-item' + _id"
|
|
5178
|
+
[collapsed]="!isExpanded()"
|
|
5179
|
+
(click)="onItemClick($event)"
|
|
5138
5180
|
>
|
|
5139
5181
|
@if (icon()) {
|
|
5140
5182
|
<i [class]="icon()"></i>
|
|
@@ -5143,20 +5185,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5143
5185
|
</a>
|
|
5144
5186
|
}
|
|
5145
5187
|
<rlb-collapse [id]="'side-item' + _id">
|
|
5146
|
-
<ul
|
|
5188
|
+
<ul
|
|
5189
|
+
class="sub-menu"
|
|
5190
|
+
aria-expanded="false"
|
|
5191
|
+
>
|
|
5147
5192
|
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5148
5193
|
</ul>
|
|
5149
5194
|
</rlb-collapse>
|
|
5150
5195
|
@if (!children().length) {
|
|
5151
5196
|
<a
|
|
5152
5197
|
[routerLink]="link()"
|
|
5153
|
-
[badge]="
|
|
5154
|
-
badgeCounter() && badgeCounter()! > 0
|
|
5155
|
-
? badgeCounter()
|
|
5156
|
-
: undefined
|
|
5157
|
-
"
|
|
5198
|
+
[badge]="badgeCounter() && badgeCounter()! > 0 ? badgeCounter() : undefined"
|
|
5158
5199
|
class="side-nav-link-ref"
|
|
5159
5200
|
routerLinkActive="active"
|
|
5201
|
+
(click)="onItemClick($event)"
|
|
5160
5202
|
>
|
|
5161
5203
|
@if (icon()) {
|
|
5162
5204
|
<i [class]="icon()"></i>
|
|
@@ -5170,10 +5212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5170
5212
|
`,
|
|
5171
5213
|
standalone: false,
|
|
5172
5214
|
}]
|
|
5173
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: UniqueIdService }, { type: i2.Router }, { type: SidebarService }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], badgeCounter: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeCounter", required: false }] }], click: [{ type: i0.Output, args: ["click"] }], children: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SidebarItemComponent), { isSignal: true }] }], template: [{
|
|
5174
|
-
type: ViewChild,
|
|
5175
|
-
args: ['template', { static: true }]
|
|
5176
|
-
}] } });
|
|
5215
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: UniqueIdService }, { type: i2.Router }, { type: SidebarService }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], badgeCounter: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeCounter", required: false }] }], click: [{ type: i0.Output, args: ["click"] }], children: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SidebarItemComponent), { isSignal: true }] }], template: [{ type: i0.ViewChild, args: ['template', { isSignal: true }] }] } });
|
|
5177
5216
|
|
|
5178
5217
|
class TooltipDirective {
|
|
5179
5218
|
constructor(elementRef) {
|
|
@@ -5228,6 +5267,7 @@ class SidebarComponent {
|
|
|
5228
5267
|
this.sidebarService = sidebarService;
|
|
5229
5268
|
this.breakpointService = breakpointService;
|
|
5230
5269
|
this.isCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "isCollapsed" }] : []));
|
|
5270
|
+
this.dark = input(true, { ...(ngDevMode ? { debugName: "dark" } : {}), alias: 'dark', transform: booleanAttribute });
|
|
5231
5271
|
this.subscription = new Subscription();
|
|
5232
5272
|
this.rounded = input(false, { ...(ngDevMode ? { debugName: "rounded" } : {}), alias: 'rounded', transform: booleanAttribute });
|
|
5233
5273
|
this.isMobile = toSignal(this.breakpointService.isMobile$);
|
|
@@ -5259,53 +5299,86 @@ class SidebarComponent {
|
|
|
5259
5299
|
sidebar?.classList.toggle('collapsed', collapsed);
|
|
5260
5300
|
}
|
|
5261
5301
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SidebarComponent, deps: [{ token: SidebarService }, { token: BreakpointService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5262
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: SidebarComponent, isStandalone: false, selector: "rlb-sidebar", inputs: { rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "sideMenu", first: true, predicate: ["sideMenu"], descendants: true }], ngImport: i0, template: `
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
|
|
5302
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: SidebarComponent, isStandalone: false, selector: "rlb-sidebar", inputs: { dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-bs-theme": "dark() ? 'dark' : 'light'" } }, viewQueries: [{ propertyName: "sideMenu", first: true, predicate: ["sideMenu"], descendants: true }], ngImport: i0, template: `
|
|
5303
|
+
<div
|
|
5304
|
+
class="vertical-menu"
|
|
5305
|
+
[class.rounded-2]="rounded()"
|
|
5306
|
+
>
|
|
5307
|
+
<div
|
|
5308
|
+
id="sidebar-menu"
|
|
5309
|
+
class="w-100 h-100 overflow-y-auto"
|
|
5310
|
+
>
|
|
5311
|
+
<ul
|
|
5312
|
+
class="metismenu list-unstyled"
|
|
5313
|
+
id="side-menu"
|
|
5314
|
+
#sideMenu
|
|
5315
|
+
>
|
|
5316
|
+
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5317
|
+
</ul>
|
|
5318
|
+
</div>
|
|
5319
|
+
</div>
|
|
5320
|
+
<div
|
|
5321
|
+
role="button"
|
|
5322
|
+
class="sidebar-toggle"
|
|
5323
|
+
[tooltip]="!isCollapsed() ? 'Hide' : 'Show'"
|
|
5324
|
+
[tooltip-placement]="!isCollapsed() ? 'top' : 'left'"
|
|
5325
|
+
[tooltip-class]="'sidebar-toggler-tooltip'"
|
|
5326
|
+
(click)="toggleSidebar()"
|
|
5327
|
+
>
|
|
5328
|
+
<i
|
|
5329
|
+
[class.bi-chevron-double-left]="!isCollapsed()"
|
|
5330
|
+
[class.bi-chevron-double-right]="isCollapsed()"
|
|
5331
|
+
class="bi "
|
|
5332
|
+
></i>
|
|
5333
|
+
</div>
|
|
5334
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }] }); }
|
|
5280
5335
|
}
|
|
5281
5336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
5282
5337
|
type: Component,
|
|
5283
5338
|
args: [{
|
|
5284
5339
|
selector: 'rlb-sidebar',
|
|
5285
5340
|
template: `
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5341
|
+
<div
|
|
5342
|
+
class="vertical-menu"
|
|
5343
|
+
[class.rounded-2]="rounded()"
|
|
5344
|
+
>
|
|
5345
|
+
<div
|
|
5346
|
+
id="sidebar-menu"
|
|
5347
|
+
class="w-100 h-100 overflow-y-auto"
|
|
5348
|
+
>
|
|
5349
|
+
<ul
|
|
5350
|
+
class="metismenu list-unstyled"
|
|
5351
|
+
id="side-menu"
|
|
5352
|
+
#sideMenu
|
|
5353
|
+
>
|
|
5354
|
+
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5355
|
+
</ul>
|
|
5356
|
+
</div>
|
|
5357
|
+
</div>
|
|
5358
|
+
<div
|
|
5359
|
+
role="button"
|
|
5360
|
+
class="sidebar-toggle"
|
|
5361
|
+
[tooltip]="!isCollapsed() ? 'Hide' : 'Show'"
|
|
5362
|
+
[tooltip-placement]="!isCollapsed() ? 'top' : 'left'"
|
|
5363
|
+
[tooltip-class]="'sidebar-toggler-tooltip'"
|
|
5364
|
+
(click)="toggleSidebar()"
|
|
5365
|
+
>
|
|
5366
|
+
<i
|
|
5367
|
+
[class.bi-chevron-double-left]="!isCollapsed()"
|
|
5368
|
+
[class.bi-chevron-double-right]="isCollapsed()"
|
|
5369
|
+
class="bi "
|
|
5370
|
+
></i>
|
|
5371
|
+
</div>
|
|
5372
|
+
`,
|
|
5373
|
+
host: {
|
|
5374
|
+
'[attr.data-bs-theme]': "dark() ? 'dark' : 'light'",
|
|
5375
|
+
},
|
|
5376
|
+
standalone: false,
|
|
5304
5377
|
}]
|
|
5305
5378
|
}], ctorParameters: () => [{ type: SidebarService }, { type: BreakpointService }], propDecorators: { sideMenu: [{
|
|
5306
5379
|
type: ViewChild,
|
|
5307
5380
|
args: ['sideMenu']
|
|
5308
|
-
}], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }] } });
|
|
5381
|
+
}], dark: [{ type: i0.Input, args: [{ isSignal: true, alias: "dark", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }] } });
|
|
5309
5382
|
|
|
5310
5383
|
class TabContentComponent {
|
|
5311
5384
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: TabContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -6256,7 +6329,7 @@ class DataTableComponent {
|
|
|
6256
6329
|
this.paginationMode = input('none', { ...(ngDevMode ? { debugName: "paginationMode" } : {}), alias: 'pagination-mode' });
|
|
6257
6330
|
this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
|
|
6258
6331
|
this.tableHover = input(false, { ...(ngDevMode ? { debugName: "tableHover" } : {}), alias: 'table-hover', transform: booleanAttribute });
|
|
6259
|
-
this.tableStriped = input(
|
|
6332
|
+
this.tableStriped = input(false, { ...(ngDevMode ? { debugName: "tableStriped" } : {}), alias: 'table-striped', transform: booleanAttribute });
|
|
6260
6333
|
this.tableStripedColumns = input(false, { ...(ngDevMode ? { debugName: "tableStripedColumns" } : {}), alias: 'table-striped-columns',
|
|
6261
6334
|
transform: booleanAttribute });
|
|
6262
6335
|
this.tableBordered = input(false, { ...(ngDevMode ? { debugName: "tableBordered" } : {}), alias: 'table-bordered', transform: booleanAttribute });
|
|
@@ -6268,6 +6341,7 @@ class DataTableComponent {
|
|
|
6268
6341
|
this.pageSize = input(undefined, { ...(ngDevMode ? { debugName: "pageSize" } : {}), alias: 'page-size', transform: numberAttribute });
|
|
6269
6342
|
this.showActions = input('row', ...(ngDevMode ? [{ debugName: "showActions" }] : []));
|
|
6270
6343
|
this.loadMoreLabel = input('Load more', ...(ngDevMode ? [{ debugName: "loadMoreLabel" }] : []));
|
|
6344
|
+
this.cardStyle = input(true, { ...(ngDevMode ? { debugName: "cardStyle" } : {}), alias: 'card-style', transform: booleanAttribute });
|
|
6271
6345
|
this.createItem = output({ alias: 'create-item' });
|
|
6272
6346
|
this.refreshItem = output({ alias: 'refresh-item' });
|
|
6273
6347
|
this.loadMore = output({ alias: 'load-more' });
|
|
@@ -6423,12 +6497,16 @@ class DataTableComponent {
|
|
|
6423
6497
|
});
|
|
6424
6498
|
}
|
|
6425
6499
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: DataTableComponent, isStandalone: false, selector: "rlb-dt-table", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, creationStrategy: { classPropertyName: "creationStrategy", publicName: "creation-strategy", isSignal: true, isRequired: false, transformFunction: null }, creationUrl: { classPropertyName: "creationUrl", publicName: "creation-url", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, paginationMode: { classPropertyName: "paginationMode", publicName: "pagination-mode", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, tableHover: { classPropertyName: "tableHover", publicName: "table-hover", isSignal: true, isRequired: false, transformFunction: null }, tableStriped: { classPropertyName: "tableStriped", publicName: "table-striped", isSignal: true, isRequired: false, transformFunction: null }, tableStripedColumns: { classPropertyName: "tableStripedColumns", publicName: "table-striped-columns", isSignal: true, isRequired: false, transformFunction: null }, tableBordered: { classPropertyName: "tableBordered", publicName: "table-bordered", isSignal: true, isRequired: false, transformFunction: null }, tableBorderless: { classPropertyName: "tableBorderless", publicName: "table-borderless", isSignal: true, isRequired: false, transformFunction: null }, tableSmall: { classPropertyName: "tableSmall", publicName: "table-small", isSignal: true, isRequired: false, transformFunction: null }, showRefresh: { classPropertyName: "showRefresh", publicName: "show-refresh", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "total-items", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "current-page", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "page-size", isSignal: true, isRequired: false, transformFunction: null }, showActions: { classPropertyName: "showActions", publicName: "showActions", isSignal: true, isRequired: false, transformFunction: null }, loadMoreLabel: { classPropertyName: "loadMoreLabel", publicName: "loadMoreLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { createItem: "create-item", refreshItem: "refresh-item", loadMore: "load-more", currentPageChange: "current-pageChange", pageSizeChange: "page-sizeChange", pagination: "pagination" }, queries: [{ propertyName: "rows", predicate: DataTableRowComponent, isSignal: true }, { propertyName: "columns", predicate: DataTableHeaderComponent, isSignal: true }, { propertyName: "noItemsBlock", predicate: DataTableNoItemsComponent, isSignal: true }, { propertyName: "loadingBlock", predicate: DataTableLoadingComponent, isSignal: true }], viewQueries: [{ propertyName: "_projectedDisplayColumns", first: true, predicate: ["projectedDisplayColumns"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedNoItems", first: true, predicate: ["projectedNoItems"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedLoading", first: true, predicate: ["projectedLoading"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedRows", first: true, predicate: ["projectedRows"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (creationStrategy() !== 'none' || title() || showRefresh()) {\n<div class=\"row\">\n <div class=\"col\">\n @if (title()) {\n <h3 class=\"float-start\">{{ title() }}</h3>\n }\n @if (showRefresh()) {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n }\n @if (creationStrategy() === 'page') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n @if (creationStrategy() === 'modal') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n</div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions()) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading()) {\n <!-- ng-container for standard structural projected rows -->\n <ng-container #projectedRows></ng-container>\n }\n\n <!-- 2. For internal states native HTML tr/td -->\n @if (!loading() && items().length === 0 && rows().length === 0) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedNoItems></ng-container>\n </td>\n </tr>\n }\n\n @if (loading()) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedLoading></ng-container>\n </td>\n </tr>\n }\n </tbody>\n @if (paginationMode() !== 'none') {\n <tfoot>\n <tr>\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n @if (paginationMode() === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\" [disabled]=\"loading()\"\n (click)=\"loadMore.emit()\">\n {{ loadMoreLabel() }}\n </button>\n }\n @if (paginationMode() === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages(); track page) {\n <li class=\"page-item\" [class.active]=\"currentPage() === page\" [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === pages()\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [ngModel]=\"pageSize()\" (ngModelChange)=\"onPageSizeChange($event)\"\n [disabled]=\"items().length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </td>\n </tr>\n </tfoot>\n }\n </table>\n</div
|
|
6500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: DataTableComponent, isStandalone: false, selector: "rlb-dt-table", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, creationStrategy: { classPropertyName: "creationStrategy", publicName: "creation-strategy", isSignal: true, isRequired: false, transformFunction: null }, creationUrl: { classPropertyName: "creationUrl", publicName: "creation-url", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, paginationMode: { classPropertyName: "paginationMode", publicName: "pagination-mode", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, tableHover: { classPropertyName: "tableHover", publicName: "table-hover", isSignal: true, isRequired: false, transformFunction: null }, tableStriped: { classPropertyName: "tableStriped", publicName: "table-striped", isSignal: true, isRequired: false, transformFunction: null }, tableStripedColumns: { classPropertyName: "tableStripedColumns", publicName: "table-striped-columns", isSignal: true, isRequired: false, transformFunction: null }, tableBordered: { classPropertyName: "tableBordered", publicName: "table-bordered", isSignal: true, isRequired: false, transformFunction: null }, tableBorderless: { classPropertyName: "tableBorderless", publicName: "table-borderless", isSignal: true, isRequired: false, transformFunction: null }, tableSmall: { classPropertyName: "tableSmall", publicName: "table-small", isSignal: true, isRequired: false, transformFunction: null }, showRefresh: { classPropertyName: "showRefresh", publicName: "show-refresh", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "total-items", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "current-page", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "page-size", isSignal: true, isRequired: false, transformFunction: null }, showActions: { classPropertyName: "showActions", publicName: "showActions", isSignal: true, isRequired: false, transformFunction: null }, loadMoreLabel: { classPropertyName: "loadMoreLabel", publicName: "loadMoreLabel", isSignal: true, isRequired: false, transformFunction: null }, cardStyle: { classPropertyName: "cardStyle", publicName: "card-style", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { createItem: "create-item", refreshItem: "refresh-item", loadMore: "load-more", currentPageChange: "current-pageChange", pageSizeChange: "page-sizeChange", pagination: "pagination" }, host: { properties: { "class.dt-card-style": "cardStyle()" } }, queries: [{ propertyName: "rows", predicate: DataTableRowComponent, isSignal: true }, { propertyName: "columns", predicate: DataTableHeaderComponent, isSignal: true }, { propertyName: "noItemsBlock", predicate: DataTableNoItemsComponent, isSignal: true }, { propertyName: "loadingBlock", predicate: DataTableLoadingComponent, isSignal: true }], viewQueries: [{ propertyName: "_projectedDisplayColumns", first: true, predicate: ["projectedDisplayColumns"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedNoItems", first: true, predicate: ["projectedNoItems"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedLoading", first: true, predicate: ["projectedLoading"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "_projectedRows", first: true, predicate: ["projectedRows"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (creationStrategy() !== 'none' || title() || showRefresh()) {\n<div class=\"row mb-3\">\n <div class=\"col\">\n @if (title()) {\n <h3 class=\"float-start\">{{ title() }}</h3>\n }\n @if (showRefresh()) {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n }\n @if (creationStrategy() === 'page') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n @if (creationStrategy() === 'modal') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n</div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions()) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading()) {\n <!-- ng-container for standard structural projected rows -->\n <ng-container #projectedRows></ng-container>\n }\n\n <!-- 2. For internal states native HTML tr/td -->\n @if (!loading() && items().length === 0 && rows().length === 0) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedNoItems></ng-container>\n </td>\n </tr>\n }\n\n @if (loading()) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedLoading></ng-container>\n </td>\n </tr>\n }\n </tbody>\n @if (paginationMode() !== 'none') {\n <tfoot>\n <tr>\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n @if (paginationMode() === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\" [disabled]=\"loading()\"\n (click)=\"loadMore.emit()\">\n {{ loadMoreLabel() }}\n </button>\n }\n @if (paginationMode() === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages(); track page) {\n <li class=\"page-item\" [class.active]=\"currentPage() === page\" [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === pages()\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [ngModel]=\"pageSize()\" (ngModelChange)=\"onPageSizeChange($event)\"\n [disabled]=\"items().length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </td>\n </tr>\n </tfoot>\n }\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "id", "enable-validation"] }, { kind: "component", type: OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }] }); }
|
|
6427
6501
|
}
|
|
6428
6502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
6429
6503
|
type: Component,
|
|
6430
|
-
args: [{ selector: 'rlb-dt-table', standalone: false,
|
|
6431
|
-
|
|
6504
|
+
args: [{ selector: 'rlb-dt-table', standalone: false, host: {
|
|
6505
|
+
// This automatically adds the 'dt-card-style' class to the <rlb-dt-table>
|
|
6506
|
+
// element in the DOM if cardStyle() is true.
|
|
6507
|
+
'[class.dt-card-style]': 'cardStyle()',
|
|
6508
|
+
}, template: "@if (creationStrategy() !== 'none' || title() || showRefresh()) {\n<div class=\"row mb-3\">\n <div class=\"col\">\n @if (title()) {\n <h3 class=\"float-start\">{{ title() }}</h3>\n }\n @if (showRefresh()) {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n }\n @if (creationStrategy() === 'page') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n @if (creationStrategy() === 'modal') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n</div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions()) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading()) {\n <!-- ng-container for standard structural projected rows -->\n <ng-container #projectedRows></ng-container>\n }\n\n <!-- 2. For internal states native HTML tr/td -->\n @if (!loading() && items().length === 0 && rows().length === 0) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedNoItems></ng-container>\n </td>\n </tr>\n }\n\n @if (loading()) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedLoading></ng-container>\n </td>\n </tr>\n }\n </tbody>\n @if (paginationMode() !== 'none') {\n <tfoot>\n <tr>\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n @if (paginationMode() === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\" [disabled]=\"loading()\"\n (click)=\"loadMore.emit()\">\n {{ loadMoreLabel() }}\n </button>\n }\n @if (paginationMode() === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages(); track page) {\n <li class=\"page-item\" [class.active]=\"currentPage() === page\" [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === pages()\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [ngModel]=\"pageSize()\" (ngModelChange)=\"onPageSizeChange($event)\"\n [disabled]=\"items().length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </td>\n </tr>\n </tfoot>\n }\n </table>\n</div>\n" }]
|
|
6509
|
+
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], creationStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "creation-strategy", required: false }] }], creationUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "creation-url", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], paginationMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination-mode", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], tableHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-hover", required: false }] }], tableStriped: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-striped", required: false }] }], tableStripedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-striped-columns", required: false }] }], tableBordered: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-bordered", required: false }] }], tableBorderless: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-borderless", required: false }] }], tableSmall: [{ type: i0.Input, args: [{ isSignal: true, alias: "table-small", required: false }] }], showRefresh: [{ type: i0.Input, args: [{ isSignal: true, alias: "show-refresh", required: false }] }], totalItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "total-items", required: false }] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "current-page", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "page-size", required: false }] }], showActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showActions", required: false }] }], loadMoreLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadMoreLabel", required: false }] }], cardStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "card-style", required: false }] }], createItem: [{ type: i0.Output, args: ["create-item"] }], refreshItem: [{ type: i0.Output, args: ["refresh-item"] }], loadMore: [{ type: i0.Output, args: ["load-more"] }], currentPageChange: [{ type: i0.Output, args: ["current-pageChange"] }], pageSizeChange: [{ type: i0.Output, args: ["page-sizeChange"] }], pagination: [{ type: i0.Output, args: ["pagination"] }], _projectedDisplayColumns: [{ type: i0.ViewChild, args: ['projectedDisplayColumns', { ...{
|
|
6432
6510
|
read: ViewContainerRef,
|
|
6433
6511
|
}, isSignal: true }] }], rows: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DataTableRowComponent), { isSignal: true }] }], columns: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DataTableHeaderComponent), { isSignal: true }] }], _projectedNoItems: [{ type: i0.ViewChild, args: ['projectedNoItems', { ...{ read: ViewContainerRef }, isSignal: true }] }], _projectedLoading: [{ type: i0.ViewChild, args: ['projectedLoading', { ...{ read: ViewContainerRef }, isSignal: true }] }], _projectedRows: [{ type: i0.ViewChild, args: ['projectedRows', { ...{ read: ViewContainerRef }, isSignal: true }] }], noItemsBlock: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DataTableNoItemsComponent), { isSignal: true }] }], loadingBlock: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DataTableLoadingComponent), { isSignal: true }] }] } });
|
|
6434
6512
|
|