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

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,1156 @@ 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{@apply flex gap-4 items-center;}\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{@apply flex gap-4 items-center;}\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
+ console.log(this.el);
1759
+ proxyOutputs(this, this.el, ['tableDefinitionChanged']);
1770
1760
  }
1771
1761
  };
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([
1762
+ 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 });
1763
+ 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 });
1764
+ TableColumn = __decorate([
1775
1765
  ProxyCmp({
1776
1766
  defineCustomElementFn: undefined,
1777
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1767
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1778
1768
  })
1779
- ], PTableFooter);
1780
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, decorators: [{
1769
+ ], TableColumn);
1770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableColumn, decorators: [{
1781
1771
  type: Component,
1782
1772
  args: [{
1783
- selector: 'p-table-footer',
1773
+ selector: 'p-table-column',
1784
1774
  changeDetection: ChangeDetectionStrategy.OnPush,
1785
1775
  template: '<ng-content></ng-content>',
1786
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1776
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1787
1777
  }]
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']);
1778
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{
1779
+ type: ContentChild,
1780
+ args: [TemplateRef, {
1781
+ read: TemplateRef,
1782
+ static: true,
1783
+ }]
1784
+ }] } });
1785
+
1786
+ const defaultSize = 12;
1787
+ const defaultSizeOptions = [12, 24, 68, 136];
1788
+
1789
+ class TableFooterDirective extends BaseValueAccessor {
1790
+ constructor(el) {
1791
+ super(el);
1792
+ this.lastValue = {
1793
+ page: 1,
1794
+ pageSize: 12,
1795
+ };
1796
+ }
1797
+ writeValue(value) {
1798
+ this.el.nativeElement.page = this.lastValue.page =
1799
+ value?.page == null ? '' : value?.page;
1800
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
1801
+ value?.pageSize == null ? '' : value?.pageSize;
1802
+ }
1803
+ handleChange(value, type) {
1804
+ this.handleChangeEvent({
1805
+ ...this.lastValue,
1806
+ [type]: value,
1807
+ });
1808
+ }
1809
+ }
1810
+ TableFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1811
+ 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: [
1812
+ {
1813
+ provide: NG_VALUE_ACCESSOR,
1814
+ useExisting: TableFooterDirective,
1815
+ multi: true,
1816
+ },
1817
+ ], usesInheritance: true, ngImport: i0 });
1818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, decorators: [{
1819
+ type: Directive,
1820
+ args: [{
1821
+ /* tslint:disable-next-line:directive-selector */
1822
+ selector: 'p-table-footer',
1823
+ host: {
1824
+ '(pageChange)': 'handleChange($event.detail, "page")',
1825
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
1826
+ },
1827
+ providers: [
1828
+ {
1829
+ provide: NG_VALUE_ACCESSOR,
1830
+ useExisting: TableFooterDirective,
1831
+ multi: true,
1832
+ },
1833
+ ],
1834
+ }]
1835
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1836
+
1837
+ class TableHeaderDirective extends BaseValueAccessor {
1838
+ constructor(el) {
1839
+ super(el);
1840
+ this.lastValue = {
1841
+ query: '',
1842
+ quickFilter: undefined,
1843
+ };
1844
+ }
1845
+ writeValue(value) {
1846
+ this.el.nativeElement.query = this.lastValue.query = value?.query;
1847
+ this.lastValue.quickFilter = value?.quickFilter;
1848
+ if (value?.quickFilter) {
1849
+ this._setActiveQuickFilter(value.quickFilter);
1850
+ }
1851
+ }
1852
+ handleChange(value, type) {
1853
+ this.handleChangeEvent({
1854
+ ...this.lastValue,
1855
+ [type]: value,
1856
+ });
1857
+ if (type === 'quickFilter' && typeof value !== 'string') {
1858
+ this._setActiveQuickFilter(value);
1859
+ }
1860
+ }
1861
+ _setActiveQuickFilter(quickFilter) {
1862
+ this.el.nativeElement.activeQuickFilterIdentifier =
1863
+ quickFilter?.identifier;
1864
+ }
1865
+ }
1866
+ TableHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1867
+ 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: [
1868
+ {
1869
+ provide: NG_VALUE_ACCESSOR,
1870
+ useExisting: TableHeaderDirective,
1871
+ multi: true,
1872
+ },
1873
+ ], usesInheritance: true, ngImport: i0 });
1874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, decorators: [{
1875
+ type: Directive,
1876
+ args: [{
1877
+ /* tslint:disable-next-line:directive-selector */
1878
+ selector: 'p-table-header',
1879
+ host: {
1880
+ '(queryChange)': 'handleChange($event.detail, "query")',
1881
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
1882
+ },
1883
+ providers: [
1884
+ {
1885
+ provide: NG_VALUE_ACCESSOR,
1886
+ useExisting: TableHeaderDirective,
1887
+ multi: true,
1888
+ },
1889
+ ],
1890
+ }]
1891
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1892
+
1893
+ let TableComponent = class TableComponent {
1894
+ constructor() {
1895
+ /**
1896
+ * Wether data is loading
1897
+ */
1898
+ this.loading = false;
1899
+ /**
1900
+ * The amount of loading rows to show
1901
+ */
1902
+ this.amountOfLoadingRows = 4;
1903
+ /**
1904
+ * Wether to enable selection
1905
+ */
1906
+ this.enableRowSelection = true;
1907
+ /**
1908
+ * Wether to enable row clicking
1909
+ */
1910
+ this.enableRowClick = true;
1911
+ /**
1912
+ * The current selection of items
1913
+ */
1914
+ this.selectedRows = [];
1915
+ /**
1916
+ * Event whenever the current selection changes
1917
+ */
1918
+ this.selectedRowsChange = new EventEmitter();
1919
+ /**
1920
+ * Event whenever a row is clicked
1921
+ */
1922
+ this.rowClick = new EventEmitter();
1923
+ /**
1924
+ * Event whenever a row is selected
1925
+ */
1926
+ this.rowSelected = new EventEmitter();
1927
+ /**
1928
+ * Event whenever a row is deselected
1929
+ */
1930
+ this.rowDeselected = new EventEmitter();
1931
+ /** START HEADER */
1932
+ /**
1933
+ * Quick filters to show
1934
+ */
1935
+ this.quickFilters = [];
1936
+ /**
1937
+ * Wether to show the search input
1938
+ */
1939
+ this.enableSearch = true;
1940
+ /**
1941
+ * Wether to show the filter button
1942
+ */
1943
+ this.enableFilter = true;
1944
+ /**
1945
+ * Wether to show the edit button
1946
+ */
1947
+ this.enableEdit = true;
1948
+ /**
1949
+ * Event when one of the quick filters is clicked
1950
+ */
1951
+ this.quickFilter = new EventEmitter();
1952
+ /**
1953
+ * Event when the query changes
1954
+ */
1955
+ this.queryChange = new EventEmitter();
1956
+ /**
1957
+ * Event when the filter button is clicked
1958
+ */
1959
+ this.filter = new EventEmitter();
1960
+ /**
1961
+ * Event when the edit button is clicked
1962
+ */
1963
+ this.edit = new EventEmitter();
1964
+ /** START FOOTER */
1965
+ /**
1966
+ * Wether to enable page size select
1967
+ */
1968
+ this.enablePageSize = true;
1969
+ /**
1970
+ * Wether to enable pagination
1971
+ */
1972
+ this.enablePagination = true;
1973
+ /**
1974
+ * Wether to enable export
1975
+ */
1976
+ this.enableExport = true;
1977
+ /**
1978
+ * The current page
1979
+ */
1980
+ this.page = 1;
1981
+ /**
1982
+ * Event whenever the page changes
1983
+ */
1984
+ this.pageChange = new EventEmitter();
1985
+ /**
1986
+ * The amount of items per page
1987
+ */
1988
+ this.pageSize = defaultSize;
1989
+ /**
1990
+ * The options for the page size
1991
+ */
1992
+ this.pageSizeOptions = defaultSizeOptions;
1993
+ /**
1994
+ * Event whenever the page changes
1995
+ */
1996
+ this.pageSizeChange = new EventEmitter();
1997
+ /**
1998
+ * Event whenever the page changes
1999
+ */
2000
+ this.export = new EventEmitter();
2001
+ /**
2002
+ * Wether to hide when there is only 1 page available
2003
+ */
2004
+ this.hideOnSinglePage = true;
2005
+ this.columns = [];
2006
+ this.parsedItems = [];
2007
+ this.loadingRows = Array.from({
2008
+ length: this.amountOfLoadingRows,
2009
+ });
2010
+ this._ctrlDown = false;
2011
+ }
2012
+ set columnDefinitions(v) {
2013
+ this._columnDefinitions = v;
2014
+ this._generateColumns();
2015
+ }
2016
+ get columnDefinitions() {
2017
+ return this._columnDefinitions;
2018
+ }
2019
+ ngOnInit() {
2020
+ this._parseItems(this.items);
2021
+ // this._generateColumns();
2022
+ }
2023
+ ngOnChanges(changes) {
2024
+ if (changes['items']) {
2025
+ this._parseItems(changes['items'].currentValue);
2026
+ }
2027
+ }
2028
+ // @HostListener('body:tableDefinitionChanged', { target: 'body' })
2029
+ // onTableDefinitionUpdated() {
2030
+ // this._generateColumns();
2031
+ // }
2032
+ keyDown({ key }) {
2033
+ if (key !== 'Control' || this._ctrlDown === true) {
2034
+ return;
2035
+ }
2036
+ this._ctrlDown = true;
2037
+ }
2038
+ keyUp({ key }) {
2039
+ if (key !== 'Control' || this._ctrlDown === false) {
2040
+ return;
2041
+ }
2042
+ this._ctrlDown = false;
2043
+ }
2044
+ visibilityChange() {
2045
+ if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {
2046
+ return;
2047
+ }
2048
+ this._ctrlDown = false;
2049
+ }
2050
+ onQueryChange({ detail }) {
2051
+ this.queryChange.emit(detail);
2052
+ }
2053
+ onQuickFilter({ detail }) {
2054
+ this.quickFilter.emit(detail);
2055
+ }
2056
+ onPageSizeChange({ detail }) {
2057
+ this.pageSizeChange.emit(detail);
2058
+ }
2059
+ onPageChange({ detail }) {
2060
+ this.pageChange.emit(detail);
2061
+ }
2062
+ _parseItems(items) {
2063
+ if (!items) {
2064
+ this.parsedItems = [];
2065
+ return;
2066
+ }
2067
+ if (Array.isArray(items)) {
2068
+ this.parsedItems = items;
2069
+ return;
2070
+ }
2071
+ this.parsedItems = JSON.parse(items);
2072
+ }
2073
+ _generateColumns() {
2074
+ // const definitions =
2075
+ // this._el.nativeElement.querySelectorAll('p-table-definition');
2076
+ this.columns = Array.from(this._columnDefinitions);
2077
+ }
2078
+ // private _getHeader() {
2079
+ // return (
2080
+ // <p-table-row variant="header">
2081
+ // {this._columns.map((col: TableDefinition, index) => (
2082
+ // <p-table-column
2083
+ // definition={col}
2084
+ // value={col.name}
2085
+ // variant="header"
2086
+ // checkbox={this._getCheckbox(index, null, 'header')}
2087
+ // index={index}
2088
+ // ></p-table-column>
2089
+ // ))}
2090
+ // </p-table-row>
2091
+ // );
2092
+ // }
2093
+ // private _getRows() {
2094
+ // if (this.loading) {
2095
+ // return Array.from(
2096
+ // {
2097
+ // length: this.amountOfLoadingRows,
2098
+ // },
2099
+ // (_, i) => (
2100
+ // <p-table-row
2101
+ // enableHover={
2102
+ // this.enableRowSelection || this.enableRowClick
2103
+ // }
2104
+ // >
2105
+ // {this._getLoadingColumns(i)}
2106
+ // </p-table-row>
2107
+ // )
2108
+ // );
2109
+ // }
2110
+ // return this._items.map((item, index) => (
2111
+ // <p-table-row
2112
+ // enableHover={this.enableRowSelection || this.enableRowClick}
2113
+ // onClick={(ev) => this._rowClick(ev, index)}
2114
+ // >
2115
+ // {this._getRowColumns(item, index)}
2116
+ // </p-table-row>
2117
+ // ));
2118
+ // }
2119
+ // private _getRowColumns(item, index) {
2120
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2121
+ // return (
2122
+ // <p-table-column
2123
+ // definition={col}
2124
+ // item={item}
2125
+ // checkbox={this._getCheckbox(colIndex, index)}
2126
+ // index={colIndex}
2127
+ // rowIndex={index}
2128
+ // ></p-table-column>
2129
+ // );
2130
+ // });
2131
+ // }
2132
+ // private _getLoadingColumns(index) {
2133
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2134
+ // return (
2135
+ // <p-table-column
2136
+ // definition={col}
2137
+ // variant="loading"
2138
+ // checkbox={this._getCheckbox(colIndex, index, 'loading')}
2139
+ // index={colIndex}
2140
+ // rowIndex={index}
2141
+ // ></p-table-column>
2142
+ // );
2143
+ // });
2144
+ // }
2145
+ // private _getCheckbox(
2146
+ // index,
2147
+ // rowIndex,
2148
+ // variant: 'header' | 'default' | 'loading' = 'default'
2149
+ // ) {
2150
+ // if (!this.enableRowSelection || !this.selectionKey || index !== 0) {
2151
+ // return;
2152
+ // }
2153
+ // if (variant === 'loading') {
2154
+ // return <p-loader variant="ghost" class="rounded w-6 h-6" />;
2155
+ // }
2156
+ // if (variant === 'header') {
2157
+ // return (
2158
+ // <input
2159
+ // class="p-input"
2160
+ // type="checkbox"
2161
+ // onChange={(ev) => this._selectAllChange(ev)}
2162
+ // checked={this._selectionContainsAll()}
2163
+ // indeterminate={this._selectionIndeterminate()}
2164
+ // />
2165
+ // );
2166
+ // }
2167
+ // const item = this._items[rowIndex];
2168
+ // return (
2169
+ // <input
2170
+ // class="p-input"
2171
+ // type="checkbox"
2172
+ // onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}
2173
+ // disabled={this.canSelectKey && !item[this.canSelectKey]}
2174
+ // checked={this._selectionContains(item, rowIndex)}
2175
+ // />
2176
+ // );
2177
+ // }
2178
+ _checkboxDisabled(item) {
2179
+ return this.canSelectKey && !item[this.canSelectKey];
2180
+ }
2181
+ _selectAllChange($event) {
2182
+ if (!this.enableRowSelection) {
2183
+ return;
2184
+ }
2185
+ const value = this._getCheckedValue($event.target);
2186
+ if (value) {
2187
+ const toAdd = [];
2188
+ for (let i = 0; i < this.parsedItems.length; i++) {
2189
+ const row = this.parsedItems[i];
2190
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2191
+ continue;
2192
+ }
2193
+ if (this._selectionContains(row, i)) {
2194
+ continue;
2195
+ }
2196
+ toAdd.push(row);
2197
+ this.rowSelected.emit(row);
2198
+ }
2199
+ this.selectedRows = [...this.selectedRows, ...toAdd];
2200
+ this.selectedRowsChange.emit(this.selectedRows);
2201
+ return;
2202
+ }
2203
+ for (let i = 0; i < this.selectedRows.length; i++) {
2204
+ const value = this.selectedRows[i];
2205
+ const row = this.parsedItems.find((d) => this._getSelectionValue(d, i) ===
2206
+ this._getSelectionValue(value, i));
2207
+ if (!row) {
2208
+ continue;
2209
+ }
2210
+ this.rowDeselected.emit(row);
2211
+ }
2212
+ this.selectedRows = [];
2213
+ this.selectedRowsChange.emit(this.selectedRows);
2214
+ }
2215
+ _checkboxChange(target, index) {
2216
+ if (!this.enableRowSelection) {
2217
+ return;
2218
+ }
2219
+ const row = this.parsedItems[index];
2220
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2221
+ target.checked = false;
2222
+ return;
2223
+ }
2224
+ const value = this._getCheckedValue(target);
2225
+ if (value) {
2226
+ this.selectedRows = [...this.selectedRows, row];
2227
+ this.selectedRowsChange.emit(this.selectedRows);
2228
+ this.rowSelected.emit(row);
2229
+ return;
2230
+ }
2231
+ const indexOfToRemove = this._selectionContains(row, index, true);
2232
+ // we need to do this, because splice does not trigger the selection setter.
2233
+ const selection = [...this.selectedRows];
2234
+ selection.splice(indexOfToRemove, 1);
2235
+ this.selectedRows = selection;
2236
+ this.selectedRowsChange.emit(this.selectedRows);
2237
+ this.rowDeselected.emit(row);
2238
+ }
2239
+ _getCheckedValue(target) {
2240
+ return target?.checked;
2241
+ }
2242
+ _getSelectionValue(row, index) {
2243
+ return this.selectionKey ? row?.[this.selectionKey] || index : index;
2244
+ }
2245
+ _selectionContains(row, index, returnIndex = false) {
2246
+ const returnValue = this.selectedRows.findIndex((item) => this._getSelectionValue(row, index) ===
2247
+ this._getSelectionValue(item, index));
2248
+ return !returnIndex ? returnValue >= 0 : returnValue;
2249
+ }
2250
+ _selectionContainsAll() {
2251
+ let returnValue = true;
2252
+ if (!this.parsedItems?.length) {
2253
+ return false;
2254
+ }
2255
+ for (let i = 0; i < this.parsedItems?.length; i++) {
2256
+ const item = this.parsedItems[i];
2257
+ const contains = this._selectionContains(item, i);
2258
+ if (!contains) {
2259
+ returnValue = false;
2260
+ break;
2261
+ }
2262
+ }
2263
+ return returnValue;
2264
+ }
2265
+ _selectionIndeterminate() {
2266
+ if (!this.parsedItems?.length || !this.selectedRows?.length) {
2267
+ return false;
2268
+ }
2269
+ let containsCount = 0;
2270
+ for (let i = 0; i < this.parsedItems?.length; i++) {
2271
+ const item = this.parsedItems[i];
2272
+ const contains = this._selectionContains(item, i);
2273
+ if (contains) {
2274
+ containsCount++;
2275
+ }
2276
+ }
2277
+ return containsCount > 0 && containsCount !== this.parsedItems.length;
2278
+ }
2279
+ _rowClick($event, index) {
2280
+ const target = $event.target;
2281
+ if (target.tagName.toLowerCase() === 'input' ||
2282
+ target.type === 'checkbox') {
2283
+ return;
2284
+ }
2285
+ const row = this._findRow($event.target);
2286
+ if (this.enableRowClick) {
2287
+ const action = this._findRowAction($event.target);
2288
+ if (action) {
2289
+ return;
2290
+ }
2291
+ const item = this.parsedItems[index];
2292
+ this.rowClick.emit({
2293
+ item,
2294
+ ctrlDown: this._ctrlDown,
2295
+ });
2296
+ return;
2297
+ }
2298
+ if (!this.enableRowSelection) {
2299
+ return;
2300
+ }
2301
+ const checkbox = row?.querySelector('input[type="checkbox"]');
2302
+ if (!checkbox) {
2303
+ return;
2304
+ }
2305
+ checkbox.checked = !checkbox.checked;
2306
+ this._checkboxChange(checkbox, index);
2307
+ }
2308
+ _findRow(el) {
2309
+ if (!el) {
2310
+ return el;
2311
+ }
2312
+ if (el?.tagName?.toLowerCase() === 'p-table-row') {
2313
+ return el;
2314
+ }
2315
+ return this._findRow(el?.parentElement);
2316
+ }
2317
+ _findRowAction(el) {
2318
+ if (!el) {
2319
+ return null;
2320
+ }
2321
+ if (el.getAttribute('data-is-action') !== null &&
2322
+ el.getAttribute('data-is-action') !== 'false') {
2323
+ return el;
2324
+ }
2325
+ if (el?.tagName?.toLowerCase() === 'p-table-row') {
2326
+ return null;
2327
+ }
2328
+ return this._findRowAction(el?.parentElement);
2329
+ }
2330
+ };
2331
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2332
+ 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{@apply flex flex-col;}\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 });
2333
+ TableComponent = __decorate([
2334
+ UntilDestroy({ checkProperties: true })
2335
+ ], TableComponent);
2336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, decorators: [{
2337
+ type: Component,
2338
+ 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{@apply flex flex-col;}\n"] }]
2339
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2340
+ type: Input
2341
+ }], loading: [{
2342
+ type: Input
2343
+ }], amountOfLoadingRows: [{
2344
+ type: Input
2345
+ }], enableRowSelection: [{
2346
+ type: Input
2347
+ }], enableRowClick: [{
2348
+ type: Input
2349
+ }], selectedRows: [{
2350
+ type: Input
2351
+ }], selectedRowsChange: [{
2352
+ type: Output
2353
+ }], selectionKey: [{
2354
+ type: Input
2355
+ }], canSelectKey: [{
2356
+ type: Input
2357
+ }], rowClick: [{
2358
+ type: Output
2359
+ }], rowSelected: [{
2360
+ type: Output
2361
+ }], rowDeselected: [{
2362
+ type: Output
2363
+ }], quickFilters: [{
2364
+ type: Input
2365
+ }], activeQuickFilterIdentifier: [{
2366
+ type: Input
2367
+ }], enableSearch: [{
2368
+ type: Input
2369
+ }], query: [{
2370
+ type: Input
2371
+ }], enableFilter: [{
2372
+ type: Input
2373
+ }], selectedFiltersAmount: [{
2374
+ type: Input
2375
+ }], filterButtonTemplate: [{
2376
+ type: Input
2377
+ }], enableEdit: [{
2378
+ type: Input
2379
+ }], editButtonTemplate: [{
2380
+ type: Input
2381
+ }], quickFilter: [{
2382
+ type: Output
2383
+ }], queryChange: [{
2384
+ type: Output
2385
+ }], filter: [{
2386
+ type: Output
2387
+ }], edit: [{
2388
+ type: Output
2389
+ }], enablePageSize: [{
2390
+ type: Input
2391
+ }], enablePagination: [{
2392
+ type: Input
2393
+ }], enableExport: [{
2394
+ type: Input
2395
+ }], page: [{
2396
+ type: Input
2397
+ }], total: [{
2398
+ type: Input
2399
+ }], pageChange: [{
2400
+ type: Output
2401
+ }], pageSize: [{
2402
+ type: Input
2403
+ }], pageSizeOptions: [{
2404
+ type: Input
2405
+ }], pageSizeChange: [{
2406
+ type: Output
2407
+ }], export: [{
2408
+ type: Output
2409
+ }], hideOnSinglePage: [{
2410
+ type: Input
2411
+ }], columnDefinitions: [{
2412
+ type: ContentChildren,
2413
+ args: [TableColumn]
2414
+ }], keyDown: [{
2415
+ type: HostListener,
2416
+ args: ['document:keydown', ['$event']]
2417
+ }], keyUp: [{
2418
+ type: HostListener,
2419
+ args: ['document:keyup', ['$event']]
2420
+ }], visibilityChange: [{
2421
+ type: HostListener,
2422
+ args: ['document:visibilitychange', ['$event']]
2423
+ }] } });
2424
+
2425
+ const COMPONENTS = [TableComponent, TableColumn, TableCell];
2426
+
2427
+ class PageSizeSelectDirective extends BaseValueAccessor {
2428
+ constructor(el) {
2429
+ super(el);
2430
+ }
2431
+ writeValue(value) {
2432
+ this.el.nativeElement.page = this.lastValue =
2433
+ value == null ? '' : value;
1795
2434
  }
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,
2435
+ registerOnChange(fn) {
2436
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2437
+ }
2438
+ }
2439
+ PageSizeSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2440
+ 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: [
2441
+ {
2442
+ provide: NG_VALUE_ACCESSOR,
2443
+ useExisting: PageSizeSelectDirective,
2444
+ multi: true,
2445
+ },
2446
+ ], usesInheritance: true, ngImport: i0 });
2447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, decorators: [{
2448
+ type: Directive,
1807
2449
  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']
2450
+ /* tslint:disable-next-line:directive-selector */
2451
+ selector: 'p-page-size-select',
2452
+ host: {
2453
+ '(sizeChange)': 'handleChangeEvent($event.detail)',
2454
+ },
2455
+ providers: [
2456
+ {
2457
+ provide: NG_VALUE_ACCESSOR,
2458
+ useExisting: PageSizeSelectDirective,
2459
+ multi: true,
2460
+ },
2461
+ ],
1812
2462
  }]
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;
2463
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2464
+
2465
+ class PaginationDirective extends BaseValueAccessor {
2466
+ constructor(el) {
2467
+ super(el);
1819
2468
  }
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,
2469
+ writeValue(value) {
2470
+ this.el.nativeElement.page = this.lastValue =
2471
+ value == null ? '' : value;
2472
+ }
2473
+ registerOnChange(fn) {
2474
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2475
+ }
2476
+ }
2477
+ PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2478
+ PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PaginationDirective, selector: "p-pagination", host: { listeners: { "pageChange": "handleChangeEvent($event.detail)" } }, providers: [
2479
+ {
2480
+ provide: NG_VALUE_ACCESSOR,
2481
+ useExisting: PaginationDirective,
2482
+ multi: true,
2483
+ },
2484
+ ], usesInheritance: true, ngImport: i0 });
2485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, decorators: [{
2486
+ type: Directive,
1831
2487
  args: [{
1832
- selector: 'p-table-row',
1833
- changeDetection: ChangeDetectionStrategy.OnPush,
1834
- template: '<ng-content></ng-content>',
1835
- inputs: ['enableHover', 'variant']
2488
+ /* tslint:disable-next-line:directive-selector */
2489
+ selector: 'p-pagination',
2490
+ host: {
2491
+ '(pageChange)': 'handleChangeEvent($event.detail)',
2492
+ },
2493
+ providers: [
2494
+ {
2495
+ provide: NG_VALUE_ACCESSOR,
2496
+ useExisting: PaginationDirective,
2497
+ multi: true,
2498
+ },
2499
+ ],
1836
2500
  }]
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;
2501
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2502
+
2503
+ class SelectDirective extends BaseValueAccessor {
2504
+ constructor(el) {
2505
+ super(el);
2506
+ console.log(el);
1843
2507
  }
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,
2508
+ writeValue(value) {
2509
+ console.log(value);
2510
+ this.el.nativeElement.value = this.lastValue =
2511
+ value == null ? '' : value;
2512
+ }
2513
+ }
2514
+ SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2515
+ SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: SelectDirective, selector: "p-select", host: { listeners: { "valueChange": "handleChangeEvent($event.detail)" } }, providers: [
2516
+ {
2517
+ provide: NG_VALUE_ACCESSOR,
2518
+ useExisting: SelectDirective,
2519
+ multi: true,
2520
+ },
2521
+ ], usesInheritance: true, ngImport: i0 });
2522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, decorators: [{
2523
+ type: Directive,
1855
2524
  args: [{
1856
- selector: 'p-toast-container',
1857
- changeDetection: ChangeDetectionStrategy.OnPush,
1858
- template: '<ng-content></ng-content>',
1859
- inputs: ['placement']
2525
+ selector: 'p-select',
2526
+ host: {
2527
+ '(valueChange)': 'handleChangeEvent($event.detail)',
2528
+ },
2529
+ providers: [
2530
+ {
2531
+ provide: NG_VALUE_ACCESSOR,
2532
+ useExisting: SelectDirective,
2533
+ multi: true,
2534
+ },
2535
+ ],
1860
2536
  }]
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']);
2537
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2538
+
2539
+ class TableDirective extends BaseValueAccessor {
2540
+ constructor(el) {
2541
+ super(el);
2542
+ this.lastValue = {
2543
+ query: '',
2544
+ quickFilter: undefined,
2545
+ page: 1,
2546
+ pageSize: 12,
2547
+ selectedRows: [],
2548
+ };
1868
2549
  }
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,
2550
+ writeValue(value) {
2551
+ this.el.nativeElement.query = this.lastValue.query = value?.query;
2552
+ this.lastValue.quickFilter = value?.quickFilter;
2553
+ this.el.nativeElement.page = this.lastValue.page =
2554
+ value?.page == null ? 1 : value?.page;
2555
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
2556
+ value?.pageSize == null ? 12 : value?.pageSize;
2557
+ this.lastValue.selectedRows =
2558
+ value?.selectedRows == null ? [] : value?.selectedRows;
2559
+ if (value?.quickFilter) {
2560
+ this._setActiveQuickFilter(value.quickFilter);
2561
+ }
2562
+ }
2563
+ registerOnChange(fn) {
2564
+ this.onChange = fn;
2565
+ }
2566
+ registerOnTouched(fn) {
2567
+ this.onTouched = fn;
2568
+ }
2569
+ handleChange(value, type) {
2570
+ this.handleChangeEvent({
2571
+ ...this.lastValue,
2572
+ [type]: value,
2573
+ });
2574
+ if (type === 'quickFilter' && typeof value === 'object') {
2575
+ this._setActiveQuickFilter(value);
2576
+ }
2577
+ }
2578
+ _setActiveQuickFilter(quickFilter) {
2579
+ this.el.nativeElement.activeQuickFilterIdentifier =
2580
+ quickFilter?.identifier;
2581
+ }
2582
+ }
2583
+ TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2584
+ 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: [
2585
+ {
2586
+ provide: NG_VALUE_ACCESSOR,
2587
+ useExisting: TableDirective,
2588
+ multi: true,
2589
+ },
2590
+ ], usesInheritance: true, ngImport: i0 });
2591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, decorators: [{
2592
+ type: Directive,
1880
2593
  args: [{
1881
- selector: 'p-tooltip',
1882
- changeDetection: ChangeDetectionStrategy.OnPush,
1883
- template: '<ng-content></ng-content>',
1884
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
2594
+ /* tslint:disable-next-line:directive-selector */
2595
+ selector: 'p-table',
2596
+ host: {
2597
+ '(queryChange)': 'handleChange($event.detail, "query")',
2598
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
2599
+ '(pageChange)': 'handleChange($event.detail, "page")',
2600
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
2601
+ '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
2602
+ },
2603
+ providers: [
2604
+ {
2605
+ provide: NG_VALUE_ACCESSOR,
2606
+ useExisting: TableDirective,
2607
+ multi: true,
2608
+ },
2609
+ ],
1885
2610
  }]
1886
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
2611
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2612
+
2613
+ // Custom directives
2614
+ const CUSTOM_DIRECTIVES = [
2615
+ PaginationDirective,
2616
+ PageSizeSelectDirective,
2617
+ TableFooterDirective,
2618
+ TableHeaderDirective,
2619
+ TableDirective,
2620
+ SelectDirective,
2621
+ ];
1887
2622
 
1888
2623
  const DIRECTIVES = [
1889
2624
  PAccordion,
@@ -1940,13 +2675,14 @@ const DIRECTIVES = [
1940
2675
  class PaperlessModule {
1941
2676
  }
1942
2677
  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 });
2678
+ 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] });
2679
+ PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, imports: [CommonModule] });
1945
2680
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, decorators: [{
1946
2681
  type: NgModule,
1947
2682
  args: [{
1948
- declarations: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
1949
- exports: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
2683
+ imports: [CommonModule],
2684
+ declarations: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
2685
+ exports: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
1950
2686
  }]
1951
2687
  }] });
1952
2688
 
@@ -1958,5 +2694,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
1958
2694
  * Generated bundle index. Do not edit.
1959
2695
  */
1960
2696
 
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 };
2697
+ 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
2698
  //# sourceMappingURL=paperless-angular.mjs.map