@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,297 +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 === null || value === void 0 ? void 0 : value.page) == null ? '' : value === null || value === void 0 ? void 0 : value.page;
482
- this.el.nativeElement.pageSize = this.lastValue.pageSize =
483
- (value === null || value === void 0 ? void 0 : value.pageSize) == null ? '' : value === null || value === void 0 ? void 0 : value.pageSize;
484
- }
485
- handleChange(value, type) {
486
- this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
487
- }
488
- }
489
- TableFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
490
- 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: [
491
- {
492
- provide: NG_VALUE_ACCESSOR,
493
- useExisting: TableFooterDirective,
494
- multi: true,
495
- },
496
- ], usesInheritance: true, ngImport: i0 });
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, decorators: [{
498
- type: Directive,
499
- args: [{
500
- /* tslint:disable-next-line:directive-selector */
501
- selector: 'p-table-footer',
502
- host: {
503
- '(pageChange)': 'handleChange($event.detail, "page")',
504
- '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
505
- },
506
- providers: [
507
- {
508
- provide: NG_VALUE_ACCESSOR,
509
- useExisting: TableFooterDirective,
510
- multi: true,
511
- },
512
- ],
513
- }]
514
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
515
-
516
- class TableHeaderDirective extends BaseValueAccessor {
517
- constructor(el) {
518
- super(el);
519
- this.lastValue = {
520
- query: '',
521
- quickFilter: undefined,
522
- };
523
- }
524
- writeValue(value) {
525
- this.el.nativeElement.query = this.lastValue.query = value === null || value === void 0 ? void 0 : value.query;
526
- this.lastValue.quickFilter = value === null || value === void 0 ? void 0 : value.quickFilter;
527
- if (value === null || value === void 0 ? void 0 : value.quickFilter) {
528
- this._setActiveQuickFilter(value.quickFilter);
529
- }
530
- }
531
- handleChange(value, type) {
532
- this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
533
- if (type === 'quickFilter' && typeof value !== 'string') {
534
- this._setActiveQuickFilter(value);
535
- }
536
- }
537
- _setActiveQuickFilter(quickFilter) {
538
- this.el.nativeElement.activeQuickFilterIdentifier =
539
- quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.identifier;
540
- }
541
- }
542
- TableHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
543
- 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: [
544
- {
545
- provide: NG_VALUE_ACCESSOR,
546
- useExisting: TableHeaderDirective,
547
- multi: true,
548
- },
549
- ], usesInheritance: true, ngImport: i0 });
550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, decorators: [{
551
- type: Directive,
552
- args: [{
553
- /* tslint:disable-next-line:directive-selector */
554
- selector: 'p-table-header',
555
- host: {
556
- '(queryChange)': 'handleChange($event.detail, "query")',
557
- '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
558
- },
559
- providers: [
560
- {
561
- provide: NG_VALUE_ACCESSOR,
562
- useExisting: TableHeaderDirective,
563
- multi: true,
564
- },
565
- ],
566
- }]
567
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
568
-
569
- class TableDirective extends BaseValueAccessor {
570
- constructor(el) {
571
- super(el);
572
- this.lastValue = {
573
- query: '',
574
- quickFilter: undefined,
575
- page: 1,
576
- pageSize: 12,
577
- selectedRows: [],
578
- };
579
- }
580
- writeValue(value) {
581
- this.el.nativeElement.query = this.lastValue.query = value === null || value === void 0 ? void 0 : value.query;
582
- this.lastValue.quickFilter = value === null || value === void 0 ? void 0 : value.quickFilter;
583
- this.el.nativeElement.page = this.lastValue.page =
584
- (value === null || value === void 0 ? void 0 : value.page) == null ? 1 : value === null || value === void 0 ? void 0 : value.page;
585
- this.el.nativeElement.pageSize = this.lastValue.pageSize =
586
- (value === null || value === void 0 ? void 0 : value.pageSize) == null ? 12 : value === null || value === void 0 ? void 0 : value.pageSize;
587
- this.lastValue.selectedRows =
588
- (value === null || value === void 0 ? void 0 : value.selectedRows) == null ? [] : value === null || value === void 0 ? void 0 : value.selectedRows;
589
- if (value === null || value === void 0 ? void 0 : value.quickFilter) {
590
- this._setActiveQuickFilter(value.quickFilter);
591
- }
592
- }
593
- registerOnChange(fn) {
594
- this.onChange = fn;
595
- }
596
- registerOnTouched(fn) {
597
- this.onTouched = fn;
598
- }
599
- handleChange(value, type) {
600
- this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
601
- if (type === 'quickFilter' && typeof value === 'object') {
602
- this._setActiveQuickFilter(value);
603
- }
604
- }
605
- _setActiveQuickFilter(quickFilter) {
606
- this.el.nativeElement.activeQuickFilterIdentifier =
607
- quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.identifier;
608
- }
609
- }
610
- TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
611
- 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: [
612
- {
613
- provide: NG_VALUE_ACCESSOR,
614
- useExisting: TableDirective,
615
- multi: true,
616
- },
617
- ], usesInheritance: true, ngImport: i0 });
618
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, decorators: [{
619
- type: Directive,
620
- args: [{
621
- /* tslint:disable-next-line:directive-selector */
622
- selector: 'p-table',
623
- host: {
624
- '(queryChange)': 'handleChange($event.detail, "query")',
625
- '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
626
- '(pageChange)': 'handleChange($event.detail, "page")',
627
- '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
628
- '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
629
- },
630
- providers: [
631
- {
632
- provide: NG_VALUE_ACCESSOR,
633
- useExisting: TableDirective,
634
- multi: true,
635
- },
636
- ],
637
- }]
638
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
639
-
640
- // Custom directives
641
- const CUSTOM_DIRECTIVES = [
642
- PaginationDirective,
643
- PageSizeSelectDirective,
644
- TableFooterDirective,
645
- TableHeaderDirective,
646
- TableDirective,
647
- SelectDirective,
648
- ];
649
-
650
362
  /* eslint-disable */
651
363
  const proxyInputs = (Cmp, inputs) => {
652
364
  const Prototype = Cmp.prototype;
@@ -1746,135 +1458,1154 @@ PTableContainer = __decorate([
1746
1458
  ], PTableContainer);
1747
1459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableContainer, decorators: [{
1748
1460
  type: Component,
1749
- args: [{
1750
- selector: 'p-table-container',
1751
- changeDetection: ChangeDetectionStrategy.OnPush,
1752
- template: '<ng-content></ng-content>'
1753
- }]
1754
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1755
- let PTableFooter = class PTableFooter {
1461
+ args: [{
1462
+ selector: 'p-table-container',
1463
+ changeDetection: ChangeDetectionStrategy.OnPush,
1464
+ template: '<ng-content></ng-content>'
1465
+ }]
1466
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1467
+ let PTableFooter = class PTableFooter {
1468
+ constructor(c, r, z) {
1469
+ this.z = z;
1470
+ c.detach();
1471
+ this.el = r.nativeElement;
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
+ var _a;
1612
+ if (this.variant === 'header') {
1613
+ return {
1614
+ value: this.value,
1615
+ };
1616
+ }
1617
+ return {
1618
+ value: (_a = this.value) !== null && _a !== void 0 ? _a : objectGetByPath(this.item, this.definition.path),
1619
+ item: this.item,
1620
+ index: this.index,
1621
+ rowIndex: this.rowIndex,
1622
+ };
1623
+ }
1624
+ // render() {
1625
+ // return (
1626
+ // <Host
1627
+ // class={{
1628
+ // 'p-table-column': true,
1629
+ // [`variant-${this.variant}`]: true,
1630
+ // ...this._getColumnClasses(),
1631
+ // }}
1632
+ // >
1633
+ // {this.checkbox}
1634
+ // {this.variant === 'loading' ? (
1635
+ // <p-loader
1636
+ // variant="ghost"
1637
+ // class="rounded flex-1 w-full h-6"
1638
+ // />
1639
+ // ) : (
1640
+ // <div class="flex">
1641
+ // {this.variant === 'header' ? (
1642
+ // this.data.value
1643
+ // ) : this.definition.useSlot ? (
1644
+ // <slot />
1645
+ // ) : (
1646
+ // this.template(this.data as TableDefinitionData)
1647
+ // )}
1648
+ // </div>
1649
+ // )}
1650
+ // </Host>
1651
+ // );
1652
+ // }
1653
+ getColumnClasses() {
1654
+ var _a, _b, _c, _d, _e, _f;
1655
+ const sizes = this.definition ? this._getSizes(this.definition) : {};
1656
+ return Object.assign({ 'justify-start': !((_a = this.definition) === null || _a === void 0 ? void 0 : _a.align) || ((_b = this.definition) === null || _b === void 0 ? void 0 : _b.align) === 'start', 'justify-center': ((_c = this.definition) === null || _c === void 0 ? void 0 : _c.align) === 'center', 'justify-end': ((_d = this.definition) === null || _d === void 0 ? void 0 : _d.align) === 'end', 'font-semibold': this.variant !== 'header' && ((_e = this.definition) === null || _e === void 0 ? void 0 : _e.type) === 'th', 'text-storm-dark': this.variant !== 'header' && ((_f = this.definition) === null || _f === void 0 ? void 0 : _f.type) === 'th' }, sizes);
1657
+ }
1658
+ /*
1659
+ With this, we shall hack the system in ways no one would ever have thought.
1660
+
1661
+ 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
1662
+ 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
1663
+ 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
1664
+ 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
1665
+ 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
1666
+ 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
1667
+ 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
1668
+ 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
1669
+
1670
+
1671
+ ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀
1672
+ ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀
1673
+ ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀
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
+ _getSizes({ sizes } /* Table Definition */) {
1700
+ if (sizes === 'auto' || !sizes) {
1701
+ return {
1702
+ 'w-auto': true,
1703
+ };
1704
+ }
1705
+ if (typeof sizes === 'object') {
1706
+ const classes = {};
1707
+ for (const size of Object.keys(sizes)) {
1708
+ if (size === 'default') {
1709
+ classes[`w-${sizes.default}/12`] = true;
1710
+ continue;
1711
+ }
1712
+ classes[`${size}:w-${sizes[`${size}`]}/12`] = true;
1713
+ }
1714
+ return classes;
1715
+ }
1716
+ // is a number.
1717
+ return {
1718
+ [`w-${sizes}/12`]: true,
1719
+ };
1720
+ }
1721
+ }
1722
+ TableCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
1723
+ 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"] }] });
1724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableCell, decorators: [{
1725
+ type: Component,
1726
+ 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"] }]
1727
+ }], propDecorators: { variant: [{
1728
+ type: Input
1729
+ }], index: [{
1730
+ type: Input
1731
+ }], rowIndex: [{
1732
+ type: Input
1733
+ }], definition: [{
1734
+ type: Input
1735
+ }], item: [{
1736
+ type: Input
1737
+ }], value: [{
1738
+ type: Input
1739
+ }], checkbox: [{
1740
+ type: Input
1741
+ }], template: [{
1742
+ type: Input
1743
+ }], class: [{
1744
+ type: HostBinding,
1745
+ args: ['class']
1746
+ }] } });
1747
+
1748
+ let TableColumn = class TableColumn {
1756
1749
  constructor(c, r, z) {
1757
1750
  this.z = z;
1758
1751
  c.detach();
1759
1752
  this.el = r.nativeElement;
1760
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'export']);
1753
+ proxyOutputs(this, this.el, ['tableDefinitionChanged']);
1761
1754
  }
1762
1755
  };
1763
- 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 });
1764
- 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 });
1765
- PTableFooter = __decorate([
1756
+ 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 });
1757
+ 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 });
1758
+ TableColumn = __decorate([
1766
1759
  ProxyCmp({
1767
1760
  defineCustomElementFn: undefined,
1768
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1761
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1769
1762
  })
1770
- ], PTableFooter);
1771
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableFooter, decorators: [{
1763
+ ], TableColumn);
1764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableColumn, decorators: [{
1772
1765
  type: Component,
1773
1766
  args: [{
1774
- selector: 'p-table-footer',
1767
+ selector: 'p-table-column',
1775
1768
  changeDetection: ChangeDetectionStrategy.OnPush,
1776
1769
  template: '<ng-content></ng-content>',
1777
- inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1770
+ inputs: ['align', 'name', 'path', 'sizes', 'type', 'useSlot'],
1778
1771
  }]
1779
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1780
- let PTableHeader = class PTableHeader {
1781
- constructor(c, r, z) {
1782
- this.z = z;
1783
- c.detach();
1784
- this.el = r.nativeElement;
1785
- proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'edit']);
1772
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{
1773
+ type: ContentChild,
1774
+ args: [TemplateRef, {
1775
+ read: TemplateRef,
1776
+ static: true,
1777
+ }]
1778
+ }] } });
1779
+
1780
+ const defaultSize = 12;
1781
+ const defaultSizeOptions = [12, 24, 68, 136];
1782
+
1783
+ class TableFooterDirective extends BaseValueAccessor {
1784
+ constructor(el) {
1785
+ super(el);
1786
+ this.lastValue = {
1787
+ page: 1,
1788
+ pageSize: 12,
1789
+ };
1790
+ }
1791
+ writeValue(value) {
1792
+ this.el.nativeElement.page = this.lastValue.page =
1793
+ (value === null || value === void 0 ? void 0 : value.page) == null ? '' : value === null || value === void 0 ? void 0 : value.page;
1794
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
1795
+ (value === null || value === void 0 ? void 0 : value.pageSize) == null ? '' : value === null || value === void 0 ? void 0 : value.pageSize;
1796
+ }
1797
+ handleChange(value, type) {
1798
+ this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
1799
+ }
1800
+ }
1801
+ TableFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1802
+ 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: [
1803
+ {
1804
+ provide: NG_VALUE_ACCESSOR,
1805
+ useExisting: TableFooterDirective,
1806
+ multi: true,
1807
+ },
1808
+ ], usesInheritance: true, ngImport: i0 });
1809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableFooterDirective, decorators: [{
1810
+ type: Directive,
1811
+ args: [{
1812
+ /* tslint:disable-next-line:directive-selector */
1813
+ selector: 'p-table-footer',
1814
+ host: {
1815
+ '(pageChange)': 'handleChange($event.detail, "page")',
1816
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
1817
+ },
1818
+ providers: [
1819
+ {
1820
+ provide: NG_VALUE_ACCESSOR,
1821
+ useExisting: TableFooterDirective,
1822
+ multi: true,
1823
+ },
1824
+ ],
1825
+ }]
1826
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1827
+
1828
+ class TableHeaderDirective extends BaseValueAccessor {
1829
+ constructor(el) {
1830
+ super(el);
1831
+ this.lastValue = {
1832
+ query: '',
1833
+ quickFilter: undefined,
1834
+ };
1835
+ }
1836
+ writeValue(value) {
1837
+ this.el.nativeElement.query = this.lastValue.query = value === null || value === void 0 ? void 0 : value.query;
1838
+ this.lastValue.quickFilter = value === null || value === void 0 ? void 0 : value.quickFilter;
1839
+ if (value === null || value === void 0 ? void 0 : value.quickFilter) {
1840
+ this._setActiveQuickFilter(value.quickFilter);
1841
+ }
1842
+ }
1843
+ handleChange(value, type) {
1844
+ this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
1845
+ if (type === 'quickFilter' && typeof value !== 'string') {
1846
+ this._setActiveQuickFilter(value);
1847
+ }
1848
+ }
1849
+ _setActiveQuickFilter(quickFilter) {
1850
+ this.el.nativeElement.activeQuickFilterIdentifier =
1851
+ quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.identifier;
1852
+ }
1853
+ }
1854
+ TableHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1855
+ 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: [
1856
+ {
1857
+ provide: NG_VALUE_ACCESSOR,
1858
+ useExisting: TableHeaderDirective,
1859
+ multi: true,
1860
+ },
1861
+ ], usesInheritance: true, ngImport: i0 });
1862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableHeaderDirective, decorators: [{
1863
+ type: Directive,
1864
+ args: [{
1865
+ /* tslint:disable-next-line:directive-selector */
1866
+ selector: 'p-table-header',
1867
+ host: {
1868
+ '(queryChange)': 'handleChange($event.detail, "query")',
1869
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
1870
+ },
1871
+ providers: [
1872
+ {
1873
+ provide: NG_VALUE_ACCESSOR,
1874
+ useExisting: TableHeaderDirective,
1875
+ multi: true,
1876
+ },
1877
+ ],
1878
+ }]
1879
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
1880
+
1881
+ let TableComponent = class TableComponent {
1882
+ constructor() {
1883
+ /**
1884
+ * Wether data is loading
1885
+ */
1886
+ this.loading = false;
1887
+ /**
1888
+ * The amount of loading rows to show
1889
+ */
1890
+ this.amountOfLoadingRows = 4;
1891
+ /**
1892
+ * Wether to enable selection
1893
+ */
1894
+ this.enableRowSelection = true;
1895
+ /**
1896
+ * Wether to enable row clicking
1897
+ */
1898
+ this.enableRowClick = true;
1899
+ /**
1900
+ * The current selection of items
1901
+ */
1902
+ this.selectedRows = [];
1903
+ /**
1904
+ * Event whenever the current selection changes
1905
+ */
1906
+ this.selectedRowsChange = new EventEmitter();
1907
+ /**
1908
+ * Event whenever a row is clicked
1909
+ */
1910
+ this.rowClick = new EventEmitter();
1911
+ /**
1912
+ * Event whenever a row is selected
1913
+ */
1914
+ this.rowSelected = new EventEmitter();
1915
+ /**
1916
+ * Event whenever a row is deselected
1917
+ */
1918
+ this.rowDeselected = new EventEmitter();
1919
+ /** START HEADER */
1920
+ /**
1921
+ * Quick filters to show
1922
+ */
1923
+ this.quickFilters = [];
1924
+ /**
1925
+ * Wether to show the search input
1926
+ */
1927
+ this.enableSearch = true;
1928
+ /**
1929
+ * Wether to show the filter button
1930
+ */
1931
+ this.enableFilter = true;
1932
+ /**
1933
+ * Wether to show the edit button
1934
+ */
1935
+ this.enableEdit = true;
1936
+ /**
1937
+ * Event when one of the quick filters is clicked
1938
+ */
1939
+ this.quickFilter = new EventEmitter();
1940
+ /**
1941
+ * Event when the query changes
1942
+ */
1943
+ this.queryChange = new EventEmitter();
1944
+ /**
1945
+ * Event when the filter button is clicked
1946
+ */
1947
+ this.filter = new EventEmitter();
1948
+ /**
1949
+ * Event when the edit button is clicked
1950
+ */
1951
+ this.edit = new EventEmitter();
1952
+ /** START FOOTER */
1953
+ /**
1954
+ * Wether to enable page size select
1955
+ */
1956
+ this.enablePageSize = true;
1957
+ /**
1958
+ * Wether to enable pagination
1959
+ */
1960
+ this.enablePagination = true;
1961
+ /**
1962
+ * Wether to enable export
1963
+ */
1964
+ this.enableExport = true;
1965
+ /**
1966
+ * The current page
1967
+ */
1968
+ this.page = 1;
1969
+ /**
1970
+ * Event whenever the page changes
1971
+ */
1972
+ this.pageChange = new EventEmitter();
1973
+ /**
1974
+ * The amount of items per page
1975
+ */
1976
+ this.pageSize = defaultSize;
1977
+ /**
1978
+ * The options for the page size
1979
+ */
1980
+ this.pageSizeOptions = defaultSizeOptions;
1981
+ /**
1982
+ * Event whenever the page changes
1983
+ */
1984
+ this.pageSizeChange = new EventEmitter();
1985
+ /**
1986
+ * Event whenever the page changes
1987
+ */
1988
+ this.export = new EventEmitter();
1989
+ /**
1990
+ * Wether to hide when there is only 1 page available
1991
+ */
1992
+ this.hideOnSinglePage = true;
1993
+ this.columns = [];
1994
+ this.parsedItems = [];
1995
+ this.loadingRows = Array.from({
1996
+ length: this.amountOfLoadingRows,
1997
+ });
1998
+ this._ctrlDown = false;
1999
+ }
2000
+ set columnDefinitions(v) {
2001
+ this._columnDefinitions = v;
2002
+ this._generateColumns();
2003
+ }
2004
+ get columnDefinitions() {
2005
+ return this._columnDefinitions;
2006
+ }
2007
+ ngOnInit() {
2008
+ this._parseItems(this.items);
2009
+ // this._generateColumns();
2010
+ }
2011
+ ngOnChanges(changes) {
2012
+ if (changes['items']) {
2013
+ this._parseItems(changes['items'].currentValue);
2014
+ }
2015
+ }
2016
+ // @HostListener('body:tableDefinitionChanged', { target: 'body' })
2017
+ // onTableDefinitionUpdated() {
2018
+ // this._generateColumns();
2019
+ // }
2020
+ keyDown({ key }) {
2021
+ if (key !== 'Control' || this._ctrlDown === true) {
2022
+ return;
2023
+ }
2024
+ this._ctrlDown = true;
2025
+ }
2026
+ keyUp({ key }) {
2027
+ if (key !== 'Control' || this._ctrlDown === false) {
2028
+ return;
2029
+ }
2030
+ this._ctrlDown = false;
2031
+ }
2032
+ visibilityChange() {
2033
+ if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {
2034
+ return;
2035
+ }
2036
+ this._ctrlDown = false;
2037
+ }
2038
+ onQueryChange({ detail }) {
2039
+ this.queryChange.emit(detail);
2040
+ }
2041
+ onQuickFilter({ detail }) {
2042
+ this.quickFilter.emit(detail);
2043
+ }
2044
+ onPageSizeChange({ detail }) {
2045
+ this.pageSizeChange.emit(detail);
2046
+ }
2047
+ onPageChange({ detail }) {
2048
+ this.pageChange.emit(detail);
2049
+ }
2050
+ _parseItems(items) {
2051
+ if (!items) {
2052
+ this.parsedItems = [];
2053
+ return;
2054
+ }
2055
+ if (Array.isArray(items)) {
2056
+ this.parsedItems = items;
2057
+ return;
2058
+ }
2059
+ this.parsedItems = JSON.parse(items);
2060
+ }
2061
+ _generateColumns() {
2062
+ // const definitions =
2063
+ // this._el.nativeElement.querySelectorAll('p-table-definition');
2064
+ this.columns = Array.from(this._columnDefinitions);
2065
+ }
2066
+ // private _getHeader() {
2067
+ // return (
2068
+ // <p-table-row variant="header">
2069
+ // {this._columns.map((col: TableDefinition, index) => (
2070
+ // <p-table-column
2071
+ // definition={col}
2072
+ // value={col.name}
2073
+ // variant="header"
2074
+ // checkbox={this._getCheckbox(index, null, 'header')}
2075
+ // index={index}
2076
+ // ></p-table-column>
2077
+ // ))}
2078
+ // </p-table-row>
2079
+ // );
2080
+ // }
2081
+ // private _getRows() {
2082
+ // if (this.loading) {
2083
+ // return Array.from(
2084
+ // {
2085
+ // length: this.amountOfLoadingRows,
2086
+ // },
2087
+ // (_, i) => (
2088
+ // <p-table-row
2089
+ // enableHover={
2090
+ // this.enableRowSelection || this.enableRowClick
2091
+ // }
2092
+ // >
2093
+ // {this._getLoadingColumns(i)}
2094
+ // </p-table-row>
2095
+ // )
2096
+ // );
2097
+ // }
2098
+ // return this._items.map((item, index) => (
2099
+ // <p-table-row
2100
+ // enableHover={this.enableRowSelection || this.enableRowClick}
2101
+ // onClick={(ev) => this._rowClick(ev, index)}
2102
+ // >
2103
+ // {this._getRowColumns(item, index)}
2104
+ // </p-table-row>
2105
+ // ));
2106
+ // }
2107
+ // private _getRowColumns(item, index) {
2108
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2109
+ // return (
2110
+ // <p-table-column
2111
+ // definition={col}
2112
+ // item={item}
2113
+ // checkbox={this._getCheckbox(colIndex, index)}
2114
+ // index={colIndex}
2115
+ // rowIndex={index}
2116
+ // ></p-table-column>
2117
+ // );
2118
+ // });
2119
+ // }
2120
+ // private _getLoadingColumns(index) {
2121
+ // return this._columns.map((col: TableDefinition, colIndex) => {
2122
+ // return (
2123
+ // <p-table-column
2124
+ // definition={col}
2125
+ // variant="loading"
2126
+ // checkbox={this._getCheckbox(colIndex, index, 'loading')}
2127
+ // index={colIndex}
2128
+ // rowIndex={index}
2129
+ // ></p-table-column>
2130
+ // );
2131
+ // });
2132
+ // }
2133
+ // private _getCheckbox(
2134
+ // index,
2135
+ // rowIndex,
2136
+ // variant: 'header' | 'default' | 'loading' = 'default'
2137
+ // ) {
2138
+ // if (!this.enableRowSelection || !this.selectionKey || index !== 0) {
2139
+ // return;
2140
+ // }
2141
+ // if (variant === 'loading') {
2142
+ // return <p-loader variant="ghost" class="rounded w-6 h-6" />;
2143
+ // }
2144
+ // if (variant === 'header') {
2145
+ // return (
2146
+ // <input
2147
+ // class="p-input"
2148
+ // type="checkbox"
2149
+ // onChange={(ev) => this._selectAllChange(ev)}
2150
+ // checked={this._selectionContainsAll()}
2151
+ // indeterminate={this._selectionIndeterminate()}
2152
+ // />
2153
+ // );
2154
+ // }
2155
+ // const item = this._items[rowIndex];
2156
+ // return (
2157
+ // <input
2158
+ // class="p-input"
2159
+ // type="checkbox"
2160
+ // onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}
2161
+ // disabled={this.canSelectKey && !item[this.canSelectKey]}
2162
+ // checked={this._selectionContains(item, rowIndex)}
2163
+ // />
2164
+ // );
2165
+ // }
2166
+ _checkboxDisabled(item) {
2167
+ return this.canSelectKey && !item[this.canSelectKey];
2168
+ }
2169
+ _selectAllChange($event) {
2170
+ if (!this.enableRowSelection) {
2171
+ return;
2172
+ }
2173
+ const value = this._getCheckedValue($event.target);
2174
+ if (value) {
2175
+ const toAdd = [];
2176
+ for (let i = 0; i < this.parsedItems.length; i++) {
2177
+ const row = this.parsedItems[i];
2178
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2179
+ continue;
2180
+ }
2181
+ if (this._selectionContains(row, i)) {
2182
+ continue;
2183
+ }
2184
+ toAdd.push(row);
2185
+ this.rowSelected.emit(row);
2186
+ }
2187
+ this.selectedRows = [...this.selectedRows, ...toAdd];
2188
+ this.selectedRowsChange.emit(this.selectedRows);
2189
+ return;
2190
+ }
2191
+ for (let i = 0; i < this.selectedRows.length; i++) {
2192
+ const value = this.selectedRows[i];
2193
+ const row = this.parsedItems.find((d) => this._getSelectionValue(d, i) ===
2194
+ this._getSelectionValue(value, i));
2195
+ if (!row) {
2196
+ continue;
2197
+ }
2198
+ this.rowDeselected.emit(row);
2199
+ }
2200
+ this.selectedRows = [];
2201
+ this.selectedRowsChange.emit(this.selectedRows);
2202
+ }
2203
+ _checkboxChange(target, index) {
2204
+ if (!this.enableRowSelection) {
2205
+ return;
2206
+ }
2207
+ const row = this.parsedItems[index];
2208
+ if (this.canSelectKey && !row[this.canSelectKey]) {
2209
+ target.checked = false;
2210
+ return;
2211
+ }
2212
+ const value = this._getCheckedValue(target);
2213
+ if (value) {
2214
+ this.selectedRows = [...this.selectedRows, row];
2215
+ this.selectedRowsChange.emit(this.selectedRows);
2216
+ this.rowSelected.emit(row);
2217
+ return;
2218
+ }
2219
+ const indexOfToRemove = this._selectionContains(row, index, true);
2220
+ // we need to do this, because splice does not trigger the selection setter.
2221
+ const selection = [...this.selectedRows];
2222
+ selection.splice(indexOfToRemove, 1);
2223
+ this.selectedRows = selection;
2224
+ this.selectedRowsChange.emit(this.selectedRows);
2225
+ this.rowDeselected.emit(row);
2226
+ }
2227
+ _getCheckedValue(target) {
2228
+ return target === null || target === void 0 ? void 0 : target.checked;
2229
+ }
2230
+ _getSelectionValue(row, index) {
2231
+ return this.selectionKey ? (row === null || row === void 0 ? void 0 : row[this.selectionKey]) || index : index;
2232
+ }
2233
+ _selectionContains(row, index, returnIndex = false) {
2234
+ const returnValue = this.selectedRows.findIndex((item) => this._getSelectionValue(row, index) ===
2235
+ this._getSelectionValue(item, index));
2236
+ return !returnIndex ? returnValue >= 0 : returnValue;
2237
+ }
2238
+ _selectionContainsAll() {
2239
+ var _a, _b;
2240
+ let returnValue = true;
2241
+ if (!((_a = this.parsedItems) === null || _a === void 0 ? void 0 : _a.length)) {
2242
+ return false;
2243
+ }
2244
+ for (let i = 0; i < ((_b = this.parsedItems) === null || _b === void 0 ? void 0 : _b.length); i++) {
2245
+ const item = this.parsedItems[i];
2246
+ const contains = this._selectionContains(item, i);
2247
+ if (!contains) {
2248
+ returnValue = false;
2249
+ break;
2250
+ }
2251
+ }
2252
+ return returnValue;
2253
+ }
2254
+ _selectionIndeterminate() {
2255
+ var _a, _b, _c;
2256
+ if (!((_a = this.parsedItems) === null || _a === void 0 ? void 0 : _a.length) || !((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.length)) {
2257
+ return false;
2258
+ }
2259
+ let containsCount = 0;
2260
+ for (let i = 0; i < ((_c = this.parsedItems) === null || _c === void 0 ? void 0 : _c.length); i++) {
2261
+ const item = this.parsedItems[i];
2262
+ const contains = this._selectionContains(item, i);
2263
+ if (contains) {
2264
+ containsCount++;
2265
+ }
2266
+ }
2267
+ return containsCount > 0 && containsCount !== this.parsedItems.length;
2268
+ }
2269
+ _rowClick($event, index) {
2270
+ const target = $event.target;
2271
+ if (target.tagName.toLowerCase() === 'input' ||
2272
+ target.type === 'checkbox') {
2273
+ return;
2274
+ }
2275
+ const row = this._findRow($event.target);
2276
+ if (this.enableRowClick) {
2277
+ const action = this._findRowAction($event.target);
2278
+ if (action) {
2279
+ return;
2280
+ }
2281
+ const item = this.parsedItems[index];
2282
+ this.rowClick.emit({
2283
+ item,
2284
+ ctrlDown: this._ctrlDown,
2285
+ });
2286
+ return;
2287
+ }
2288
+ if (!this.enableRowSelection) {
2289
+ return;
2290
+ }
2291
+ const checkbox = row === null || row === void 0 ? void 0 : row.querySelector('input[type="checkbox"]');
2292
+ if (!checkbox) {
2293
+ return;
2294
+ }
2295
+ checkbox.checked = !checkbox.checked;
2296
+ this._checkboxChange(checkbox, index);
2297
+ }
2298
+ _findRow(el) {
2299
+ var _a;
2300
+ if (!el) {
2301
+ return el;
2302
+ }
2303
+ if (((_a = el === null || el === void 0 ? void 0 : el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'p-table-row') {
2304
+ return el;
2305
+ }
2306
+ return this._findRow(el === null || el === void 0 ? void 0 : el.parentElement);
2307
+ }
2308
+ _findRowAction(el) {
2309
+ var _a;
2310
+ if (!el) {
2311
+ return null;
2312
+ }
2313
+ if (el.getAttribute('data-is-action') !== null &&
2314
+ el.getAttribute('data-is-action') !== 'false') {
2315
+ return el;
2316
+ }
2317
+ if (((_a = el === null || el === void 0 ? void 0 : el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'p-table-row') {
2318
+ return null;
2319
+ }
2320
+ return this._findRowAction(el === null || el === void 0 ? void 0 : el.parentElement);
2321
+ }
2322
+ };
2323
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2324
+ 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 });
2325
+ TableComponent = __decorate([
2326
+ UntilDestroy({ checkProperties: true })
2327
+ ], TableComponent);
2328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableComponent, decorators: [{
2329
+ type: Component,
2330
+ 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"] }]
2331
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2332
+ type: Input
2333
+ }], loading: [{
2334
+ type: Input
2335
+ }], amountOfLoadingRows: [{
2336
+ type: Input
2337
+ }], enableRowSelection: [{
2338
+ type: Input
2339
+ }], enableRowClick: [{
2340
+ type: Input
2341
+ }], selectedRows: [{
2342
+ type: Input
2343
+ }], selectedRowsChange: [{
2344
+ type: Output
2345
+ }], selectionKey: [{
2346
+ type: Input
2347
+ }], canSelectKey: [{
2348
+ type: Input
2349
+ }], rowClick: [{
2350
+ type: Output
2351
+ }], rowSelected: [{
2352
+ type: Output
2353
+ }], rowDeselected: [{
2354
+ type: Output
2355
+ }], quickFilters: [{
2356
+ type: Input
2357
+ }], activeQuickFilterIdentifier: [{
2358
+ type: Input
2359
+ }], enableSearch: [{
2360
+ type: Input
2361
+ }], query: [{
2362
+ type: Input
2363
+ }], enableFilter: [{
2364
+ type: Input
2365
+ }], selectedFiltersAmount: [{
2366
+ type: Input
2367
+ }], filterButtonTemplate: [{
2368
+ type: Input
2369
+ }], enableEdit: [{
2370
+ type: Input
2371
+ }], editButtonTemplate: [{
2372
+ type: Input
2373
+ }], quickFilter: [{
2374
+ type: Output
2375
+ }], queryChange: [{
2376
+ type: Output
2377
+ }], filter: [{
2378
+ type: Output
2379
+ }], edit: [{
2380
+ type: Output
2381
+ }], enablePageSize: [{
2382
+ type: Input
2383
+ }], enablePagination: [{
2384
+ type: Input
2385
+ }], enableExport: [{
2386
+ type: Input
2387
+ }], page: [{
2388
+ type: Input
2389
+ }], total: [{
2390
+ type: Input
2391
+ }], pageChange: [{
2392
+ type: Output
2393
+ }], pageSize: [{
2394
+ type: Input
2395
+ }], pageSizeOptions: [{
2396
+ type: Input
2397
+ }], pageSizeChange: [{
2398
+ type: Output
2399
+ }], export: [{
2400
+ type: Output
2401
+ }], hideOnSinglePage: [{
2402
+ type: Input
2403
+ }], columnDefinitions: [{
2404
+ type: ContentChildren,
2405
+ args: [TableColumn]
2406
+ }], keyDown: [{
2407
+ type: HostListener,
2408
+ args: ['document:keydown', ['$event']]
2409
+ }], keyUp: [{
2410
+ type: HostListener,
2411
+ args: ['document:keyup', ['$event']]
2412
+ }], visibilityChange: [{
2413
+ type: HostListener,
2414
+ args: ['document:visibilitychange', ['$event']]
2415
+ }] } });
2416
+
2417
+ const COMPONENTS = [TableComponent, TableColumn, TableCell];
2418
+
2419
+ class PageSizeSelectDirective extends BaseValueAccessor {
2420
+ constructor(el) {
2421
+ super(el);
1786
2422
  }
1787
- };
1788
- 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 });
1789
- 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 });
1790
- PTableHeader = __decorate([
1791
- ProxyCmp({
1792
- defineCustomElementFn: undefined,
1793
- inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1794
- })
1795
- ], PTableHeader);
1796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableHeader, decorators: [{
1797
- type: Component,
2423
+ writeValue(value) {
2424
+ this.el.nativeElement.page = this.lastValue =
2425
+ value == null ? '' : value;
2426
+ }
2427
+ registerOnChange(fn) {
2428
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2429
+ }
2430
+ }
2431
+ PageSizeSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2432
+ 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: [
2433
+ {
2434
+ provide: NG_VALUE_ACCESSOR,
2435
+ useExisting: PageSizeSelectDirective,
2436
+ multi: true,
2437
+ },
2438
+ ], usesInheritance: true, ngImport: i0 });
2439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PageSizeSelectDirective, decorators: [{
2440
+ type: Directive,
1798
2441
  args: [{
1799
- selector: 'p-table-header',
1800
- changeDetection: ChangeDetectionStrategy.OnPush,
1801
- template: '<ng-content></ng-content>',
1802
- inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
2442
+ /* tslint:disable-next-line:directive-selector */
2443
+ selector: 'p-page-size-select',
2444
+ host: {
2445
+ '(sizeChange)': 'handleChangeEvent($event.detail)',
2446
+ },
2447
+ providers: [
2448
+ {
2449
+ provide: NG_VALUE_ACCESSOR,
2450
+ useExisting: PageSizeSelectDirective,
2451
+ multi: true,
2452
+ },
2453
+ ],
1803
2454
  }]
1804
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1805
- let PTableRow = class PTableRow {
1806
- constructor(c, r, z) {
1807
- this.z = z;
1808
- c.detach();
1809
- this.el = r.nativeElement;
2455
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2456
+
2457
+ class PaginationDirective extends BaseValueAccessor {
2458
+ constructor(el) {
2459
+ super(el);
1810
2460
  }
1811
- };
1812
- 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 });
1813
- 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 });
1814
- PTableRow = __decorate([
1815
- ProxyCmp({
1816
- defineCustomElementFn: undefined,
1817
- inputs: ['enableHover', 'variant']
1818
- })
1819
- ], PTableRow);
1820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTableRow, decorators: [{
1821
- type: Component,
2461
+ writeValue(value) {
2462
+ this.el.nativeElement.page = this.lastValue =
2463
+ value == null ? '' : value;
2464
+ }
2465
+ registerOnChange(fn) {
2466
+ super.registerOnChange((value) => fn(value === '' ? null : parseInt(value, 10)));
2467
+ }
2468
+ }
2469
+ PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2470
+ PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: PaginationDirective, selector: "p-pagination", host: { listeners: { "pageChange": "handleChangeEvent($event.detail)" } }, providers: [
2471
+ {
2472
+ provide: NG_VALUE_ACCESSOR,
2473
+ useExisting: PaginationDirective,
2474
+ multi: true,
2475
+ },
2476
+ ], usesInheritance: true, ngImport: i0 });
2477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaginationDirective, decorators: [{
2478
+ type: Directive,
1822
2479
  args: [{
1823
- selector: 'p-table-row',
1824
- changeDetection: ChangeDetectionStrategy.OnPush,
1825
- template: '<ng-content></ng-content>',
1826
- inputs: ['enableHover', 'variant']
2480
+ /* tslint:disable-next-line:directive-selector */
2481
+ selector: 'p-pagination',
2482
+ host: {
2483
+ '(pageChange)': 'handleChangeEvent($event.detail)',
2484
+ },
2485
+ providers: [
2486
+ {
2487
+ provide: NG_VALUE_ACCESSOR,
2488
+ useExisting: PaginationDirective,
2489
+ multi: true,
2490
+ },
2491
+ ],
1827
2492
  }]
1828
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1829
- let PToastContainer = class PToastContainer {
1830
- constructor(c, r, z) {
1831
- this.z = z;
1832
- c.detach();
1833
- this.el = r.nativeElement;
2493
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2494
+
2495
+ class SelectDirective extends BaseValueAccessor {
2496
+ constructor(el) {
2497
+ super(el);
1834
2498
  }
1835
- };
1836
- 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 });
1837
- 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 });
1838
- PToastContainer = __decorate([
1839
- ProxyCmp({
1840
- defineCustomElementFn: undefined,
1841
- inputs: ['placement']
1842
- })
1843
- ], PToastContainer);
1844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PToastContainer, decorators: [{
1845
- type: Component,
2499
+ writeValue(value) {
2500
+ this.el.nativeElement.value = this.lastValue =
2501
+ value == null ? '' : value;
2502
+ }
2503
+ }
2504
+ SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2505
+ SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: SelectDirective, selector: "p-select", host: { listeners: { "valueChange": "handleChangeEvent($event.detail)" } }, providers: [
2506
+ {
2507
+ provide: NG_VALUE_ACCESSOR,
2508
+ useExisting: SelectDirective,
2509
+ multi: true,
2510
+ },
2511
+ ], usesInheritance: true, ngImport: i0 });
2512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SelectDirective, decorators: [{
2513
+ type: Directive,
1846
2514
  args: [{
1847
- selector: 'p-toast-container',
1848
- changeDetection: ChangeDetectionStrategy.OnPush,
1849
- template: '<ng-content></ng-content>',
1850
- inputs: ['placement']
2515
+ selector: 'p-select',
2516
+ host: {
2517
+ '(valueChange)': 'handleChangeEvent($event.detail)',
2518
+ },
2519
+ providers: [
2520
+ {
2521
+ provide: NG_VALUE_ACCESSOR,
2522
+ useExisting: SelectDirective,
2523
+ multi: true,
2524
+ },
2525
+ ],
1851
2526
  }]
1852
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1853
- let PTooltip = class PTooltip {
1854
- constructor(c, r, z) {
1855
- this.z = z;
1856
- c.detach();
1857
- this.el = r.nativeElement;
1858
- proxyOutputs(this, this.el, ['isOpen']);
2527
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2528
+
2529
+ class TableDirective extends BaseValueAccessor {
2530
+ constructor(el) {
2531
+ super(el);
2532
+ this.lastValue = {
2533
+ query: '',
2534
+ quickFilter: undefined,
2535
+ page: 1,
2536
+ pageSize: 12,
2537
+ selectedRows: [],
2538
+ };
1859
2539
  }
1860
- };
1861
- 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 });
1862
- 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 });
1863
- PTooltip = __decorate([
1864
- ProxyCmp({
1865
- defineCustomElementFn: undefined,
1866
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
1867
- })
1868
- ], PTooltip);
1869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PTooltip, decorators: [{
1870
- type: Component,
2540
+ writeValue(value) {
2541
+ this.el.nativeElement.query = this.lastValue.query = value === null || value === void 0 ? void 0 : value.query;
2542
+ this.lastValue.quickFilter = value === null || value === void 0 ? void 0 : value.quickFilter;
2543
+ this.el.nativeElement.page = this.lastValue.page =
2544
+ (value === null || value === void 0 ? void 0 : value.page) == null ? 1 : value === null || value === void 0 ? void 0 : value.page;
2545
+ this.el.nativeElement.pageSize = this.lastValue.pageSize =
2546
+ (value === null || value === void 0 ? void 0 : value.pageSize) == null ? 12 : value === null || value === void 0 ? void 0 : value.pageSize;
2547
+ this.lastValue.selectedRows =
2548
+ (value === null || value === void 0 ? void 0 : value.selectedRows) == null ? [] : value === null || value === void 0 ? void 0 : value.selectedRows;
2549
+ if (value === null || value === void 0 ? void 0 : value.quickFilter) {
2550
+ this._setActiveQuickFilter(value.quickFilter);
2551
+ }
2552
+ }
2553
+ registerOnChange(fn) {
2554
+ this.onChange = fn;
2555
+ }
2556
+ registerOnTouched(fn) {
2557
+ this.onTouched = fn;
2558
+ }
2559
+ handleChange(value, type) {
2560
+ this.handleChangeEvent(Object.assign(Object.assign({}, this.lastValue), { [type]: value }));
2561
+ if (type === 'quickFilter' && typeof value === 'object') {
2562
+ this._setActiveQuickFilter(value);
2563
+ }
2564
+ }
2565
+ _setActiveQuickFilter(quickFilter) {
2566
+ this.el.nativeElement.activeQuickFilterIdentifier =
2567
+ quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.identifier;
2568
+ }
2569
+ }
2570
+ TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2571
+ 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: [
2572
+ {
2573
+ provide: NG_VALUE_ACCESSOR,
2574
+ useExisting: TableDirective,
2575
+ multi: true,
2576
+ },
2577
+ ], usesInheritance: true, ngImport: i0 });
2578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableDirective, decorators: [{
2579
+ type: Directive,
1871
2580
  args: [{
1872
- selector: 'p-tooltip',
1873
- changeDetection: ChangeDetectionStrategy.OnPush,
1874
- template: '<ng-content></ng-content>',
1875
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
2581
+ /* tslint:disable-next-line:directive-selector */
2582
+ selector: 'p-table',
2583
+ host: {
2584
+ '(queryChange)': 'handleChange($event.detail, "query")',
2585
+ '(quickFilter)': 'handleChange($event.detail, "quickFilter")',
2586
+ '(pageChange)': 'handleChange($event.detail, "page")',
2587
+ '(pageSizeChange)': 'handleChange($event.detail, "pageSize")',
2588
+ '(selectedRowsChange)': 'handleChange($event.detail, "selectedRows")',
2589
+ },
2590
+ providers: [
2591
+ {
2592
+ provide: NG_VALUE_ACCESSOR,
2593
+ useExisting: TableDirective,
2594
+ multi: true,
2595
+ },
2596
+ ],
1876
2597
  }]
1877
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
2598
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
2599
+
2600
+ // Custom directives
2601
+ const CUSTOM_DIRECTIVES = [
2602
+ PaginationDirective,
2603
+ PageSizeSelectDirective,
2604
+ TableFooterDirective,
2605
+ TableHeaderDirective,
2606
+ TableDirective,
2607
+ SelectDirective,
2608
+ ];
1878
2609
 
1879
2610
  const DIRECTIVES = [
1880
2611
  PAccordion,
@@ -1931,13 +2662,14 @@ const DIRECTIVES = [
1931
2662
  class PaperlessModule {
1932
2663
  }
1933
2664
  PaperlessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1934
- 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] });
1935
- PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule });
2665
+ 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] });
2666
+ PaperlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, imports: [CommonModule] });
1936
2667
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PaperlessModule, decorators: [{
1937
2668
  type: NgModule,
1938
2669
  args: [{
1939
- declarations: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
1940
- exports: [...DIRECTIVES, ...CUSTOM_DIRECTIVES],
2670
+ imports: [CommonModule],
2671
+ declarations: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
2672
+ exports: [...DIRECTIVES, ...COMPONENTS, ...CUSTOM_DIRECTIVES],
1941
2673
  }]
1942
2674
  }] });
1943
2675
 
@@ -1949,5 +2681,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
1949
2681
  * Generated bundle index. Do not edit.
1950
2682
  */
1951
2683
 
1952
- 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 };
2684
+ 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 };
1953
2685
  //# sourceMappingURL=paperless-angular.mjs.map