@paperless/angular 0.1.0-alpha.195 → 0.1.0-alpha.197

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.
@@ -1,10 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, EventEmitter, Input, Output, ViewChild, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { Component, EventEmitter, Input, Output, ViewChild, Directive, HostListener, ChangeDetectionStrategy, HostBinding, TemplateRef, ContentChild, ContentChildren, NgModule } from '@angular/core';
3
3
  import { FormControl, FormGroup, FormArray, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { __decorate } from 'tslib';
5
5
  import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
6
6
  import { timer, fromEvent } from 'rxjs';
7
7
  import { startWith, pairwise, map, filter, debounce } from 'rxjs/operators';
8
+ import { objectGetByPath } from '@paperless/core';
9
+ import * as i1 from '@angular/common';
10
+ import { CommonModule } from '@angular/common';
8
11
 
9
12
  class FormBaseComponent {
10
13
  constructor() {
@@ -356,306 +359,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
356
359
  args: ['focusout']
357
360
  }] } });
358
361
 
359
- class PageSizeSelectDirective extends BaseValueAccessor {
360
- constructor(el) {
361
- super(el);
362
- }
363
- writeValue(value) {
364
- this.el.nativeElement.page = this.lastValue =
365
- value == null ? '' : value;
366
- }
367
- registerOnChange(fn) {
368
- super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
369
- }
370
- }
371
- PageSizeSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
372
- PageSizeSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PageSizeSelectDirective, selector: "p-page-size-select", host: { listeners: { "sizeChange": "handleChangeEvent($event.detail)" } }, providers: [
373
- {
374
- provide: NG_VALUE_ACCESSOR,
375
- useExisting: PageSizeSelectDirective,
376
- multi: true,
377
- },
378
- ], usesInheritance: true, ngImport: i0 });
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, decorators: [{
380
- type: Directive,
381
- args: [{
382
- /* tslint:disable-next-line:directive-selector */
383
- selector: 'p-page-size-select',
384
- host: {
385
- '(sizeChange)': 'handleChangeEvent($event.detail)',
386
- },
387
- providers: [
388
- {
389
- provide: NG_VALUE_ACCESSOR,
390
- useExisting: PageSizeSelectDirective,
391
- multi: true,
392
- },
393
- ],
394
- }]
395
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
396
-
397
- class PaginationDirective extends BaseValueAccessor {
398
- constructor(el) {
399
- super(el);
400
- }
401
- writeValue(value) {
402
- this.el.nativeElement.page = this.lastValue =
403
- value == null ? '' : value;
404
- }
405
- registerOnChange(fn) {
406
- super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
407
- }
408
- }
409
- PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
410
- PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PaginationDirective, selector: "p-pagination", host: { listeners: { "pageChange": "handleChangeEvent($event.detail)" } }, providers: [
411
- {
412
- provide: NG_VALUE_ACCESSOR,
413
- useExisting: PaginationDirective,
414
- multi: true,
415
- },
416
- ], usesInheritance: true, ngImport: i0 });
417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, decorators: [{
418
- type: Directive,
419
- args: [{
420
- /* tslint:disable-next-line:directive-selector */
421
- selector: 'p-pagination',
422
- host: {
423
- '(pageChange)': 'handleChangeEvent($event.detail)',
424
- },
425
- providers: [
426
- {
427
- provide: NG_VALUE_ACCESSOR,
428
- useExisting: PaginationDirective,
429
- multi: true,
430
- },
431
- ],
432
- }]
433
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
434
-
435
- class SelectDirective extends BaseValueAccessor {
436
- constructor(el) {
437
- super(el);
438
- console.log(el);
439
- }
440
- writeValue(value) {
441
- console.log(value);
442
- this.el.nativeElement.value = this.lastValue =
443
- value == null ? '' : value;
444
- }
445
- }
446
- SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
447
- SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: SelectDirective, selector: "p-select", host: { listeners: { "valueChange": "handleChangeEvent($event.detail)" } }, providers: [
448
- {
449
- provide: NG_VALUE_ACCESSOR,
450
- useExisting: SelectDirective,
451
- multi: true,
452
- },
453
- ], usesInheritance: true, ngImport: i0 });
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, decorators: [{
455
- type: Directive,
456
- args: [{
457
- selector: 'p-select',
458
- host: {
459
- '(valueChange)': 'handleChangeEvent($event.detail)',
460
- },
461
- providers: [
462
- {
463
- provide: NG_VALUE_ACCESSOR,
464
- useExisting: SelectDirective,
465
- multi: true,
466
- },
467
- ],
468
- }]
469
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
470
-
471
- class TableFooterDirective extends BaseValueAccessor {
472
- constructor(el) {
473
- super(el);
474
- this.lastValue = {
475
- page: 1,
476
- pageSize: 12,
477
- };
478
- }
479
- writeValue(value) {
480
- this.el.nativeElement.page = this.lastValue.page =
481
- value?.page == null ? '' : value?.page;
482
- this.el.nativeElement.pageSize = this.lastValue.pageSize =
483
- value?.pageSize == null ? '' : value?.pageSize;
484
- }
485
- handleChange(value, type) {
486
- this.handleChangeEvent({
487
- ...this.lastValue,
488
- [type]: value,
489
- });
490
- }
491
- }
492
- TableFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
493
- TableFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableFooterDirective, selector: "p-table-footer", host: { listeners: { "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")" } }, providers: [
494
- {
495
- provide: NG_VALUE_ACCESSOR,
496
- useExisting: TableFooterDirective,
497
- multi: true,
498
- },
499
- ], usesInheritance: true, ngImport: i0 });
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, decorators: [{
501
- type: Directive,
502
- args: [{
503
- /* tslint:disable-next-line:directive-selector */
504
- selector: 'p-table-footer',
505
- host: {
506
- '(pageChange)': 'handleChange($event.detail, "page")',
507
- '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
508
- },
509
- providers: [
510
- {
511
- provide: NG_VALUE_ACCESSOR,
512
- useExisting: TableFooterDirective,
513
- multi: true,
514
- },
515
- ],
516
- }]
517
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
518
-
519
- class TableHeaderDirective extends BaseValueAccessor {
520
- constructor(el) {
521
- super(el);
522
- this.lastValue = {
523
- query: '',
524
- quickFilter: undefined,
525
- };
526
- }
527
- writeValue(value) {
528
- this.el.nativeElement.query = this.lastValue.query = value?.query;
529
- this.lastValue.quickFilter = value?.quickFilter;
530
- if (value?.quickFilter) {
531
- this._setActiveQuickFilter(value.quickFilter);
532
- }
533
- }
534
- handleChange(value, type) {
535
- this.handleChangeEvent({
536
- ...this.lastValue,
537
- [type]: value,
538
- });
539
- if (type === 'quickFilter' && typeof value !== 'string') {
540
- this._setActiveQuickFilter(value);
541
- }
542
- }
543
- _setActiveQuickFilter(quickFilter) {
544
- this.el.nativeElement.activeQuickFilterIdentifier =
545
- quickFilter?.identifier;
546
- }
547
- }
548
- TableHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
549
- TableHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableHeaderDirective, selector: "p-table-header", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")" } }, providers: [
550
- {
551
- provide: NG_VALUE_ACCESSOR,
552
- useExisting: TableHeaderDirective,
553
- multi: true,
554
- },
555
- ], usesInheritance: true, ngImport: i0 });
556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, decorators: [{
557
- type: Directive,
558
- args: [{
559
- /* tslint:disable-next-line:directive-selector */
560
- selector: 'p-table-header',
561
- host: {
562
- '(queryChange)': 'handleChange($event.detail, "query")',
563
- '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
564
- },
565
- providers: [
566
- {
567
- provide: NG_VALUE_ACCESSOR,
568
- useExisting: TableHeaderDirective,
569
- multi: true,
570
- },
571
- ],
572
- }]
573
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
574
-
575
- class TableDirective extends BaseValueAccessor {
576
- constructor(el) {
577
- super(el);
578
- this.lastValue = {
579
- query: '',
580
- quickFilter: undefined,
581
- page: 1,
582
- pageSize: 12,
583
- selectedRows: [],
584
- };
585
- }
586
- writeValue(value) {
587
- this.el.nativeElement.query = this.lastValue.query = value?.query;
588
- this.lastValue.quickFilter = value?.quickFilter;
589
- this.el.nativeElement.page = this.lastValue.page =
590
- value?.page == null ? 1 : value?.page;
591
- this.el.nativeElement.pageSize = this.lastValue.pageSize =
592
- value?.pageSize == null ? 12 : value?.pageSize;
593
- this.lastValue.selectedRows =
594
- value?.selectedRows == null ? [] : value?.selectedRows;
595
- if (value?.quickFilter) {
596
- this._setActiveQuickFilter(value.quickFilter);
597
- }
598
- }
599
- registerOnChange(fn) {
600
- this.onChange = fn;
601
- }
602
- registerOnTouched(fn) {
603
- this.onTouched = fn;
604
- }
605
- handleChange(value, type) {
606
- this.handleChangeEvent({
607
- ...this.lastValue,
608
- [type]: value,
609
- });
610
- if (type === 'quickFilter' && typeof value === 'object') {
611
- this._setActiveQuickFilter(value);
612
- }
613
- }
614
- _setActiveQuickFilter(quickFilter) {
615
- this.el.nativeElement.activeQuickFilterIdentifier =
616
- quickFilter?.identifier;
617
- }
618
- }
619
- TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
620
- TableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableDirective, selector: "p-table", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")", "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")", "selectedRowsChange": "handleChange($event.detail, \"selectedRows\")" } }, providers: [
621
- {
622
- provide: NG_VALUE_ACCESSOR,
623
- useExisting: TableDirective,
624
- multi: true,
625
- },
626
- ], usesInheritance: true, ngImport: i0 });
627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, decorators: [{
628
- type: Directive,
629
- args: [{
630
- /* tslint:disable-next-line:directive-selector */
631
- selector: 'p-table',
632
- host: {
633
- '(queryChange)': 'handleChange($event.detail, "query")',
634
- '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
635
- '(pageChange)': 'handleChange($event.detail, "page")',
636
- '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
637
- '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
638
- },
639
- providers: [
640
- {
641
- provide: NG_VALUE_ACCESSOR,
642
- useExisting: TableDirective,
643
- multi: true,
644
- },
645
- ],
646
- }]
647
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
648
-
649
- // Custom directives
650
- const CUSTOM_DIRECTIVES = [
651
- PaginationDirective,
652
- PageSizeSelectDirective,
653
- TableFooterDirective,
654
- TableHeaderDirective,
655
- TableDirective,
656
- SelectDirective,
657
- ];
658
-
659
362
  /* eslint-disable */
660
363
  const proxyInputs = (Cmp, inputs) => {
661
364
  const Prototype = Cmp.prototype;
@@ -1766,124 +1469,1153 @@ let PTableFooter = class PTableFooter {
1766
1469
  this.z = z;
1767
1470
  c.detach();
1768
1471
  this.el = r.nativeElement;
1769
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'export']);
1472
+ proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'export']);
1473
+ }
1474
+ };
1475
+ PTableFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1476
+ PTableFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableFooter, selector: "p-table-footer", inputs: { enableExport: "enableExport", enablePageSize: "enablePageSize", enablePagination: "enablePagination", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1477
+ PTableFooter = __decorate([
1478
+ ProxyCmp({
1479
+ defineCustomElementFn: undefined,
1480
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1481
+ })
1482
+ ], PTableFooter);
1483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, decorators: [{
1484
+ type: Component,
1485
+ args: [{
1486
+ selector: 'p-table-footer',
1487
+ changeDetection: ChangeDetectionStrategy.OnPush,
1488
+ template: '<ng-content></ng-content>',
1489
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1490
+ }]
1491
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1492
+ let PTableHeader = class PTableHeader {
1493
+ constructor(c, r, z) {
1494
+ this.z = z;
1495
+ c.detach();
1496
+ this.el = r.nativeElement;
1497
+ proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'edit']);
1498
+ }
1499
+ };
1500
+ PTableHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1501
+ PTableHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableHeader, selector: "p-table-header", inputs: { activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canEdit: "canEdit", editButtonTemplate: "editButtonTemplate", enableEdit: "enableEdit", enableFilter: "enableFilter", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1502
+ PTableHeader = __decorate([
1503
+ ProxyCmp({
1504
+ defineCustomElementFn: undefined,
1505
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1506
+ })
1507
+ ], PTableHeader);
1508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableHeader, decorators: [{
1509
+ type: Component,
1510
+ args: [{
1511
+ selector: 'p-table-header',
1512
+ changeDetection: ChangeDetectionStrategy.OnPush,
1513
+ template: '<ng-content></ng-content>',
1514
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1515
+ }]
1516
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1517
+ let PTableRow = class PTableRow {
1518
+ constructor(c, r, z) {
1519
+ this.z = z;
1520
+ c.detach();
1521
+ this.el = r.nativeElement;
1522
+ }
1523
+ };
1524
+ PTableRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1525
+ PTableRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableRow, selector: "p-table-row", inputs: { enableHover: "enableHover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1526
+ PTableRow = __decorate([
1527
+ ProxyCmp({
1528
+ defineCustomElementFn: undefined,
1529
+ inputs: ['enableHover', 'variant']
1530
+ })
1531
+ ], PTableRow);
1532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableRow, decorators: [{
1533
+ type: Component,
1534
+ args: [{
1535
+ selector: 'p-table-row',
1536
+ changeDetection: ChangeDetectionStrategy.OnPush,
1537
+ template: '<ng-content></ng-content>',
1538
+ inputs: ['enableHover', 'variant']
1539
+ }]
1540
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1541
+ let PToastContainer = class PToastContainer {
1542
+ constructor(c, r, z) {
1543
+ this.z = z;
1544
+ c.detach();
1545
+ this.el = r.nativeElement;
1546
+ }
1547
+ };
1548
+ PToastContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PToastContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1549
+ PToastContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PToastContainer, selector: "p-toast-container", inputs: { placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1550
+ PToastContainer = __decorate([
1551
+ ProxyCmp({
1552
+ defineCustomElementFn: undefined,
1553
+ inputs: ['placement']
1554
+ })
1555
+ ], PToastContainer);
1556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PToastContainer, decorators: [{
1557
+ type: Component,
1558
+ args: [{
1559
+ selector: 'p-toast-container',
1560
+ changeDetection: ChangeDetectionStrategy.OnPush,
1561
+ template: '<ng-content></ng-content>',
1562
+ inputs: ['placement']
1563
+ }]
1564
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1565
+ let PTooltip = class PTooltip {
1566
+ constructor(c, r, z) {
1567
+ this.z = z;
1568
+ c.detach();
1569
+ this.el = r.nativeElement;
1570
+ proxyOutputs(this, this.el, ['isOpen']);
1571
+ }
1572
+ };
1573
+ PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1574
+ PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", placement: "placement", popover: "popover", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1575
+ PTooltip = __decorate([
1576
+ ProxyCmp({
1577
+ defineCustomElementFn: undefined,
1578
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
1579
+ })
1580
+ ], PTooltip);
1581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTooltip, decorators: [{
1582
+ type: Component,
1583
+ args: [{
1584
+ selector: 'p-tooltip',
1585
+ changeDetection: ChangeDetectionStrategy.OnPush,
1586
+ template: '<ng-content></ng-content>',
1587
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
1588
+ }]
1589
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1590
+
1591
+ /* eslint-disable max-len */
1592
+ class TableCell {
1593
+ constructor() {
1594
+ /**
1595
+ * The variant of the column
1596
+ */
1597
+ this.variant = 'default';
1598
+ /**
1599
+ * The index of the column
1600
+ */
1601
+ this.index = 0;
1602
+ /**
1603
+ * The index of the row
1604
+ */
1605
+ this.rowIndex = 0;
1606
+ }
1607
+ get class() {
1608
+ return this.getColumnClasses();
1609
+ }
1610
+ get data() {
1611
+ if (this.variant === 'header') {
1612
+ return {
1613
+ value: this.value,
1614
+ };
1615
+ }
1616
+ return {
1617
+ value: this.value ?? objectGetByPath(this.item, this.definition.path),
1618
+ item: this.item,
1619
+ index: this.index,
1620
+ rowIndex: this.rowIndex,
1621
+ };
1622
+ }
1623
+ // render() {
1624
+ // return (
1625
+ // <Host
1626
+ // class={{
1627
+ // 'p-table-column': true,
1628
+ // [`variant-${this.variant}`]: true,
1629
+ // ...this._getColumnClasses(),
1630
+ // }}
1631
+ // >
1632
+ // {this.checkbox}
1633
+ // {this.variant === 'loading' ? (
1634
+ // <p-loader
1635
+ // variant="ghost"
1636
+ // class="rounded flex-1 w-full h-6"
1637
+ // />
1638
+ // ) : (
1639
+ // <div class="flex">
1640
+ // {this.variant === 'header' ? (
1641
+ // this.data.value
1642
+ // ) : this.definition.useSlot ? (
1643
+ // <slot />
1644
+ // ) : (
1645
+ // this.template(this.data as TableDefinitionData)
1646
+ // )}
1647
+ // </div>
1648
+ // )}
1649
+ // </Host>
1650
+ // );
1651
+ // }
1652
+ getColumnClasses() {
1653
+ const sizes = this.definition ? this._getSizes(this.definition) : {};
1654
+ return {
1655
+ 'justify-start': !this.definition?.align || this.definition?.align === 'start',
1656
+ 'justify-center': this.definition?.align === 'center',
1657
+ 'justify-end': this.definition?.align === 'end',
1658
+ 'font-semibold': this.variant !== 'header' && this.definition?.type === 'th',
1659
+ 'text-storm-dark': this.variant !== 'header' && this.definition?.type === 'th',
1660
+ ...sizes,
1661
+ };
1662
+ }
1663
+ /*
1664
+ With this, we shall hack the system in ways no one would ever have thought.
1665
+
1666
+ w-1/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12 w-10/12 w-11/12 w-12/12
1667
+ tablet:w-1/12 tablet:w-2/12 tablet:w-3/12 tablet:w-4/12 tablet:w-5/12 tablet:w-6/12 tablet:w-7/12 tablet:w-8/12 tablet:w-9/12 tablet:w-10/12 tablet:w-11/12 tablet:w-12/12
1668
+ desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12
1669
+ desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12
1670
+ desktop-sm:w-1/12 desktop-sm:w-2/12 desktop-sm:w-3/12 desktop-sm:w-4/12 desktop-sm:w-5/12 desktop-sm:w-6/12 desktop-sm:w-7/12 desktop-sm:w-8/12 desktop-sm:w-9/12 desktop-sm:w-10/12 desktop-sm:w-11/12 desktop-sm:w-12/12
1671
+ desktop:w-1/12 desktop:w-2/12 desktop:w-3/12 desktop:w-4/12 desktop:w-5/12 desktop:w-6/12 desktop:w-7/12 desktop:w-8/12 desktop:w-9/12 desktop:w-10/12 desktop:w-11/12 desktop:w-12/12
1672
+ desktop-lg:w-1/12 desktop-lg:w-2/12 desktop-lg:w-3/12 desktop-lg:w-4/12 desktop-lg:w-5/12 desktop-lg:w-6/12 desktop-lg:w-7/12 desktop-lg:w-8/12 desktop-lg:w-9/12 desktop-lg:w-10/12 desktop-lg:w-11/12 desktop-lg:w-12/12
1673
+ desktop-xl:w-1/12 desktop-xl:w-2/12 desktop-xl:w-3/12 desktop-xl:w-4/12 desktop-xl:w-5/12 desktop-xl:w-6/12 desktop-xl:w-7/12 desktop-xl:w-8/12 desktop-xl:w-9/12 desktop-xl:w-10/12 desktop-xl:w-11/12 desktop-xl:w-12/12
1674
+
1675
+
1676
+ ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀
1677
+ ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀
1678
+ ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀
1679
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1680
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1681
+ ⠀⠀⠀⠀⠀⠀⠀⣠⣤⠶⠶⠶⠰⠦⣤⣀⠀⠙⣷⠀⠀⠀⠀⠀⠀⠀⢠⡿⠋⢀⣀⣤⢴⠆⠲⠶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀
1682
+ ⠀⠘⣆⠀⠀⢠⣾⣫⣶⣾⣿⣿⣿⣿⣷⣯⣿⣦⠈⠃⡇⠀⠀⠀⠀⢸⠘⢁⣶⣿⣵⣾⣿⣿⣿⣿⣷⣦⣝⣷⡄⠀⠀⡰⠂⠀
1683
+ ⠀⠀⣨⣷⣶⣿⣧⣛⣛⠿⠿⣿⢿⣿⣿⣛⣿⡿⠀⠀⡇⠀⠀⠀⠀⢸⠀⠈⢿⣟⣛⠿⢿⡿⢿⢿⢿⣛⣫⣼⡿⣶⣾⣅⡀⠀
1684
+ ⢀⡼⠋⠁⠀⠀⠈⠉⠛⠛⠻⠟⠸⠛⠋⠉⠁⠀⠀⢸⡇⠀⠀⠄⠀⢸⡄⠀⠀⠈⠉⠙⠛⠃⠻⠛⠛⠛⠉⠁⠀⠀⠈⠙⢧⡀
1685
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⢠⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1686
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡇⠀⠀⠀⠀⢸⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1687
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⣿⠇⠀⠀⠀⠀⢸⡇⠙⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1688
+ ⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⠖⡾⠁⠀⠀⣿⠀⠀⠀⠀⠀⠘⣿⠀⠀⠙⡇⢸⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀
1689
+ ⠀⠀⢻⣷⡦⣤⣤⣤⡴⠶⠿⠛⠉⠁⠀⢳⠀⢠⡀⢿⣀⠀⠀⠀⠀⣠⡟⢀⣀⢠⠇⠀⠈⠙⠛⠷⠶⢦⣤⣤⣤⢴⣾⡏⠀⠀
1690
+ ⠀⠀⠈⣿⣧⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢊⣙⠛⠒⠒⢛⣋⡚⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠁⣾⡿⠀⠀⠀
1691
+ ⠀⠀⠀⠘⣿⣇⠈⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⡿⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠁⣼⡿⠁⠀⠀⠀
1692
+ ⠀⠀⠀⠀⠘⣿⣦⠀⠻⣿⣷⣦⣤⣤⣶⣶⣶⣿⣿⣿⣿⠏⠀⠀⠻⣿⣿⣿⣿⣶⣶⣶⣦⣤⣴⣿⣿⠏⢀⣼⡿⠁⠀⠀⠀⠀
1693
+ ⠀⠀⠀⠀⠀⠘⢿⣷⣄⠙⠻⠿⠿⠿⠿⠿⢿⣿⣿⣿⣁⣀⣀⣀⣀⣙⣿⣿⣿⠿⠿⠿⠿⠿⠿⠟⠁⣠⣿⡿⠁⠀⠀⠀⠀⠀
1694
+ ⠀⠀⠀⠀⠀⠀⠈⠻⣯⠙⢦⣀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⣠⠴⢋⣾⠟⠀⠀⠀⠀⠀⠀⠀
1695
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠈⠉⠒⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠐⠒⠉⠁⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀
1696
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1697
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1698
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1699
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1700
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1701
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1702
+ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
1703
+ */
1704
+ _getSizes({ sizes } /* Table Definition */) {
1705
+ if (sizes === 'auto' || !sizes) {
1706
+ return {
1707
+ 'w-auto': true,
1708
+ };
1709
+ }
1710
+ if (typeof sizes === 'object') {
1711
+ const classes = {};
1712
+ for (const size of Object.keys(sizes)) {
1713
+ if (size === 'default') {
1714
+ classes[`w-${sizes.default}/12`] = true;
1715
+ continue;
1716
+ }
1717
+ classes[`${size}:w-${sizes[`${size}`]}/12`] = true;
1718
+ }
1719
+ return classes;
1720
+ }
1721
+ // is a number.
1722
+ return {
1723
+ [`w-${sizes}/12`]: true,
1724
+ };
1725
+ }
1726
+ }
1727
+ TableCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
1728
+ TableCell.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TableCell, selector: "p-table-cell-ngx", inputs: { variant: "variant", index: "index", rowIndex: "rowIndex", definition: "definition", item: "item", value: "value", checkbox: "checkbox", template: "template" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-container *ngIf=\"checkbox\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n</ng-container>\n\n<ng-container [ngSwitch]=\"variant\">\n <p-loader\n *ngSwitchCase=\"'loading'\"\n variant=\"ghost\"\n class=\"rounded flex-1 w-full h-6\"\n ></p-loader>\n\n <div *ngSwitchCase=\"'header'\" class=\"flex\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"'default'\" class=\"flex\">\n <ng-container *ngIf=\"template; else valueTemplate\">\n <ng-container\n *ngTemplateOutlet=\"template; context: data\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #valueTemplate>\n {{ data.value }}\n</ng-template>\n", styles: [":host{display:flex;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PLoader, selector: "p-loader", inputs: ["color", "modalDescription", "modalTitle", "show", "variant"] }] });
1729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableCell, decorators: [{
1730
+ type: Component,
1731
+ args: [{ selector: 'p-table-cell-ngx', template: "<ng-container *ngIf=\"checkbox\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n</ng-container>\n\n<ng-container [ngSwitch]=\"variant\">\n <p-loader\n *ngSwitchCase=\"'loading'\"\n variant=\"ghost\"\n class=\"rounded flex-1 w-full h-6\"\n ></p-loader>\n\n <div *ngSwitchCase=\"'header'\" class=\"flex\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"'default'\" class=\"flex\">\n <ng-container *ngIf=\"template; else valueTemplate\">\n <ng-container\n *ngTemplateOutlet=\"template; context: data\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #valueTemplate>\n {{ data.value }}\n</ng-template>\n", styles: [":host{display:flex;align-items:center;gap:1rem}\n"] }]
1732
+ }], propDecorators: { variant: [{
1733
+ type: Input
1734
+ }], index: [{
1735
+ type: Input
1736
+ }], rowIndex: [{
1737
+ type: Input
1738
+ }], definition: [{
1739
+ type: Input
1740
+ }], item: [{
1741
+ type: Input
1742
+ }], value: [{
1743
+ type: Input
1744
+ }], checkbox: [{
1745
+ type: Input
1746
+ }], template: [{
1747
+ type: Input
1748
+ }], class: [{
1749
+ type: HostBinding,
1750
+ args: ['class']
1751
+ }] } });
1752
+
1753
+ let TableColumn = class TableColumn {
1754
+ constructor(c, r, z) {
1755
+ this.z = z;
1756
+ c.detach();
1757
+ this.el = r.nativeElement;
1758
+ proxyOutputs(this, this.el, ['tableDefinitionChanged']);
1770
1759
  }
1771
1760
  };
1772
- PTableFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1773
- PTableFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableFooter, selector: "p-table-footer", inputs: { enableExport: "enableExport", enablePageSize: "enablePageSize", enablePagination: "enablePagination", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1774
- PTableFooter = __decorate([
1761
+ TableColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1762
+ TableColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TableColumn, selector: "p-table-column", inputs: { align: "align", name: "name", path: "path", sizes: "sizes", type: "type", useSlot: "useSlot" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1763
+ TableColumn = __decorate([
1775
1764
  ProxyCmp({
1776
1765
  defineCustomElementFn: undefined,
1777
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1766
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1778
1767
  })
1779
- ], PTableFooter);
1780
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, decorators: [{
1768
+ ], TableColumn);
1769
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableColumn, decorators: [{
1781
1770
  type: Component,
1782
1771
  args: [{
1783
- selector: 'p-table-footer',
1772
+ selector: 'p-table-column',
1784
1773
  changeDetection: ChangeDetectionStrategy.OnPush,
1785
1774
  template: '<ng-content></ng-content>',
1786
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1775
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1787
1776
  }]
1788
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1789
- let PTableHeader = class PTableHeader {
1790
- constructor(c, r, z) {
1791
- this.z = z;
1792
- c.detach();
1793
- this.el = r.nativeElement;
1794
- proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'edit']);
1777
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{
1778
+ type: ContentChild,
1779
+ args: [TemplateRef, {
1780
+ read: TemplateRef,
1781
+ static: true,
1782
+ }]
1783
+ }] } });
1784
+
1785
+ const defaultSize = 12;
1786
+ const defaultSizeOptions = [12, 24, 68, 136];
1787
+
1788
+ class TableFooterDirective extends BaseValueAccessor {
1789
+ constructor(el) {
1790
+ super(el);
1791
+ this.lastValue = {
1792
+ page: 1,
1793
+ pageSize: 12,
1794
+ };
1795
+ }
1796
+ writeValue(value) {
1797
+ this.el.nativeElement.page = this.lastValue.page =
1798
+ value?.page == null ? '' : value?.page;
1799
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
1800
+ value?.pageSize == null ? '' : value?.pageSize;
1801
+ }
1802
+ handleChange(value, type) {
1803
+ this.handleChangeEvent({
1804
+ ...this.lastValue,
1805
+ [type]: value,
1806
+ });
1807
+ }
1808
+ }
1809
+ TableFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1810
+ TableFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableFooterDirective, selector: "p-table-footer", host: { listeners: { "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")" } }, providers: [
1811
+ {
1812
+ provide: NG_VALUE_ACCESSOR,
1813
+ useExisting: TableFooterDirective,
1814
+ multi: true,
1815
+ },
1816
+ ], usesInheritance: true, ngImport: i0 });
1817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, decorators: [{
1818
+ type: Directive,
1819
+ args: [{
1820
+ /* tslint:disable-next-line:directive-selector */
1821
+ selector: 'p-table-footer',
1822
+ host: {
1823
+ '(pageChange)': 'handleChange($event.detail, "page")',
1824
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
1825
+ },
1826
+ providers: [
1827
+ {
1828
+ provide: NG_VALUE_ACCESSOR,
1829
+ useExisting: TableFooterDirective,
1830
+ multi: true,
1831
+ },
1832
+ ],
1833
+ }]
1834
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1835
+
1836
+ class TableHeaderDirective extends BaseValueAccessor {
1837
+ constructor(el) {
1838
+ super(el);
1839
+ this.lastValue = {
1840
+ query: '',
1841
+ quickFilter: undefined,
1842
+ };
1843
+ }
1844
+ writeValue(value) {
1845
+ this.el.nativeElement.query = this.lastValue.query = value?.query;
1846
+ this.lastValue.quickFilter = value?.quickFilter;
1847
+ if (value?.quickFilter) {
1848
+ this._setActiveQuickFilter(value.quickFilter);
1849
+ }
1850
+ }
1851
+ handleChange(value, type) {
1852
+ this.handleChangeEvent({
1853
+ ...this.lastValue,
1854
+ [type]: value,
1855
+ });
1856
+ if (type === 'quickFilter' && typeof value !== 'string') {
1857
+ this._setActiveQuickFilter(value);
1858
+ }
1859
+ }
1860
+ _setActiveQuickFilter(quickFilter) {
1861
+ this.el.nativeElement.activeQuickFilterIdentifier =
1862
+ quickFilter?.identifier;
1863
+ }
1864
+ }
1865
+ TableHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1866
+ TableHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableHeaderDirective, selector: "p-table-header", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")" } }, providers: [
1867
+ {
1868
+ provide: NG_VALUE_ACCESSOR,
1869
+ useExisting: TableHeaderDirective,
1870
+ multi: true,
1871
+ },
1872
+ ], usesInheritance: true, ngImport: i0 });
1873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, decorators: [{
1874
+ type: Directive,
1875
+ args: [{
1876
+ /* tslint:disable-next-line:directive-selector */
1877
+ selector: 'p-table-header',
1878
+ host: {
1879
+ '(queryChange)': 'handleChange($event.detail, "query")',
1880
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
1881
+ },
1882
+ providers: [
1883
+ {
1884
+ provide: NG_VALUE_ACCESSOR,
1885
+ useExisting: TableHeaderDirective,
1886
+ multi: true,
1887
+ },
1888
+ ],
1889
+ }]
1890
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1891
+
1892
+ let TableComponent = class TableComponent {
1893
+ constructor() {
1894
+ /**
1895
+ * Wether data is loading
1896
+ */
1897
+ this.loading = false;
1898
+ /**
1899
+ * The amount of loading rows to show
1900
+ */
1901
+ this.amountOfLoadingRows = 4;
1902
+ /**
1903
+ * Wether to enable selection
1904
+ */
1905
+ this.enableRowSelection = true;
1906
+ /**
1907
+ * Wether to enable row clicking
1908
+ */
1909
+ this.enableRowClick = true;
1910
+ /**
1911
+ * The current selection of items
1912
+ */
1913
+ this.selectedRows = [];
1914
+ /**
1915
+ * Event whenever the current selection changes
1916
+ */
1917
+ this.selectedRowsChange = new EventEmitter();
1918
+ /**
1919
+ * Event whenever a row is clicked
1920
+ */
1921
+ this.rowClick = new EventEmitter();
1922
+ /**
1923
+ * Event whenever a row is selected
1924
+ */
1925
+ this.rowSelected = new EventEmitter();
1926
+ /**
1927
+ * Event whenever a row is deselected
1928
+ */
1929
+ this.rowDeselected = new EventEmitter();
1930
+ /** START HEADER */
1931
+ /**
1932
+ * Quick filters to show
1933
+ */
1934
+ this.quickFilters = [];
1935
+ /**
1936
+ * Wether to show the search input
1937
+ */
1938
+ this.enableSearch = true;
1939
+ /**
1940
+ * Wether to show the filter button
1941
+ */
1942
+ this.enableFilter = true;
1943
+ /**
1944
+ * Wether to show the edit button
1945
+ */
1946
+ this.enableEdit = true;
1947
+ /**
1948
+ * Event when one of the quick filters is clicked
1949
+ */
1950
+ this.quickFilter = new EventEmitter();
1951
+ /**
1952
+ * Event when the query changes
1953
+ */
1954
+ this.queryChange = new EventEmitter();
1955
+ /**
1956
+ * Event when the filter button is clicked
1957
+ */
1958
+ this.filter = new EventEmitter();
1959
+ /**
1960
+ * Event when the edit button is clicked
1961
+ */
1962
+ this.edit = new EventEmitter();
1963
+ /** START FOOTER */
1964
+ /**
1965
+ * Wether to enable page size select
1966
+ */
1967
+ this.enablePageSize = true;
1968
+ /**
1969
+ * Wether to enable pagination
1970
+ */
1971
+ this.enablePagination = true;
1972
+ /**
1973
+ * Wether to enable export
1974
+ */
1975
+ this.enableExport = true;
1976
+ /**
1977
+ * The current page
1978
+ */
1979
+ this.page = 1;
1980
+ /**
1981
+ * Event whenever the page changes
1982
+ */
1983
+ this.pageChange = new EventEmitter();
1984
+ /**
1985
+ * The amount of items per page
1986
+ */
1987
+ this.pageSize = defaultSize;
1988
+ /**
1989
+ * The options for the page size
1990
+ */
1991
+ this.pageSizeOptions = defaultSizeOptions;
1992
+ /**
1993
+ * Event whenever the page changes
1994
+ */
1995
+ this.pageSizeChange = new EventEmitter();
1996
+ /**
1997
+ * Event whenever the page changes
1998
+ */
1999
+ this.export = new EventEmitter();
2000
+ /**
2001
+ * Wether to hide when there is only 1 page available
2002
+ */
2003
+ this.hideOnSinglePage = true;
2004
+ this.columns = [];
2005
+ this.parsedItems = [];
2006
+ this.loadingRows = Array.from({
2007
+ length: this.amountOfLoadingRows,
2008
+ });
2009
+ this._ctrlDown = false;
2010
+ }
2011
+ set columnDefinitions(v) {
2012
+ this._columnDefinitions = v;
2013
+ this._generateColumns();
2014
+ }
2015
+ get columnDefinitions() {
2016
+ return this._columnDefinitions;
2017
+ }
2018
+ ngOnInit() {
2019
+ this._parseItems(this.items);
2020
+ // this._generateColumns();
2021
+ }
2022
+ ngOnChanges(changes) {
2023
+ if (changes['items']) {
2024
+ this._parseItems(changes['items'].currentValue);
2025
+ }
2026
+ }
2027
+ // @HostListener('body:tableDefinitionChanged', { target: 'body' })
2028
+ // onTableDefinitionUpdated() {
2029
+ // this._generateColumns();
2030
+ // }
2031
+ keyDown({ key }) {
2032
+ if (key !== 'Control' || this._ctrlDown === true) {
2033
+ return;
2034
+ }
2035
+ this._ctrlDown = true;
2036
+ }
2037
+ keyUp({ key }) {
2038
+ if (key !== 'Control' || this._ctrlDown === false) {
2039
+ return;
2040
+ }
2041
+ this._ctrlDown = false;
2042
+ }
2043
+ visibilityChange() {
2044
+ if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {
2045
+ return;
2046
+ }
2047
+ this._ctrlDown = false;
2048
+ }
2049
+ onQueryChange({ detail }) {
2050
+ this.queryChange.emit(detail);
2051
+ }
2052
+ onQuickFilter({ detail }) {
2053
+ this.quickFilter.emit(detail);
2054
+ }
2055
+ onPageSizeChange({ detail }) {
2056
+ this.pageSizeChange.emit(detail);
2057
+ }
2058
+ onPageChange({ detail }) {
2059
+ this.pageChange.emit(detail);
2060
+ }
2061
+ _parseItems(items) {
2062
+ if (!items) {
2063
+ this.parsedItems = [];
2064
+ return;
2065
+ }
2066
+ if (Array.isArray(items)) {
2067
+ this.parsedItems = items;
2068
+ return;
2069
+ }
2070
+ this.parsedItems = JSON.parse(items);
2071
+ }
2072
+ _generateColumns() {
2073
+ // const definitions =
2074
+ // this._el.nativeElement.querySelectorAll('p-table-definition');
2075
+ this.columns = Array.from(this._columnDefinitions);
2076
+ }
2077
+ // private _getHeader() {
2078
+ // return (
2079
+ // <p-table-row variant="header">
2080
+ // {this._columns.map((col: TableDefinition, index) => (
2081
+ // <p-table-column
2082
+ // definition={col}
2083
+ // value={col.name}
2084
+ // variant="header"
2085
+ // checkbox={this._getCheckbox(index, null, 'header')}
2086
+ // index={index}
2087
+ // ></p-table-column>
2088
+ // ))}
2089
+ // </p-table-row>
2090
+ // );
2091
+ // }
2092
+ // private _getRows() {
2093
+ // if (this.loading) {
2094
+ // return Array.from(
2095
+ // {
2096
+ // length: this.amountOfLoadingRows,
2097
+ // },
2098
+ // (_, i) => (
2099
+ // <p-table-row
2100
+ // enableHover={
2101
+ // this.enableRowSelection || this.enableRowClick
2102
+ // }
2103
+ // >
2104
+ // {this._getLoadingColumns(i)}
2105
+ // </p-table-row>
2106
+ // )
2107
+ // );
2108
+ // }
2109
+ // return this._items.map((item, index) => (
2110
+ // <p-table-row
2111
+ // enableHover={this.enableRowSelection || this.enableRowClick}
2112
+ // onClick={(ev) => this._rowClick(ev, index)}
2113
+ // >
2114
+ // {this._getRowColumns(item, index)}
2115
+ // </p-table-row>
2116
+ // ));
2117
+ // }
2118
+ // private _getRowColumns(item, index) {
2119
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2120
+ // return (
2121
+ // <p-table-column
2122
+ // definition={col}
2123
+ // item={item}
2124
+ // checkbox={this._getCheckbox(colIndex, index)}
2125
+ // index={colIndex}
2126
+ // rowIndex={index}
2127
+ // ></p-table-column>
2128
+ // );
2129
+ // });
2130
+ // }
2131
+ // private _getLoadingColumns(index) {
2132
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2133
+ // return (
2134
+ // <p-table-column
2135
+ // definition={col}
2136
+ // variant="loading"
2137
+ // checkbox={this._getCheckbox(colIndex, index, 'loading')}
2138
+ // index={colIndex}
2139
+ // rowIndex={index}
2140
+ // ></p-table-column>
2141
+ // );
2142
+ // });
2143
+ // }
2144
+ // private _getCheckbox(
2145
+ // index,
2146
+ // rowIndex,
2147
+ // variant: 'header' | 'default' | 'loading' = 'default'
2148
+ // ) {
2149
+ // if (!this.enableRowSelection || !this.selectionKey || index !== 0) {
2150
+ // return;
2151
+ // }
2152
+ // if (variant === 'loading') {
2153
+ // return <p-loader variant="ghost" class="rounded w-6 h-6" />;
2154
+ // }
2155
+ // if (variant === 'header') {
2156
+ // return (
2157
+ // <input
2158
+ // class="p-input"
2159
+ // type="checkbox"
2160
+ // onChange={(ev) => this._selectAllChange(ev)}
2161
+ // checked={this._selectionContainsAll()}
2162
+ // indeterminate={this._selectionIndeterminate()}
2163
+ // />
2164
+ // );
2165
+ // }
2166
+ // const item = this._items[rowIndex];
2167
+ // return (
2168
+ // <input
2169
+ // class="p-input"
2170
+ // type="checkbox"
2171
+ // onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}
2172
+ // disabled={this.canSelectKey && !item[this.canSelectKey]}
2173
+ // checked={this._selectionContains(item, rowIndex)}
2174
+ // />
2175
+ // );
2176
+ // }
2177
+ _checkboxDisabled(item) {
2178
+ return this.canSelectKey && !item[this.canSelectKey];
2179
+ }
2180
+ _selectAllChange($event) {
2181
+ if (!this.enableRowSelection) {
2182
+ return;
2183
+ }
2184
+ const value = this._getCheckedValue($event.target);
2185
+ if (value) {
2186
+ const toAdd = [];
2187
+ for (let i = 0; i < this.parsedItems.length; i++) {
2188
+ const row = this.parsedItems[i];
2189
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2190
+ continue;
2191
+ }
2192
+ if (this._selectionContains(row, i)) {
2193
+ continue;
2194
+ }
2195
+ toAdd.push(row);
2196
+ this.rowSelected.emit(row);
2197
+ }
2198
+ this.selectedRows = [...this.selectedRows, ...toAdd];
2199
+ this.selectedRowsChange.emit(this.selectedRows);
2200
+ return;
2201
+ }
2202
+ for (let i = 0; i < this.selectedRows.length; i++) {
2203
+ const value = this.selectedRows[i];
2204
+ const row = this.parsedItems.find((d) => this._getSelectionValue(d, i) ===
2205
+ this._getSelectionValue(value, i));
2206
+ if (!row) {
2207
+ continue;
2208
+ }
2209
+ this.rowDeselected.emit(row);
2210
+ }
2211
+ this.selectedRows = [];
2212
+ this.selectedRowsChange.emit(this.selectedRows);
2213
+ }
2214
+ _checkboxChange(target, index) {
2215
+ if (!this.enableRowSelection) {
2216
+ return;
2217
+ }
2218
+ const row = this.parsedItems[index];
2219
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2220
+ target.checked = false;
2221
+ return;
2222
+ }
2223
+ const value = this._getCheckedValue(target);
2224
+ if (value) {
2225
+ this.selectedRows = [...this.selectedRows, row];
2226
+ this.selectedRowsChange.emit(this.selectedRows);
2227
+ this.rowSelected.emit(row);
2228
+ return;
2229
+ }
2230
+ const indexOfToRemove = this._selectionContains(row, index, true);
2231
+ // we need to do this, because splice does not trigger the selection setter.
2232
+ const selection = [...this.selectedRows];
2233
+ selection.splice(indexOfToRemove, 1);
2234
+ this.selectedRows = selection;
2235
+ this.selectedRowsChange.emit(this.selectedRows);
2236
+ this.rowDeselected.emit(row);
2237
+ }
2238
+ _getCheckedValue(target) {
2239
+ return target?.checked;
2240
+ }
2241
+ _getSelectionValue(row, index) {
2242
+ return this.selectionKey ? row?.[this.selectionKey] || index : index;
2243
+ }
2244
+ _selectionContains(row, index, returnIndex = false) {
2245
+ const returnValue = this.selectedRows.findIndex((item) => this._getSelectionValue(row, index) ===
2246
+ this._getSelectionValue(item, index));
2247
+ return !returnIndex ? returnValue >= 0 : returnValue;
2248
+ }
2249
+ _selectionContainsAll() {
2250
+ let returnValue = true;
2251
+ if (!this.parsedItems?.length) {
2252
+ return false;
2253
+ }
2254
+ for (let i = 0; i < this.parsedItems?.length; i++) {
2255
+ const item = this.parsedItems[i];
2256
+ const contains = this._selectionContains(item, i);
2257
+ if (!contains) {
2258
+ returnValue = false;
2259
+ break;
2260
+ }
2261
+ }
2262
+ return returnValue;
2263
+ }
2264
+ _selectionIndeterminate() {
2265
+ if (!this.parsedItems?.length || !this.selectedRows?.length) {
2266
+ return false;
2267
+ }
2268
+ let containsCount = 0;
2269
+ for (let i = 0; i < this.parsedItems?.length; i++) {
2270
+ const item = this.parsedItems[i];
2271
+ const contains = this._selectionContains(item, i);
2272
+ if (contains) {
2273
+ containsCount++;
2274
+ }
2275
+ }
2276
+ return containsCount > 0 && containsCount !== this.parsedItems.length;
2277
+ }
2278
+ _rowClick($event, index) {
2279
+ const target = $event.target;
2280
+ if (target.tagName.toLowerCase() === 'input' ||
2281
+ target.type === 'checkbox') {
2282
+ return;
2283
+ }
2284
+ const row = this._findRow($event.target);
2285
+ if (this.enableRowClick) {
2286
+ const action = this._findRowAction($event.target);
2287
+ if (action) {
2288
+ return;
2289
+ }
2290
+ const item = this.parsedItems[index];
2291
+ this.rowClick.emit({
2292
+ item,
2293
+ ctrlDown: this._ctrlDown,
2294
+ });
2295
+ return;
2296
+ }
2297
+ if (!this.enableRowSelection) {
2298
+ return;
2299
+ }
2300
+ const checkbox = row?.querySelector('input[type="checkbox"]');
2301
+ if (!checkbox) {
2302
+ return;
2303
+ }
2304
+ checkbox.checked = !checkbox.checked;
2305
+ this._checkboxChange(checkbox, index);
2306
+ }
2307
+ _findRow(el) {
2308
+ if (!el) {
2309
+ return el;
2310
+ }
2311
+ if (el?.tagName?.toLowerCase() === 'p-table-row') {
2312
+ return el;
2313
+ }
2314
+ return this._findRow(el?.parentElement);
2315
+ }
2316
+ _findRowAction(el) {
2317
+ if (!el) {
2318
+ return null;
2319
+ }
2320
+ if (el.getAttribute('data-is-action') !== null &&
2321
+ el.getAttribute('data-is-action') !== 'false') {
2322
+ return el;
2323
+ }
2324
+ if (el?.tagName?.toLowerCase() === 'p-table-row') {
2325
+ return null;
2326
+ }
2327
+ return this._findRowAction(el?.parentElement);
2328
+ }
2329
+ };
2330
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2331
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TableComponent, selector: "p-table-ngx", inputs: { items: "items", loading: "loading", amountOfLoadingRows: "amountOfLoadingRows", enableRowSelection: "enableRowSelection", enableRowClick: "enableRowClick", selectedRows: "selectedRows", selectionKey: "selectionKey", canSelectKey: "canSelectKey", quickFilters: "quickFilters", activeQuickFilterIdentifier: "activeQuickFilterIdentifier", enableSearch: "enableSearch", query: "query", enableFilter: "enableFilter", selectedFiltersAmount: "selectedFiltersAmount", filterButtonTemplate: "filterButtonTemplate", enableEdit: "enableEdit", editButtonTemplate: "editButtonTemplate", enablePageSize: "enablePageSize", enablePagination: "enablePagination", enableExport: "enableExport", page: "page", total: "total", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", hideOnSinglePage: "hideOnSinglePage" }, outputs: { selectedRowsChange: "selectedRowsChange", rowClick: "rowClick", rowSelected: "rowSelected", rowDeselected: "rowDeselected", quickFilter: "quickFilter", queryChange: "queryChange", filter: "filter", edit: "edit", pageChange: "pageChange", pageSizeChange: "pageSizeChange", export: "export" }, host: { listeners: { "document:keydown": "keyDown($event)", "document:keyup": "keyUp($event)", "document:visibilitychange": "visibilityChange($event)" } }, queries: [{ propertyName: "columnDefinitions", predicate: TableColumn }], usesOnChanges: true, ngImport: i0, template: "<p-table-container>\n <p-table-header\n [quickFilters]=\"quickFilters\"\n [activeQuickFilterIdentifier]=\"activeQuickFilterIdentifier\"\n (onQuickFilter)=\"(onQuickFilter)\"\n [enableSearch]=\"enableSearch\"\n [query]=\"query\"\n (onQueryChange)=\"(onQueryChange)\"\n [enableFilter]=\"enableFilter\"\n [selectedFiltersAmount]=\"selectedFiltersAmount\"\n [filterButtonTemplate]=\"filterButtonTemplate\"\n (onFilter)=\"filter.emit()\"\n [enableEdit]=\"enableEdit\"\n [canEdit]=\"!!selectedRows.length\"\n [editButtonTemplate]=\"editButtonTemplate\"\n (onEdit)=\"edit.emit()\"\n [itemsSelectedAmount]=\"selectedRows.length\"\n ></p-table-header>\n\n <p-table-row variant=\"header\">\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n [value]=\"col.name\"\n variant=\"header\"\n [index]=\"index\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n ></p-table-cell-ngx>\n <ng-template #checkboxTemplate>\n <input\n class=\"p-input\"\n type=\"checkbox\"\n (change)=\"_selectAllChange($event)\"\n [checked]=\"_selectionContainsAll()\"\n [indeterminate]=\"_selectionIndeterminate()\"\n />\n </ng-template>\n </ng-container>\n </p-table-row>\n\n <div class=\"flex flex-col\">\n <ng-container *ngIf=\"loading; else contentTemplate\">\n <p-table-row\n *ngFor=\"let r of loadingRows; let rowIndex = index\"\n [enableHover]=\"enableRowSelection || enableRowClick\"\n >\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n variant=\"loading\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n [index]=\"index\"\n [rowIndex]=\"rowIndex\"\n ></p-table-cell-ngx>\n <ng-template #checkboxTemplate>\n <p-loader\n variant=\"ghost\"\n class=\"rounded w-6 h-6\"\n ></p-loader>\n </ng-template>\n </ng-container>\n </p-table-row>\n </ng-container>\n\n <ng-template #contentTemplate>\n <p-table-row\n *ngFor=\"let item of items; let rowIndex = index\"\n [enableHover]=\"enableRowSelection || enableRowClick\"\n (click)=\"_rowClick($event, rowIndex)\"\n >\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n [item]=\"item\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n [index]=\"index\"\n [rowIndex]=\"rowIndex\"\n [template]=\"col.template\"\n ></p-table-cell-ngx>\n\n <ng-template #checkboxTemplate>\n <input\n class=\"p-input\"\n type=\"checkbox\"\n (change)=\"_checkboxChange($event.target, rowIndex)\"\n [disabled]=\"_checkboxDisabled(item)\"\n [checked]=\"_selectionContains(item, rowIndex)\"\n />\n </ng-template>\n </ng-container>\n </p-table-row>\n </ng-template>\n </div>\n\n <p-table-footer\n [hideOnSinglePage]=\"hideOnSinglePage\"\n [enablePageSize]=\"enablePageSize\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (onPageSizeChange)=\"(pageSizeChange)\"\n [enablePagination]=\"enablePagination\"\n [page]=\"page\"\n [total]=\"total\"\n (onPageChange)=\"(pageChange)\"\n [enableExport]=\"enableExport\"\n (onExport)=\"export.emit()\"\n ></p-table-footer>\n</p-table-container>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PLoader, selector: "p-loader", inputs: ["color", "modalDescription", "modalTitle", "show", "variant"] }, { kind: "component", type: PTableContainer, selector: "p-table-container" }, { kind: "component", type: PTableFooter, selector: "p-table-footer", inputs: ["enableExport", "enablePageSize", "enablePagination", "hideOnSinglePage", "page", "pageSize", "pageSizeOptions", "total"] }, { kind: "component", type: PTableHeader, selector: "p-table-header", inputs: ["activeQuickFilterIdentifier", "canEdit", "editButtonTemplate", "enableEdit", "enableFilter", "enableSearch", "filterButtonTemplate", "itemsSelectedAmount", "query", "quickFilters", "selectedFiltersAmount"] }, { kind: "component", type: PTableRow, selector: "p-table-row", inputs: ["enableHover", "variant"] }, { kind: "component", type: TableCell, selector: "p-table-cell-ngx", inputs: ["variant", "index", "rowIndex", "definition", "item", "value", "checkbox", "template"] }, { kind: "directive", type: TableFooterDirective, selector: "p-table-footer" }, { kind: "directive", type: TableHeaderDirective, selector: "p-table-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2332
+ TableComponent = __decorate([
2333
+ UntilDestroy({ checkProperties: true })
2334
+ ], TableComponent);
2335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, decorators: [{
2336
+ type: Component,
2337
+ args: [{ selector: 'p-table-ngx', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-table-container>\n <p-table-header\n [quickFilters]=\"quickFilters\"\n [activeQuickFilterIdentifier]=\"activeQuickFilterIdentifier\"\n (onQuickFilter)=\"(onQuickFilter)\"\n [enableSearch]=\"enableSearch\"\n [query]=\"query\"\n (onQueryChange)=\"(onQueryChange)\"\n [enableFilter]=\"enableFilter\"\n [selectedFiltersAmount]=\"selectedFiltersAmount\"\n [filterButtonTemplate]=\"filterButtonTemplate\"\n (onFilter)=\"filter.emit()\"\n [enableEdit]=\"enableEdit\"\n [canEdit]=\"!!selectedRows.length\"\n [editButtonTemplate]=\"editButtonTemplate\"\n (onEdit)=\"edit.emit()\"\n [itemsSelectedAmount]=\"selectedRows.length\"\n ></p-table-header>\n\n <p-table-row variant=\"header\">\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n [value]=\"col.name\"\n variant=\"header\"\n [index]=\"index\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n ></p-table-cell-ngx>\n <ng-template #checkboxTemplate>\n <input\n class=\"p-input\"\n type=\"checkbox\"\n (change)=\"_selectAllChange($event)\"\n [checked]=\"_selectionContainsAll()\"\n [indeterminate]=\"_selectionIndeterminate()\"\n />\n </ng-template>\n </ng-container>\n </p-table-row>\n\n <div class=\"flex flex-col\">\n <ng-container *ngIf=\"loading; else contentTemplate\">\n <p-table-row\n *ngFor=\"let r of loadingRows; let rowIndex = index\"\n [enableHover]=\"enableRowSelection || enableRowClick\"\n >\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n variant=\"loading\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n [index]=\"index\"\n [rowIndex]=\"rowIndex\"\n ></p-table-cell-ngx>\n <ng-template #checkboxTemplate>\n <p-loader\n variant=\"ghost\"\n class=\"rounded w-6 h-6\"\n ></p-loader>\n </ng-template>\n </ng-container>\n </p-table-row>\n </ng-container>\n\n <ng-template #contentTemplate>\n <p-table-row\n *ngFor=\"let item of items; let rowIndex = index\"\n [enableHover]=\"enableRowSelection || enableRowClick\"\n (click)=\"_rowClick($event, rowIndex)\"\n >\n <ng-container *ngFor=\"let col of columns; let index = index\">\n <p-table-cell-ngx\n [definition]=\"col\"\n [item]=\"item\"\n [checkbox]=\"index === 0 ? checkboxTemplate : undefined\"\n [index]=\"index\"\n [rowIndex]=\"rowIndex\"\n [template]=\"col.template\"\n ></p-table-cell-ngx>\n\n <ng-template #checkboxTemplate>\n <input\n class=\"p-input\"\n type=\"checkbox\"\n (change)=\"_checkboxChange($event.target, rowIndex)\"\n [disabled]=\"_checkboxDisabled(item)\"\n [checked]=\"_selectionContains(item, rowIndex)\"\n />\n </ng-template>\n </ng-container>\n </p-table-row>\n </ng-template>\n </div>\n\n <p-table-footer\n [hideOnSinglePage]=\"hideOnSinglePage\"\n [enablePageSize]=\"enablePageSize\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (onPageSizeChange)=\"(pageSizeChange)\"\n [enablePagination]=\"enablePagination\"\n [page]=\"page\"\n [total]=\"total\"\n (onPageChange)=\"(pageChange)\"\n [enableExport]=\"enableExport\"\n (onExport)=\"export.emit()\"\n ></p-table-footer>\n</p-table-container>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
2338
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2339
+ type: Input
2340
+ }], loading: [{
2341
+ type: Input
2342
+ }], amountOfLoadingRows: [{
2343
+ type: Input
2344
+ }], enableRowSelection: [{
2345
+ type: Input
2346
+ }], enableRowClick: [{
2347
+ type: Input
2348
+ }], selectedRows: [{
2349
+ type: Input
2350
+ }], selectedRowsChange: [{
2351
+ type: Output
2352
+ }], selectionKey: [{
2353
+ type: Input
2354
+ }], canSelectKey: [{
2355
+ type: Input
2356
+ }], rowClick: [{
2357
+ type: Output
2358
+ }], rowSelected: [{
2359
+ type: Output
2360
+ }], rowDeselected: [{
2361
+ type: Output
2362
+ }], quickFilters: [{
2363
+ type: Input
2364
+ }], activeQuickFilterIdentifier: [{
2365
+ type: Input
2366
+ }], enableSearch: [{
2367
+ type: Input
2368
+ }], query: [{
2369
+ type: Input
2370
+ }], enableFilter: [{
2371
+ type: Input
2372
+ }], selectedFiltersAmount: [{
2373
+ type: Input
2374
+ }], filterButtonTemplate: [{
2375
+ type: Input
2376
+ }], enableEdit: [{
2377
+ type: Input
2378
+ }], editButtonTemplate: [{
2379
+ type: Input
2380
+ }], quickFilter: [{
2381
+ type: Output
2382
+ }], queryChange: [{
2383
+ type: Output
2384
+ }], filter: [{
2385
+ type: Output
2386
+ }], edit: [{
2387
+ type: Output
2388
+ }], enablePageSize: [{
2389
+ type: Input
2390
+ }], enablePagination: [{
2391
+ type: Input
2392
+ }], enableExport: [{
2393
+ type: Input
2394
+ }], page: [{
2395
+ type: Input
2396
+ }], total: [{
2397
+ type: Input
2398
+ }], pageChange: [{
2399
+ type: Output
2400
+ }], pageSize: [{
2401
+ type: Input
2402
+ }], pageSizeOptions: [{
2403
+ type: Input
2404
+ }], pageSizeChange: [{
2405
+ type: Output
2406
+ }], export: [{
2407
+ type: Output
2408
+ }], hideOnSinglePage: [{
2409
+ type: Input
2410
+ }], columnDefinitions: [{
2411
+ type: ContentChildren,
2412
+ args: [TableColumn]
2413
+ }], keyDown: [{
2414
+ type: HostListener,
2415
+ args: ['document:keydown', ['$event']]
2416
+ }], keyUp: [{
2417
+ type: HostListener,
2418
+ args: ['document:keyup', ['$event']]
2419
+ }], visibilityChange: [{
2420
+ type: HostListener,
2421
+ args: ['document:visibilitychange', ['$event']]
2422
+ }] } });
2423
+
2424
+ const COMPONENTS = [TableComponent, TableColumn, TableCell];
2425
+
2426
+ class PageSizeSelectDirective extends BaseValueAccessor {
2427
+ constructor(el) {
2428
+ super(el);
2429
+ }
2430
+ writeValue(value) {
2431
+ this.el.nativeElement.page = this.lastValue =
2432
+ value == null ? '' : value;
1795
2433
  }
1796
- };
1797
- PTableHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1798
- PTableHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableHeader, selector: "p-table-header", inputs: { activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canEdit: "canEdit", editButtonTemplate: "editButtonTemplate", enableEdit: "enableEdit", enableFilter: "enableFilter", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1799
- PTableHeader = __decorate([
1800
- ProxyCmp({
1801
- defineCustomElementFn: undefined,
1802
- inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1803
- })
1804
- ], PTableHeader);
1805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableHeader, decorators: [{
1806
- type: Component,
2434
+ registerOnChange(fn) {
2435
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2436
+ }
2437
+ }
2438
+ PageSizeSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2439
+ PageSizeSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PageSizeSelectDirective, selector: "p-page-size-select", host: { listeners: { "sizeChange": "handleChangeEvent($event.detail)" } }, providers: [
2440
+ {
2441
+ provide: NG_VALUE_ACCESSOR,
2442
+ useExisting: PageSizeSelectDirective,
2443
+ multi: true,
2444
+ },
2445
+ ], usesInheritance: true, ngImport: i0 });
2446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, decorators: [{
2447
+ type: Directive,
1807
2448
  args: [{
1808
- selector: 'p-table-header',
1809
- changeDetection: ChangeDetectionStrategy.OnPush,
1810
- template: '<ng-content></ng-content>',
1811
- inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
2449
+ /* tslint:disable-next-line:directive-selector */
2450
+ selector: 'p-page-size-select',
2451
+ host: {
2452
+ '(sizeChange)': 'handleChangeEvent($event.detail)',
2453
+ },
2454
+ providers: [
2455
+ {
2456
+ provide: NG_VALUE_ACCESSOR,
2457
+ useExisting: PageSizeSelectDirective,
2458
+ multi: true,
2459
+ },
2460
+ ],
1812
2461
  }]
1813
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1814
- let PTableRow = class PTableRow {
1815
- constructor(c, r, z) {
1816
- this.z = z;
1817
- c.detach();
1818
- this.el = r.nativeElement;
2462
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2463
+
2464
+ class PaginationDirective extends BaseValueAccessor {
2465
+ constructor(el) {
2466
+ super(el);
1819
2467
  }
1820
- };
1821
- PTableRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1822
- PTableRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTableRow, selector: "p-table-row", inputs: { enableHover: "enableHover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1823
- PTableRow = __decorate([
1824
- ProxyCmp({
1825
- defineCustomElementFn: undefined,
1826
- inputs: ['enableHover', 'variant']
1827
- })
1828
- ], PTableRow);
1829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableRow, decorators: [{
1830
- type: Component,
2468
+ writeValue(value) {
2469
+ this.el.nativeElement.page = this.lastValue =
2470
+ value == null ? '' : value;
2471
+ }
2472
+ registerOnChange(fn) {
2473
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2474
+ }
2475
+ }
2476
+ PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2477
+ PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PaginationDirective, selector: "p-pagination", host: { listeners: { "pageChange": "handleChangeEvent($event.detail)" } }, providers: [
2478
+ {
2479
+ provide: NG_VALUE_ACCESSOR,
2480
+ useExisting: PaginationDirective,
2481
+ multi: true,
2482
+ },
2483
+ ], usesInheritance: true, ngImport: i0 });
2484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, decorators: [{
2485
+ type: Directive,
1831
2486
  args: [{
1832
- selector: 'p-table-row',
1833
- changeDetection: ChangeDetectionStrategy.OnPush,
1834
- template: '<ng-content></ng-content>',
1835
- inputs: ['enableHover', 'variant']
2487
+ /* tslint:disable-next-line:directive-selector */
2488
+ selector: 'p-pagination',
2489
+ host: {
2490
+ '(pageChange)': 'handleChangeEvent($event.detail)',
2491
+ },
2492
+ providers: [
2493
+ {
2494
+ provide: NG_VALUE_ACCESSOR,
2495
+ useExisting: PaginationDirective,
2496
+ multi: true,
2497
+ },
2498
+ ],
1836
2499
  }]
1837
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1838
- let PToastContainer = class PToastContainer {
1839
- constructor(c, r, z) {
1840
- this.z = z;
1841
- c.detach();
1842
- this.el = r.nativeElement;
2500
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2501
+
2502
+ class SelectDirective extends BaseValueAccessor {
2503
+ constructor(el) {
2504
+ super(el);
1843
2505
  }
1844
- };
1845
- PToastContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PToastContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1846
- PToastContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PToastContainer, selector: "p-toast-container", inputs: { placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1847
- PToastContainer = __decorate([
1848
- ProxyCmp({
1849
- defineCustomElementFn: undefined,
1850
- inputs: ['placement']
1851
- })
1852
- ], PToastContainer);
1853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PToastContainer, decorators: [{
1854
- type: Component,
2506
+ writeValue(value) {
2507
+ this.el.nativeElement.value = this.lastValue =
2508
+ value == null ? '' : value;
2509
+ }
2510
+ }
2511
+ SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2512
+ SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: SelectDirective, selector: "p-select", host: { listeners: { "valueChange": "handleChangeEvent($event.detail)" } }, providers: [
2513
+ {
2514
+ provide: NG_VALUE_ACCESSOR,
2515
+ useExisting: SelectDirective,
2516
+ multi: true,
2517
+ },
2518
+ ], usesInheritance: true, ngImport: i0 });
2519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, decorators: [{
2520
+ type: Directive,
1855
2521
  args: [{
1856
- selector: 'p-toast-container',
1857
- changeDetection: ChangeDetectionStrategy.OnPush,
1858
- template: '<ng-content></ng-content>',
1859
- inputs: ['placement']
2522
+ selector: 'p-select',
2523
+ host: {
2524
+ '(valueChange)': 'handleChangeEvent($event.detail)',
2525
+ },
2526
+ providers: [
2527
+ {
2528
+ provide: NG_VALUE_ACCESSOR,
2529
+ useExisting: SelectDirective,
2530
+ multi: true,
2531
+ },
2532
+ ],
1860
2533
  }]
1861
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1862
- let PTooltip = class PTooltip {
1863
- constructor(c, r, z) {
1864
- this.z = z;
1865
- c.detach();
1866
- this.el = r.nativeElement;
1867
- proxyOutputs(this, this.el, ['isOpen']);
2534
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2535
+
2536
+ class TableDirective extends BaseValueAccessor {
2537
+ constructor(el) {
2538
+ super(el);
2539
+ this.lastValue = {
2540
+ query: '',
2541
+ quickFilter: undefined,
2542
+ page: 1,
2543
+ pageSize: 12,
2544
+ selectedRows: [],
2545
+ };
1868
2546
  }
1869
- };
1870
- PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1871
- PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", placement: "placement", popover: "popover", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1872
- PTooltip = __decorate([
1873
- ProxyCmp({
1874
- defineCustomElementFn: undefined,
1875
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
1876
- })
1877
- ], PTooltip);
1878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTooltip, decorators: [{
1879
- type: Component,
2547
+ writeValue(value) {
2548
+ this.el.nativeElement.query = this.lastValue.query = value?.query;
2549
+ this.lastValue.quickFilter = value?.quickFilter;
2550
+ this.el.nativeElement.page = this.lastValue.page =
2551
+ value?.page == null ? 1 : value?.page;
2552
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
2553
+ value?.pageSize == null ? 12 : value?.pageSize;
2554
+ this.lastValue.selectedRows =
2555
+ value?.selectedRows == null ? [] : value?.selectedRows;
2556
+ if (value?.quickFilter) {
2557
+ this._setActiveQuickFilter(value.quickFilter);
2558
+ }
2559
+ }
2560
+ registerOnChange(fn) {
2561
+ this.onChange = fn;
2562
+ }
2563
+ registerOnTouched(fn) {
2564
+ this.onTouched = fn;
2565
+ }
2566
+ handleChange(value, type) {
2567
+ this.handleChangeEvent({
2568
+ ...this.lastValue,
2569
+ [type]: value,
2570
+ });
2571
+ if (type === 'quickFilter' && typeof value === 'object') {
2572
+ this._setActiveQuickFilter(value);
2573
+ }
2574
+ }
2575
+ _setActiveQuickFilter(quickFilter) {
2576
+ this.el.nativeElement.activeQuickFilterIdentifier =
2577
+ quickFilter?.identifier;
2578
+ }
2579
+ }
2580
+ TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2581
+ TableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: TableDirective, selector: "p-table", host: { listeners: { "queryChange": "handleChange($event.detail, \"query\")", "quickFilter": "handleChange($event.detail, \"quickFilter\")", "pageChange": "handleChange($event.detail, \"page\")", "pageSizeChange": "handleChange($event.detail, \"pageSize\")", "selectedRowsChange": "handleChange($event.detail, \"selectedRows\")" } }, providers: [
2582
+ {
2583
+ provide: NG_VALUE_ACCESSOR,
2584
+ useExisting: TableDirective,
2585
+ multi: true,
2586
+ },
2587
+ ], usesInheritance: true, ngImport: i0 });
2588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, decorators: [{
2589
+ type: Directive,
1880
2590
  args: [{
1881
- selector: 'p-tooltip',
1882
- changeDetection: ChangeDetectionStrategy.OnPush,
1883
- template: '<ng-content></ng-content>',
1884
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
2591
+ /* tslint:disable-next-line:directive-selector */
2592
+ selector: 'p-table',
2593
+ host: {
2594
+ '(queryChange)': 'handleChange($event.detail, "query")',
2595
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
2596
+ '(pageChange)': 'handleChange($event.detail, "page")',
2597
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
2598
+ '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
2599
+ },
2600
+ providers: [
2601
+ {
2602
+ provide: NG_VALUE_ACCESSOR,
2603
+ useExisting: TableDirective,
2604
+ multi: true,
2605
+ },
2606
+ ],
1885
2607
  }]
1886
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
2608
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2609
+
2610
+ // Custom directives
2611
+ const CUSTOM_DIRECTIVES = [
2612
+ PaginationDirective,
2613
+ PageSizeSelectDirective,
2614
+ TableFooterDirective,
2615
+ TableHeaderDirective,
2616
+ TableDirective,
2617
+ SelectDirective,
2618
+ ];
1887
2619
 
1888
2620
  const DIRECTIVES = [
1889
2621
  PAccordion,
@@ -1940,13 +2672,14 @@ const DIRECTIVES = [
1940
2672
  class PaperlessModule {
1941
2673
  }
1942
2674
  PaperlessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1943
- PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, declarations: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective, SelectDirective], exports: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective, SelectDirective] });
1944
- PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule });
2675
+ PaperlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, declarations: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, TableComponent, TableColumn, TableCell, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective, SelectDirective], imports: [CommonModule], exports: [PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, TableComponent, TableColumn, TableCell, PaginationDirective, PageSizeSelectDirective, TableFooterDirective, TableHeaderDirective, TableDirective, SelectDirective] });
2676
+ PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, imports: [CommonModule] });
1945
2677
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, decorators: [{
1946
2678
  type: NgModule,
1947
2679
  args: [{
1948
- declarations: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
1949
- exports: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
2680
+ imports: [CommonModule],
2681
+ declarations: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
2682
+ exports: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
1950
2683
  }]
1951
2684
  }] });
1952
2685
 
@@ -1958,5 +2691,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
1958
2691
  * Generated bundle index. Do not edit.
1959
2692
  */
1960
2693
 
1961
- export { BaseTableComponent, BaseUploadComponent, BaseValueAccessor, CUSTOM_DIRECTIVES, FormBaseComponent, PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, PageSizeSelectDirective, PaginationDirective, PaperlessModule, SelectDirective, TableDirective, TableFooterDirective, TableHeaderDirective };
2694
+ export { BaseTableComponent, BaseUploadComponent, BaseValueAccessor, COMPONENTS, CUSTOM_DIRECTIVES, FormBaseComponent, PAccordion, PAvatar, PAvatarGroup, PButton, PCardBody, PCardContainer, PCardHeader, PContentSlider, PCounter, PDivider, PDropdown, PDropdownMenuContainer, PDropdownMenuItem, PHelper, PIcon, PIllustration, PInfoPanel, PInputGroup, PLabel, PLayout, PLoader, PModal, PModalBackdrop, PModalBody, PModalContainer, PModalFooter, PModalHeader, PNavbar, PNavigationItem, PPageSizeSelect, PPagination, PPaginationItem, PProfile, PSegmentContainer, PSegmentItem, PSelect, PSliderIndicator, PStatus, PStepper, PStepperItem, PStepperLine, PTabGroup, PTabItem, PTableContainer, PTableFooter, PTableHeader, PTableRow, PToastContainer, PTooltip, PageSizeSelectDirective, PaginationDirective, PaperlessModule, SelectDirective, TableCell, TableColumn, TableComponent, TableDirective, TableFooterDirective, TableHeaderDirective };
1962
2695
  //# sourceMappingURL=paperless-angular.mjs.map