primeng 16.4.2 → 16.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/treenode.d.ts +1 -0
- package/contextmenu/contextmenu.d.ts +11 -1
- package/esm2022/accordion/accordion.mjs +10 -10
- package/esm2022/animate/animate.mjs +7 -7
- package/esm2022/api/confirmationservice.mjs +3 -3
- package/esm2022/api/contextmenuservice.mjs +3 -3
- package/esm2022/api/filterservice.mjs +3 -3
- package/esm2022/api/messageservice.mjs +3 -3
- package/esm2022/api/overlayservice.mjs +3 -3
- package/esm2022/api/primengconfig.mjs +3 -3
- package/esm2022/api/shared.mjs +13 -13
- package/esm2022/api/treedragdropservice.mjs +3 -3
- package/esm2022/api/treenode.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +7 -7
- package/esm2022/autofocus/autofocus.mjs +7 -7
- package/esm2022/avatar/avatar.mjs +7 -7
- package/esm2022/avatargroup/avatargroup.mjs +7 -7
- package/esm2022/badge/badge.mjs +10 -10
- package/esm2022/baseicon/baseicon.mjs +3 -3
- package/esm2022/blockui/blockui.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
- package/esm2022/button/button.mjs +10 -10
- package/esm2022/calendar/calendar.mjs +7 -7
- package/esm2022/card/card.mjs +7 -7
- package/esm2022/carousel/carousel.mjs +7 -7
- package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
- package/esm2022/chart/chart.mjs +7 -7
- package/esm2022/checkbox/checkbox.mjs +7 -7
- package/esm2022/chip/chip.mjs +7 -7
- package/esm2022/chips/chips.mjs +7 -7
- package/esm2022/colorpicker/colorpicker.mjs +7 -7
- package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
- package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
- package/esm2022/contextmenu/contextmenu.mjs +55 -19
- package/esm2022/dataview/dataview.mjs +10 -10
- package/esm2022/defer/defer.mjs +7 -7
- package/esm2022/dialog/dialog.mjs +7 -7
- package/esm2022/divider/divider.mjs +7 -7
- package/esm2022/dock/dock.mjs +7 -7
- package/esm2022/dragdrop/dragdrop.mjs +10 -10
- package/esm2022/dropdown/dropdown.mjs +10 -10
- package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
- package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
- package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
- package/esm2022/editor/editor.mjs +7 -7
- package/esm2022/fieldset/fieldset.mjs +7 -7
- package/esm2022/fileupload/fileupload.mjs +7 -7
- package/esm2022/focustrap/focustrap.mjs +7 -7
- package/esm2022/galleria/galleria.mjs +19 -19
- package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
- package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
- package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
- package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
- package/esm2022/icons/angledown/angledown.mjs +3 -3
- package/esm2022/icons/angleleft/angleleft.mjs +3 -3
- package/esm2022/icons/angleright/angleright.mjs +3 -3
- package/esm2022/icons/angleup/angleup.mjs +3 -3
- package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
- package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
- package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
- package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
- package/esm2022/icons/arrowright/arrowright.mjs +3 -3
- package/esm2022/icons/arrowup/arrowup.mjs +3 -3
- package/esm2022/icons/ban/ban.mjs +3 -3
- package/esm2022/icons/bars/bars.mjs +3 -3
- package/esm2022/icons/calendar/calendar.mjs +3 -3
- package/esm2022/icons/caretleft/caretleft.mjs +3 -3
- package/esm2022/icons/caretright/caretright.mjs +3 -3
- package/esm2022/icons/check/check.mjs +3 -3
- package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
- package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
- package/esm2022/icons/chevronright/chevronright.mjs +3 -3
- package/esm2022/icons/chevronup/chevronup.mjs +3 -3
- package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
- package/esm2022/icons/eye/eye.mjs +3 -3
- package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
- package/esm2022/icons/filter/filter.mjs +3 -3
- package/esm2022/icons/filterslash/filterslash.mjs +3 -3
- package/esm2022/icons/home/home.mjs +3 -3
- package/esm2022/icons/infocircle/infocircle.mjs +3 -3
- package/esm2022/icons/minus/minus.mjs +3 -3
- package/esm2022/icons/pencil/pencil.mjs +3 -3
- package/esm2022/icons/plus/plus.mjs +3 -3
- package/esm2022/icons/refresh/refresh.mjs +3 -3
- package/esm2022/icons/search/search.mjs +3 -3
- package/esm2022/icons/searchminus/searchminus.mjs +3 -3
- package/esm2022/icons/searchplus/searchplus.mjs +3 -3
- package/esm2022/icons/sortalt/sortalt.mjs +3 -3
- package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
- package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
- package/esm2022/icons/spinner/spinner.mjs +3 -3
- package/esm2022/icons/star/star.mjs +3 -3
- package/esm2022/icons/starfill/starfill.mjs +3 -3
- package/esm2022/icons/thlarge/thlarge.mjs +3 -3
- package/esm2022/icons/times/times.mjs +3 -3
- package/esm2022/icons/timescircle/timescircle.mjs +3 -3
- package/esm2022/icons/trash/trash.mjs +3 -3
- package/esm2022/icons/undo/undo.mjs +3 -3
- package/esm2022/icons/upload/upload.mjs +3 -3
- package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
- package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
- package/esm2022/image/image.mjs +7 -7
- package/esm2022/inplace/inplace.mjs +13 -13
- package/esm2022/inputmask/inputmask.mjs +7 -7
- package/esm2022/inputnumber/inputnumber.mjs +7 -7
- package/esm2022/inputswitch/inputswitch.mjs +7 -7
- package/esm2022/inputtext/inputtext.mjs +7 -7
- package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
- package/esm2022/keyfilter/keyfilter.mjs +7 -7
- package/esm2022/knob/knob.mjs +7 -7
- package/esm2022/listbox/listbox.mjs +7 -7
- package/esm2022/megamenu/megamenu.mjs +10 -10
- package/esm2022/menu/menu.mjs +13 -13
- package/esm2022/menubar/menubar.mjs +13 -13
- package/esm2022/message/message.mjs +7 -7
- package/esm2022/messages/messages.mjs +7 -7
- package/esm2022/multiselect/multiselect.mjs +10 -10
- package/esm2022/orderlist/orderlist.mjs +7 -7
- package/esm2022/organizationchart/organizationchart.mjs +10 -10
- package/esm2022/overlay/overlay.mjs +7 -7
- package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
- package/esm2022/paginator/paginator.mjs +7 -7
- package/esm2022/panel/panel.mjs +7 -7
- package/esm2022/panelmenu/panelmenu.mjs +13 -13
- package/esm2022/password/password.mjs +13 -13
- package/esm2022/picklist/picklist.mjs +7 -7
- package/esm2022/progressbar/progressbar.mjs +7 -7
- package/esm2022/progressspinner/progressspinner.mjs +7 -7
- package/esm2022/radiobutton/radiobutton.mjs +10 -10
- package/esm2022/rating/rating.mjs +7 -7
- package/esm2022/ripple/ripple.mjs +7 -7
- package/esm2022/scroller/scroller.mjs +7 -7
- package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
- package/esm2022/scrolltop/scrolltop.mjs +7 -7
- package/esm2022/selectbutton/selectbutton.mjs +7 -7
- package/esm2022/sidebar/sidebar.mjs +7 -7
- package/esm2022/skeleton/skeleton.mjs +7 -7
- package/esm2022/slidemenu/slidemenu.mjs +10 -10
- package/esm2022/slider/slider.mjs +7 -7
- package/esm2022/speeddial/speeddial.mjs +7 -7
- package/esm2022/spinner/spinner.mjs +7 -7
- package/esm2022/splitbutton/splitbutton.mjs +7 -7
- package/esm2022/splitter/splitter.mjs +7 -7
- package/esm2022/steps/steps.mjs +7 -7
- package/esm2022/styleclass/styleclass.mjs +7 -7
- package/esm2022/table/table.mjs +82 -82
- package/esm2022/tabmenu/tabmenu.mjs +7 -7
- package/esm2022/tabview/tabview.mjs +10 -10
- package/esm2022/tag/tag.mjs +7 -7
- package/esm2022/terminal/terminal.mjs +7 -7
- package/esm2022/terminal/terminalservice.mjs +3 -3
- package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
- package/esm2022/timeline/timeline.mjs +9 -9
- package/esm2022/toast/toast.mjs +10 -10
- package/esm2022/togglebutton/togglebutton.mjs +7 -7
- package/esm2022/toolbar/toolbar.mjs +7 -7
- package/esm2022/tooltip/tooltip.mjs +7 -7
- package/esm2022/tree/tree.mjs +10 -10
- package/esm2022/treeselect/treeselect.mjs +7 -7
- package/esm2022/treetable/treetable.mjs +555 -241
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
- package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
- package/fesm2022/primeng-accordion.mjs +10 -10
- package/fesm2022/primeng-animate.mjs +7 -7
- package/fesm2022/primeng-api.mjs +34 -34
- package/fesm2022/primeng-autocomplete.mjs +7 -7
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +7 -7
- package/fesm2022/primeng-avatargroup.mjs +7 -7
- package/fesm2022/primeng-badge.mjs +10 -10
- package/fesm2022/primeng-baseicon.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +7 -7
- package/fesm2022/primeng-breadcrumb.mjs +7 -7
- package/fesm2022/primeng-button.mjs +10 -10
- package/fesm2022/primeng-calendar.mjs +7 -7
- package/fesm2022/primeng-card.mjs +7 -7
- package/fesm2022/primeng-carousel.mjs +7 -7
- package/fesm2022/primeng-cascadeselect.mjs +10 -10
- package/fesm2022/primeng-chart.mjs +7 -7
- package/fesm2022/primeng-checkbox.mjs +7 -7
- package/fesm2022/primeng-chip.mjs +7 -7
- package/fesm2022/primeng-chips.mjs +7 -7
- package/fesm2022/primeng-colorpicker.mjs +7 -7
- package/fesm2022/primeng-confirmdialog.mjs +7 -7
- package/fesm2022/primeng-confirmpopup.mjs +7 -7
- package/fesm2022/primeng-contextmenu.mjs +54 -18
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +10 -10
- package/fesm2022/primeng-defer.mjs +7 -7
- package/fesm2022/primeng-dialog.mjs +7 -7
- package/fesm2022/primeng-divider.mjs +7 -7
- package/fesm2022/primeng-dock.mjs +7 -7
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-dropdown.mjs +10 -10
- package/fesm2022/primeng-dynamicdialog.mjs +13 -13
- package/fesm2022/primeng-editor.mjs +7 -7
- package/fesm2022/primeng-fieldset.mjs +7 -7
- package/fesm2022/primeng-fileupload.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-galleria.mjs +19 -19
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-image.mjs +7 -7
- package/fesm2022/primeng-inplace.mjs +13 -13
- package/fesm2022/primeng-inputmask.mjs +7 -7
- package/fesm2022/primeng-inputnumber.mjs +7 -7
- package/fesm2022/primeng-inputswitch.mjs +7 -7
- package/fesm2022/primeng-inputtext.mjs +7 -7
- package/fesm2022/primeng-inputtextarea.mjs +7 -7
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-knob.mjs +7 -7
- package/fesm2022/primeng-listbox.mjs +7 -7
- package/fesm2022/primeng-megamenu.mjs +10 -10
- package/fesm2022/primeng-menu.mjs +13 -13
- package/fesm2022/primeng-menubar.mjs +13 -13
- package/fesm2022/primeng-message.mjs +7 -7
- package/fesm2022/primeng-messages.mjs +7 -7
- package/fesm2022/primeng-multiselect.mjs +10 -10
- package/fesm2022/primeng-orderlist.mjs +7 -7
- package/fesm2022/primeng-organizationchart.mjs +10 -10
- package/fesm2022/primeng-overlay.mjs +7 -7
- package/fesm2022/primeng-overlaypanel.mjs +7 -7
- package/fesm2022/primeng-paginator.mjs +7 -7
- package/fesm2022/primeng-panel.mjs +7 -7
- package/fesm2022/primeng-panelmenu.mjs +13 -13
- package/fesm2022/primeng-password.mjs +13 -13
- package/fesm2022/primeng-picklist.mjs +7 -7
- package/fesm2022/primeng-progressbar.mjs +7 -7
- package/fesm2022/primeng-progressspinner.mjs +7 -7
- package/fesm2022/primeng-radiobutton.mjs +10 -10
- package/fesm2022/primeng-rating.mjs +7 -7
- package/fesm2022/primeng-ripple.mjs +7 -7
- package/fesm2022/primeng-scroller.mjs +7 -7
- package/fesm2022/primeng-scrollpanel.mjs +7 -7
- package/fesm2022/primeng-scrolltop.mjs +7 -7
- package/fesm2022/primeng-selectbutton.mjs +7 -7
- package/fesm2022/primeng-sidebar.mjs +7 -7
- package/fesm2022/primeng-skeleton.mjs +7 -7
- package/fesm2022/primeng-slidemenu.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +7 -7
- package/fesm2022/primeng-speeddial.mjs +7 -7
- package/fesm2022/primeng-spinner.mjs +7 -7
- package/fesm2022/primeng-splitbutton.mjs +7 -7
- package/fesm2022/primeng-splitter.mjs +7 -7
- package/fesm2022/primeng-steps.mjs +7 -7
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-table.mjs +82 -82
- package/fesm2022/primeng-tabmenu.mjs +7 -7
- package/fesm2022/primeng-tabview.mjs +10 -10
- package/fesm2022/primeng-tag.mjs +7 -7
- package/fesm2022/primeng-terminal.mjs +10 -10
- package/fesm2022/primeng-tieredmenu.mjs +10 -10
- package/fesm2022/primeng-timeline.mjs +9 -9
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +10 -10
- package/fesm2022/primeng-togglebutton.mjs +7 -7
- package/fesm2022/primeng-toolbar.mjs +7 -7
- package/fesm2022/primeng-tooltip.mjs +7 -7
- package/fesm2022/primeng-tree.mjs +10 -10
- package/fesm2022/primeng-treeselect.mjs +7 -7
- package/fesm2022/primeng-treetable.mjs +554 -240
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
- package/fesm2022/primeng-virtualscroller.mjs +7 -7
- package/package.json +80 -80
- package/treetable/treetable.d.ts +84 -10
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i2 from '@angular/common';
|
2
2
|
import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { Injectable, EventEmitter, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, ContentChildren, PLATFORM_ID, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
4
|
+
import { Injectable, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, ContentChildren, PLATFORM_ID, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
5
5
|
import * as i1 from 'primeng/api';
|
6
6
|
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
7
7
|
import { DomHandler } from 'primeng/dom';
|
@@ -50,10 +50,10 @@ class TreeTableService {
|
|
50
50
|
onTotalRecordsChange(value) {
|
51
51
|
this.totalRecordsSource.next(value);
|
52
52
|
}
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
54
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
54
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableService });
|
55
55
|
}
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableService, decorators: [{
|
57
57
|
type: Injectable
|
58
58
|
}] });
|
59
59
|
/**
|
@@ -222,7 +222,7 @@ class TreeTable {
|
|
222
222
|
* Defines whether metaKey is should be considered for the selection. On touch enabled devices, metaKeySelection is turned off automatically.
|
223
223
|
* @group Props
|
224
224
|
*/
|
225
|
-
metaKeySelection;
|
225
|
+
metaKeySelection = false;
|
226
226
|
/**
|
227
227
|
* Algorithm to define if a row is selected, valid values are "equals" that compares by reference and "deepEquals" that compares all fields.
|
228
228
|
* @group Props
|
@@ -421,7 +421,17 @@ class TreeTable {
|
|
421
421
|
this._virtualRowHeight = val;
|
422
422
|
console.warn('The virtualRowHeight property is deprecated, use virtualScrollItemSize property instead.');
|
423
423
|
}
|
424
|
-
|
424
|
+
/**
|
425
|
+
* A map of keys to control the selection state.
|
426
|
+
* @group Props
|
427
|
+
*/
|
428
|
+
get selectionKeys() {
|
429
|
+
return this._selectionKeys;
|
430
|
+
}
|
431
|
+
set selectionKeys(value) {
|
432
|
+
this._selectionKeys = value;
|
433
|
+
this.selectionKeysChange.emit(this._selectionKeys);
|
434
|
+
}
|
425
435
|
/**
|
426
436
|
* Callback to invoke on selected node change.
|
427
437
|
* @param {TreeTableNode} object - Node instance.
|
@@ -442,7 +452,7 @@ class TreeTable {
|
|
442
452
|
onFilter = new EventEmitter();
|
443
453
|
/**
|
444
454
|
* Callback to invoke when a node is expanded.
|
445
|
-
* @param {
|
455
|
+
* @param {TreeTableNodeExpandEvent} event - Node expand event.
|
446
456
|
* @group Emits
|
447
457
|
*/
|
448
458
|
onNodeExpand = new EventEmitter();
|
@@ -530,6 +540,12 @@ class TreeTable {
|
|
530
540
|
* @group Emits
|
531
541
|
*/
|
532
542
|
onEditCancel = new EventEmitter();
|
543
|
+
/**
|
544
|
+
* Callback to invoke when selectionKeys are changed.
|
545
|
+
* @param {Object} object - updated value of the selectionKeys.
|
546
|
+
* @group Emits
|
547
|
+
*/
|
548
|
+
selectionKeysChange = new EventEmitter();
|
533
549
|
containerViewChild;
|
534
550
|
resizeHelperViewChild;
|
535
551
|
reorderIndicatorUpViewChild;
|
@@ -539,6 +555,8 @@ class TreeTable {
|
|
539
555
|
scrollableFrozenViewChild;
|
540
556
|
templates;
|
541
557
|
_value = [];
|
558
|
+
_virtualRowHeight = 28;
|
559
|
+
_selectionKeys;
|
542
560
|
serializedValue;
|
543
561
|
_totalRecords = 0;
|
544
562
|
_multiSortMeta;
|
@@ -578,7 +596,7 @@ class TreeTable {
|
|
578
596
|
dropPosition;
|
579
597
|
preventSelectionSetterPropagation;
|
580
598
|
_selection;
|
581
|
-
|
599
|
+
selectedKeys = {};
|
582
600
|
rowTouched;
|
583
601
|
editingCell;
|
584
602
|
editingCellData;
|
@@ -726,7 +744,7 @@ class TreeTable {
|
|
726
744
|
if (simpleChange.selection) {
|
727
745
|
this._selection = simpleChange.selection.currentValue;
|
728
746
|
if (!this.preventSelectionSetterPropagation) {
|
729
|
-
this.
|
747
|
+
this.updateselectedKeys();
|
730
748
|
this.tableService.onSelectionChange();
|
731
749
|
}
|
732
750
|
this.preventSelectionSetterPropagation = false;
|
@@ -775,16 +793,16 @@ class TreeTable {
|
|
775
793
|
}
|
776
794
|
}
|
777
795
|
}
|
778
|
-
|
796
|
+
updateselectedKeys() {
|
779
797
|
if (this.dataKey && this._selection) {
|
780
|
-
this.
|
798
|
+
this.selectedKeys = {};
|
781
799
|
if (Array.isArray(this._selection)) {
|
782
800
|
for (let node of this._selection) {
|
783
|
-
this.
|
801
|
+
this.selectedKeys[String(ObjectUtils.resolveFieldData(node.data, this.dataKey))] = 1;
|
784
802
|
}
|
785
803
|
}
|
786
804
|
else {
|
787
|
-
this.
|
805
|
+
this.selectedKeys[String(ObjectUtils.resolveFieldData(this._selection.data, this.dataKey))] = 1;
|
788
806
|
}
|
789
807
|
}
|
790
808
|
}
|
@@ -1257,7 +1275,7 @@ class TreeTable {
|
|
1257
1275
|
if (selected && metaKey) {
|
1258
1276
|
if (this.isSingleSelectionMode()) {
|
1259
1277
|
this._selection = null;
|
1260
|
-
this.
|
1278
|
+
this.selectedKeys = {};
|
1261
1279
|
this.selectionChange.emit(null);
|
1262
1280
|
}
|
1263
1281
|
else {
|
@@ -1265,7 +1283,7 @@ class TreeTable {
|
|
1265
1283
|
this._selection = this.selection.filter((val, i) => i != selectionIndex);
|
1266
1284
|
this.selectionChange.emit(this.selection);
|
1267
1285
|
if (dataKeyValue) {
|
1268
|
-
delete this.
|
1286
|
+
delete this.selectedKeys[dataKeyValue];
|
1269
1287
|
}
|
1270
1288
|
}
|
1271
1289
|
this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
|
@@ -1275,8 +1293,8 @@ class TreeTable {
|
|
1275
1293
|
this._selection = rowNode.node;
|
1276
1294
|
this.selectionChange.emit(rowNode.node);
|
1277
1295
|
if (dataKeyValue) {
|
1278
|
-
this.
|
1279
|
-
this.
|
1296
|
+
this.selectedKeys = {};
|
1297
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1280
1298
|
}
|
1281
1299
|
}
|
1282
1300
|
else if (this.isMultipleSelectionMode()) {
|
@@ -1285,12 +1303,12 @@ class TreeTable {
|
|
1285
1303
|
}
|
1286
1304
|
else {
|
1287
1305
|
this._selection = [];
|
1288
|
-
this.
|
1306
|
+
this.selectedKeys = {};
|
1289
1307
|
}
|
1290
1308
|
this._selection = [...this.selection, rowNode.node];
|
1291
1309
|
this.selectionChange.emit(this.selection);
|
1292
1310
|
if (dataKeyValue) {
|
1293
|
-
this.
|
1311
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1294
1312
|
}
|
1295
1313
|
}
|
1296
1314
|
this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
|
@@ -1300,7 +1318,7 @@ class TreeTable {
|
|
1300
1318
|
if (this.selectionMode === 'single') {
|
1301
1319
|
if (selected) {
|
1302
1320
|
this._selection = null;
|
1303
|
-
this.
|
1321
|
+
this.selectedKeys = {};
|
1304
1322
|
this.selectionChange.emit(this.selection);
|
1305
1323
|
this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
|
1306
1324
|
}
|
@@ -1309,8 +1327,8 @@ class TreeTable {
|
|
1309
1327
|
this.selectionChange.emit(this.selection);
|
1310
1328
|
this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
|
1311
1329
|
if (dataKeyValue) {
|
1312
|
-
this.
|
1313
|
-
this.
|
1330
|
+
this.selectedKeys = {};
|
1331
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1314
1332
|
}
|
1315
1333
|
}
|
1316
1334
|
}
|
@@ -1321,7 +1339,7 @@ class TreeTable {
|
|
1321
1339
|
this.selectionChange.emit(this.selection);
|
1322
1340
|
this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
|
1323
1341
|
if (dataKeyValue) {
|
1324
|
-
delete this.
|
1342
|
+
delete this.selectedKeys[dataKeyValue];
|
1325
1343
|
}
|
1326
1344
|
}
|
1327
1345
|
else {
|
@@ -1329,7 +1347,7 @@ class TreeTable {
|
|
1329
1347
|
this.selectionChange.emit(this.selection);
|
1330
1348
|
this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
|
1331
1349
|
if (dataKeyValue) {
|
1332
|
-
this.
|
1350
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1333
1351
|
}
|
1334
1352
|
}
|
1335
1353
|
}
|
@@ -1365,7 +1383,7 @@ class TreeTable {
|
|
1365
1383
|
this.selectionChange.emit(this.selection);
|
1366
1384
|
}
|
1367
1385
|
if (dataKeyValue) {
|
1368
|
-
this.
|
1386
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1369
1387
|
}
|
1370
1388
|
}
|
1371
1389
|
this.contextMenu.show(event.originalEvent);
|
@@ -1374,6 +1392,7 @@ class TreeTable {
|
|
1374
1392
|
}
|
1375
1393
|
}
|
1376
1394
|
toggleNodeWithCheckbox(event) {
|
1395
|
+
// legacy selection support, will be removed in v18
|
1377
1396
|
this.selection = this.selection || [];
|
1378
1397
|
this.preventSelectionSetterPropagation = true;
|
1379
1398
|
let node = event.rowNode.node;
|
@@ -1397,25 +1416,40 @@ class TreeTable {
|
|
1397
1416
|
this.tableService.onSelectionChange();
|
1398
1417
|
}
|
1399
1418
|
toggleNodesWithCheckbox(event, check) {
|
1419
|
+
// legacy selection support, will be removed in v18
|
1400
1420
|
let data = this.filteredNodes || this.value;
|
1401
1421
|
this._selection = check && data ? data.slice() : [];
|
1402
|
-
|
1422
|
+
this.toggleAll(check);
|
1423
|
+
if (!check) {
|
1424
|
+
this._selection = [];
|
1425
|
+
this.selectedKeys = {};
|
1426
|
+
}
|
1427
|
+
this.preventSelectionSetterPropagation = true;
|
1428
|
+
this.selectionChange.emit(this._selection);
|
1429
|
+
this.tableService.onSelectionChange();
|
1430
|
+
this.onHeaderCheckboxToggle.emit({ originalEvent: event, checked: check });
|
1431
|
+
}
|
1432
|
+
toggleAll(checked) {
|
1433
|
+
let data = this.filteredNodes || this.value;
|
1434
|
+
if (!this.selectionKeys) {
|
1403
1435
|
if (data && data.length) {
|
1404
1436
|
for (let node of data) {
|
1405
|
-
this.propagateSelectionDown(node,
|
1437
|
+
this.propagateSelectionDown(node, checked);
|
1406
1438
|
}
|
1407
1439
|
}
|
1408
1440
|
}
|
1409
1441
|
else {
|
1410
|
-
|
1411
|
-
|
1442
|
+
// legacy selection support, will be removed in v18
|
1443
|
+
if (data && data.length) {
|
1444
|
+
for (let node of data) {
|
1445
|
+
this.propagateDown(node, checked);
|
1446
|
+
}
|
1447
|
+
this.selectionKeysChange.emit(this.selectionKeys);
|
1448
|
+
}
|
1412
1449
|
}
|
1413
|
-
this.preventSelectionSetterPropagation = true;
|
1414
|
-
this.selectionChange.emit(this._selection);
|
1415
|
-
this.tableService.onSelectionChange();
|
1416
|
-
this.onHeaderCheckboxToggle.emit({ originalEvent: event, checked: check });
|
1417
1450
|
}
|
1418
1451
|
propagateSelectionUp(node, select) {
|
1452
|
+
// legacy selection support, will be removed in v18
|
1419
1453
|
if (node.children && node.children.length) {
|
1420
1454
|
let selectedChildCount = 0;
|
1421
1455
|
let childPartialSelected = false;
|
@@ -1430,7 +1464,7 @@ class TreeTable {
|
|
1430
1464
|
this._selection = [...(this.selection || []), node];
|
1431
1465
|
node.partialSelected = false;
|
1432
1466
|
if (dataKeyValue) {
|
1433
|
-
this.
|
1467
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1434
1468
|
}
|
1435
1469
|
}
|
1436
1470
|
else {
|
@@ -1439,7 +1473,7 @@ class TreeTable {
|
|
1439
1473
|
if (index >= 0) {
|
1440
1474
|
this._selection = this.selection.filter((val, i) => i != index);
|
1441
1475
|
if (dataKeyValue) {
|
1442
|
-
delete this.
|
1476
|
+
delete this.selectedKeys[dataKeyValue];
|
1443
1477
|
}
|
1444
1478
|
}
|
1445
1479
|
}
|
@@ -1450,26 +1484,29 @@ class TreeTable {
|
|
1450
1484
|
}
|
1451
1485
|
}
|
1452
1486
|
let parent = node.parent;
|
1487
|
+
node.checked = select;
|
1453
1488
|
if (parent) {
|
1454
1489
|
this.propagateSelectionUp(parent, select);
|
1455
1490
|
}
|
1456
1491
|
}
|
1457
1492
|
propagateSelectionDown(node, select) {
|
1493
|
+
// legacy selection support, will be removed in v18
|
1458
1494
|
let index = this.findIndexInSelection(node);
|
1459
1495
|
let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(node.data, this.dataKey)) : null;
|
1460
1496
|
if (select && index == -1) {
|
1461
1497
|
this._selection = [...(this.selection || []), node];
|
1462
1498
|
if (dataKeyValue) {
|
1463
|
-
this.
|
1499
|
+
this.selectedKeys[dataKeyValue] = 1;
|
1464
1500
|
}
|
1465
1501
|
}
|
1466
1502
|
else if (!select && index > -1) {
|
1467
1503
|
this._selection = this.selection.filter((val, i) => i != index);
|
1468
1504
|
if (dataKeyValue) {
|
1469
|
-
delete this.
|
1505
|
+
delete this.selectedKeys[dataKeyValue];
|
1470
1506
|
}
|
1471
1507
|
}
|
1472
1508
|
node.partialSelected = false;
|
1509
|
+
node.checked = select;
|
1473
1510
|
if (node.children && node.children.length) {
|
1474
1511
|
for (let child of node.children) {
|
1475
1512
|
this.propagateSelectionDown(child, select);
|
@@ -1477,9 +1514,15 @@ class TreeTable {
|
|
1477
1514
|
}
|
1478
1515
|
}
|
1479
1516
|
isSelected(node) {
|
1517
|
+
// legacy selection support, will be removed in v18
|
1480
1518
|
if (node && this.selection) {
|
1481
1519
|
if (this.dataKey) {
|
1482
|
-
|
1520
|
+
if (node.hasOwnProperty('checked')) {
|
1521
|
+
return node['checked'];
|
1522
|
+
}
|
1523
|
+
else {
|
1524
|
+
return this.selectedKeys[ObjectUtils.resolveFieldData(node.data, this.dataKey)] !== undefined;
|
1525
|
+
}
|
1483
1526
|
}
|
1484
1527
|
else {
|
1485
1528
|
if (Array.isArray(this.selection))
|
@@ -1490,6 +1533,69 @@ class TreeTable {
|
|
1490
1533
|
}
|
1491
1534
|
return false;
|
1492
1535
|
}
|
1536
|
+
isNodeSelected(node) {
|
1537
|
+
return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.checked === true : false;
|
1538
|
+
}
|
1539
|
+
isNodePartialSelected(node) {
|
1540
|
+
return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.partialChecked === true : false;
|
1541
|
+
}
|
1542
|
+
nodeKey(node) {
|
1543
|
+
return ObjectUtils.resolveFieldData(node, this.dataKey) || ObjectUtils.resolveFieldData(node?.data, this.dataKey);
|
1544
|
+
}
|
1545
|
+
toggleCheckbox(event) {
|
1546
|
+
let { rowNode, check, originalEvent } = event;
|
1547
|
+
let node = rowNode.node;
|
1548
|
+
if (this.selectionKeys) {
|
1549
|
+
this.propagateDown(node, check);
|
1550
|
+
if (node.parent) {
|
1551
|
+
this.propagateUp(node.parent, check);
|
1552
|
+
}
|
1553
|
+
this.selectionKeysChange.emit(this.selectionKeys);
|
1554
|
+
}
|
1555
|
+
else {
|
1556
|
+
this.toggleNodeWithCheckbox({ originalEvent, rowNode });
|
1557
|
+
}
|
1558
|
+
this.tableService.onSelectionChange();
|
1559
|
+
}
|
1560
|
+
propagateDown(node, check) {
|
1561
|
+
if (check) {
|
1562
|
+
this.selectionKeys[this.nodeKey(node)] = { checked: true, partialChecked: false };
|
1563
|
+
}
|
1564
|
+
else {
|
1565
|
+
delete this.selectionKeys[this.nodeKey(node)];
|
1566
|
+
}
|
1567
|
+
if (node.children && node.children.length) {
|
1568
|
+
for (let child of node.children) {
|
1569
|
+
this.propagateDown(child, check);
|
1570
|
+
}
|
1571
|
+
}
|
1572
|
+
}
|
1573
|
+
propagateUp(node, check) {
|
1574
|
+
let checkedChildCount = 0;
|
1575
|
+
let childPartialSelected = false;
|
1576
|
+
for (let child of node.children) {
|
1577
|
+
if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].checked)
|
1578
|
+
checkedChildCount++;
|
1579
|
+
else if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].partialChecked)
|
1580
|
+
childPartialSelected = true;
|
1581
|
+
}
|
1582
|
+
if (check && checkedChildCount === node.children.length) {
|
1583
|
+
this.selectionKeys[this.nodeKey(node)] = { checked: true, partialChecked: false };
|
1584
|
+
}
|
1585
|
+
else {
|
1586
|
+
if (!check) {
|
1587
|
+
delete this.selectionKeys[this.nodeKey(node)];
|
1588
|
+
}
|
1589
|
+
if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== node.children.length))
|
1590
|
+
this.selectionKeys[this.nodeKey(node)] = { checked: false, partialChecked: true };
|
1591
|
+
else
|
1592
|
+
this.selectionKeys[this.nodeKey(node)] = { checked: false, partialChecked: false };
|
1593
|
+
}
|
1594
|
+
let parent = node.parent;
|
1595
|
+
if (parent) {
|
1596
|
+
this.propagateUp(parent, check);
|
1597
|
+
}
|
1598
|
+
}
|
1493
1599
|
findIndexInSelection(node) {
|
1494
1600
|
let index = -1;
|
1495
1601
|
if (this.selection && this.selection.length) {
|
@@ -1509,7 +1615,7 @@ class TreeTable {
|
|
1509
1615
|
return this.selectionMode === 'multiple';
|
1510
1616
|
}
|
1511
1617
|
equals(node1, node2) {
|
1512
|
-
return this.compareSelectionBy === 'equals' ? node1
|
1618
|
+
return this.compareSelectionBy === 'equals' ? ObjectUtils.equals(node1, node2) : ObjectUtils.equals(node1.data, node2.data, this.dataKey);
|
1513
1619
|
}
|
1514
1620
|
filter(value, field, matchMode) {
|
1515
1621
|
if (this.filterTimeout) {
|
@@ -1613,6 +1719,7 @@ class TreeTable {
|
|
1613
1719
|
this.totalRecords = this.filteredNodes ? this.filteredNodes.length : this.value ? this.value.length : 0;
|
1614
1720
|
}
|
1615
1721
|
}
|
1722
|
+
this.cd.markForCheck();
|
1616
1723
|
}
|
1617
1724
|
this.first = 0;
|
1618
1725
|
const filteredValue = this.filteredNodes || this.value;
|
@@ -1724,8 +1831,8 @@ class TreeTable {
|
|
1724
1831
|
this.editingCellData = null;
|
1725
1832
|
this.initialized = null;
|
1726
1833
|
}
|
1727
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
1728
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
1834
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTable, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TreeTableService }, { token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Component });
|
1835
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeTable, selector: "p-treeTable", inputs: { columns: "columns", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", autoLayout: ["autoLayout", "autoLayout", booleanAttribute], lazy: ["lazy", "lazy", booleanAttribute], lazyLoadOnInit: ["lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], paginator: ["paginator", "paginator", booleanAttribute], rows: ["rows", "rows", numberAttribute], first: ["first", "first", numberAttribute], pageLinks: ["pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: ["alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: ["showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: ["showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showFirstLastIcon: ["showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: ["showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: ["defaultSortOrder", "defaultSortOrder", numberAttribute], sortMode: "sortMode", resetPageOnSort: ["resetPageOnSort", "resetPageOnSort", booleanAttribute], customSort: ["customSort", "customSort", booleanAttribute], selectionMode: "selectionMode", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], compareSelectionBy: "compareSelectionBy", rowHover: ["rowHover", "rowHover", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: ["showLoader", "showLoader", booleanAttribute], scrollable: ["scrollable", "scrollable", booleanAttribute], scrollHeight: "scrollHeight", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: ["virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", frozenColumns: "frozenColumns", resizableColumns: ["resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: ["reorderableColumns", "reorderableColumns", booleanAttribute], contextMenu: "contextMenu", rowTrackBy: "rowTrackBy", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: ["filterDelay", "filterDelay", numberAttribute], filterMode: "filterMode", filterLocale: "filterLocale", paginatorLocale: "paginatorLocale", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", value: "value", virtualRowHeight: "virtualRowHeight", selectionKeys: "selectionKeys" }, outputs: { selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onFilter: "onFilter", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onPage: "onPage", onSort: "onSort", onLazyLoad: "onLazyLoad", sortFunction: "sortFunction", onColResize: "onColResize", onColReorder: "onColReorder", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onContextMenuSelect: "onContextMenuSelect", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", selectionKeysChange: "selectionKeysChange" }, host: { classAttribute: "p-element" }, providers: [TreeTableService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "scrollableViewChild", first: true, predicate: ["scrollableView"], descendants: true }, { propertyName: "scrollableFrozenViewChild", first: true, predicate: ["scrollableFrozenView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
1729
1836
|
<div
|
1730
1837
|
#container
|
1731
1838
|
[ngStyle]="style"
|
@@ -1794,13 +1901,13 @@ class TreeTable {
|
|
1794
1901
|
</p-paginator>
|
1795
1902
|
|
1796
1903
|
<div class="p-treetable-wrapper" *ngIf="!scrollable">
|
1797
|
-
<table #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
|
1904
|
+
<table role="table" #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
|
1798
1905
|
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
1799
|
-
<thead class="p-treetable-thead">
|
1906
|
+
<thead role="rowgroup" class="p-treetable-thead">
|
1800
1907
|
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: columns }"></ng-container>
|
1801
1908
|
</thead>
|
1802
|
-
<tbody class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="bodyTemplate"></tbody>
|
1803
|
-
<tfoot class="p-treetable-tfoot">
|
1909
|
+
<tbody class="p-treetable-tbody" role="rowgroup" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="bodyTemplate"></tbody>
|
1910
|
+
<tfoot class="p-treetable-tfoot" role="rowgroup">
|
1804
1911
|
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: columns }"></ng-container>
|
1805
1912
|
</tfoot>
|
1806
1913
|
</table>
|
@@ -1873,7 +1980,7 @@ class TreeTable {
|
|
1873
1980
|
</div>
|
1874
1981
|
`, isInline: true, styles: ["@layer primeng{.p-treetable{position:relative}.p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}.p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-icon,.p-treetable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}p-treetabletoggler+p-treetablecheckbox+span{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-header,.p-treetable-scrollable-footer{overflow:hidden}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0 none}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0 none}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper,.p-treetable-flex-scrollable .p-treetable-scrollable-view{display:flex;flex-direction:column;flex:1;height:100%}.p-treetable-flex-scrollable .p-treetable-virtual-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-thead>tr>th,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-tbody>tr>td{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-treetable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-editor-cancel,.p-treetable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-up,.p-treetable-reorder-indicator-down{position:absolute;display:none}[ttReorderableColumn]{cursor:move}.p-treetable .p-treetable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-treetable .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return i3.Paginator; }), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.PrimeTemplate; }), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return SpinnerIcon; }), selector: "SpinnerIcon" }, { kind: "component", type: i0.forwardRef(function () { return ArrowDownIcon; }), selector: "ArrowDownIcon" }, { kind: "component", type: i0.forwardRef(function () { return ArrowUpIcon; }), selector: "ArrowUpIcon" }, { kind: "component", type: i0.forwardRef(function () { return TTScrollableView; }), selector: "[ttScrollableView]", inputs: ["ttScrollableView", "frozen", "scrollHeight"] }, { kind: "component", type: i0.forwardRef(function () { return TTBody; }), selector: "[pTreeTableBody]", inputs: ["pTreeTableBody", "pTreeTableBodyTemplate", "frozen", "serializedNodes", "scrollerOptions"] }], encapsulation: i0.ViewEncapsulation.None });
|
1875
1982
|
}
|
1876
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
1983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTable, decorators: [{
|
1877
1984
|
type: Component,
|
1878
1985
|
args: [{ selector: 'p-treeTable', template: `
|
1879
1986
|
<div
|
@@ -1944,13 +2051,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
1944
2051
|
</p-paginator>
|
1945
2052
|
|
1946
2053
|
<div class="p-treetable-wrapper" *ngIf="!scrollable">
|
1947
|
-
<table #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
|
2054
|
+
<table role="table" #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
|
1948
2055
|
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
1949
|
-
<thead class="p-treetable-thead">
|
2056
|
+
<thead role="rowgroup" class="p-treetable-thead">
|
1950
2057
|
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: columns }"></ng-container>
|
1951
2058
|
</thead>
|
1952
|
-
<tbody class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="bodyTemplate"></tbody>
|
1953
|
-
<tfoot class="p-treetable-tfoot">
|
2059
|
+
<tbody class="p-treetable-tbody" role="rowgroup" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="bodyTemplate"></tbody>
|
2060
|
+
<tfoot class="p-treetable-tfoot" role="rowgroup">
|
1954
2061
|
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: columns }"></ng-container>
|
1955
2062
|
</tfoot>
|
1956
2063
|
</table>
|
@@ -2038,23 +2145,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2038
2145
|
}], tableStyleClass: [{
|
2039
2146
|
type: Input
|
2040
2147
|
}], autoLayout: [{
|
2041
|
-
type: Input
|
2148
|
+
type: Input,
|
2149
|
+
args: [{ transform: booleanAttribute }]
|
2042
2150
|
}], lazy: [{
|
2043
|
-
type: Input
|
2151
|
+
type: Input,
|
2152
|
+
args: [{ transform: booleanAttribute }]
|
2044
2153
|
}], lazyLoadOnInit: [{
|
2045
|
-
type: Input
|
2154
|
+
type: Input,
|
2155
|
+
args: [{ transform: booleanAttribute }]
|
2046
2156
|
}], paginator: [{
|
2047
|
-
type: Input
|
2157
|
+
type: Input,
|
2158
|
+
args: [{ transform: booleanAttribute }]
|
2048
2159
|
}], rows: [{
|
2049
|
-
type: Input
|
2160
|
+
type: Input,
|
2161
|
+
args: [{ transform: numberAttribute }]
|
2050
2162
|
}], first: [{
|
2051
|
-
type: Input
|
2163
|
+
type: Input,
|
2164
|
+
args: [{ transform: numberAttribute }]
|
2052
2165
|
}], pageLinks: [{
|
2053
|
-
type: Input
|
2166
|
+
type: Input,
|
2167
|
+
args: [{ transform: numberAttribute }]
|
2054
2168
|
}], rowsPerPageOptions: [{
|
2055
2169
|
type: Input
|
2056
2170
|
}], alwaysShowPaginator: [{
|
2057
|
-
type: Input
|
2171
|
+
type: Input,
|
2172
|
+
args: [{ transform: booleanAttribute }]
|
2058
2173
|
}], paginatorPosition: [{
|
2059
2174
|
type: Input
|
2060
2175
|
}], paginatorStyleClass: [{
|
@@ -2064,21 +2179,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2064
2179
|
}], currentPageReportTemplate: [{
|
2065
2180
|
type: Input
|
2066
2181
|
}], showCurrentPageReport: [{
|
2067
|
-
type: Input
|
2182
|
+
type: Input,
|
2183
|
+
args: [{ transform: booleanAttribute }]
|
2068
2184
|
}], showJumpToPageDropdown: [{
|
2069
|
-
type: Input
|
2185
|
+
type: Input,
|
2186
|
+
args: [{ transform: booleanAttribute }]
|
2070
2187
|
}], showFirstLastIcon: [{
|
2071
|
-
type: Input
|
2188
|
+
type: Input,
|
2189
|
+
args: [{ transform: booleanAttribute }]
|
2072
2190
|
}], showPageLinks: [{
|
2073
|
-
type: Input
|
2191
|
+
type: Input,
|
2192
|
+
args: [{ transform: booleanAttribute }]
|
2074
2193
|
}], defaultSortOrder: [{
|
2075
|
-
type: Input
|
2194
|
+
type: Input,
|
2195
|
+
args: [{ transform: numberAttribute }]
|
2076
2196
|
}], sortMode: [{
|
2077
2197
|
type: Input
|
2078
2198
|
}], resetPageOnSort: [{
|
2079
|
-
type: Input
|
2199
|
+
type: Input,
|
2200
|
+
args: [{ transform: booleanAttribute }]
|
2080
2201
|
}], customSort: [{
|
2081
|
-
type: Input
|
2202
|
+
type: Input,
|
2203
|
+
args: [{ transform: booleanAttribute }]
|
2082
2204
|
}], selectionMode: [{
|
2083
2205
|
type: Input
|
2084
2206
|
}], contextMenuSelection: [{
|
@@ -2088,39 +2210,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2088
2210
|
}], dataKey: [{
|
2089
2211
|
type: Input
|
2090
2212
|
}], metaKeySelection: [{
|
2091
|
-
type: Input
|
2213
|
+
type: Input,
|
2214
|
+
args: [{ transform: booleanAttribute }]
|
2092
2215
|
}], compareSelectionBy: [{
|
2093
2216
|
type: Input
|
2094
2217
|
}], rowHover: [{
|
2095
|
-
type: Input
|
2218
|
+
type: Input,
|
2219
|
+
args: [{ transform: booleanAttribute }]
|
2096
2220
|
}], loading: [{
|
2097
|
-
type: Input
|
2221
|
+
type: Input,
|
2222
|
+
args: [{ transform: booleanAttribute }]
|
2098
2223
|
}], loadingIcon: [{
|
2099
2224
|
type: Input
|
2100
2225
|
}], showLoader: [{
|
2101
|
-
type: Input
|
2226
|
+
type: Input,
|
2227
|
+
args: [{ transform: booleanAttribute }]
|
2102
2228
|
}], scrollable: [{
|
2103
|
-
type: Input
|
2229
|
+
type: Input,
|
2230
|
+
args: [{ transform: booleanAttribute }]
|
2104
2231
|
}], scrollHeight: [{
|
2105
2232
|
type: Input
|
2106
2233
|
}], virtualScroll: [{
|
2107
|
-
type: Input
|
2234
|
+
type: Input,
|
2235
|
+
args: [{ transform: booleanAttribute }]
|
2108
2236
|
}], virtualScrollItemSize: [{
|
2109
|
-
type: Input
|
2237
|
+
type: Input,
|
2238
|
+
args: [{ transform: numberAttribute }]
|
2110
2239
|
}], virtualScrollOptions: [{
|
2111
2240
|
type: Input
|
2112
2241
|
}], virtualScrollDelay: [{
|
2113
|
-
type: Input
|
2242
|
+
type: Input,
|
2243
|
+
args: [{ transform: numberAttribute }]
|
2114
2244
|
}], frozenWidth: [{
|
2115
2245
|
type: Input
|
2116
2246
|
}], frozenColumns: [{
|
2117
2247
|
type: Input
|
2118
2248
|
}], resizableColumns: [{
|
2119
|
-
type: Input
|
2249
|
+
type: Input,
|
2250
|
+
args: [{ transform: booleanAttribute }]
|
2120
2251
|
}], columnResizeMode: [{
|
2121
2252
|
type: Input
|
2122
2253
|
}], reorderableColumns: [{
|
2123
|
-
type: Input
|
2254
|
+
type: Input,
|
2255
|
+
args: [{ transform: booleanAttribute }]
|
2124
2256
|
}], contextMenu: [{
|
2125
2257
|
type: Input
|
2126
2258
|
}], rowTrackBy: [{
|
@@ -2130,7 +2262,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2130
2262
|
}], globalFilterFields: [{
|
2131
2263
|
type: Input
|
2132
2264
|
}], filterDelay: [{
|
2133
|
-
type: Input
|
2265
|
+
type: Input,
|
2266
|
+
args: [{ transform: numberAttribute }]
|
2134
2267
|
}], filterMode: [{
|
2135
2268
|
type: Input
|
2136
2269
|
}], filterLocale: [{
|
@@ -2151,6 +2284,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2151
2284
|
type: Input
|
2152
2285
|
}], virtualRowHeight: [{
|
2153
2286
|
type: Input
|
2287
|
+
}], selectionKeys: [{
|
2288
|
+
type: Input
|
2154
2289
|
}], selectionChange: [{
|
2155
2290
|
type: Output
|
2156
2291
|
}], contextMenuSelectionChange: [{
|
@@ -2187,6 +2322,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2187
2322
|
type: Output
|
2188
2323
|
}], onEditCancel: [{
|
2189
2324
|
type: Output
|
2325
|
+
}], selectionKeysChange: [{
|
2326
|
+
type: Output
|
2190
2327
|
}], containerViewChild: [{
|
2191
2328
|
type: ViewChild,
|
2192
2329
|
args: ['container']
|
@@ -2248,8 +2385,8 @@ class TTBody {
|
|
2248
2385
|
this.subscription.unsubscribe();
|
2249
2386
|
}
|
2250
2387
|
}
|
2251
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2252
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
2388
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTBody, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
2389
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TTBody, selector: "[pTreeTableBody]", inputs: { columns: ["pTreeTableBody", "columns"], template: ["pTreeTableBodyTemplate", "template"], frozen: ["frozen", "frozen", booleanAttribute], serializedNodes: "serializedNodes", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
2253
2390
|
<ng-template ngFor let-serializedNode let-rowIndex="index" [ngForOf]="serializedNodes || tt.serializedValue" [ngForTrackBy]="tt.rowTrackBy">
|
2254
2391
|
<ng-container *ngIf="serializedNode.visible">
|
2255
2392
|
<ng-container *ngTemplateOutlet="template; context: { $implicit: serializedNode, node: serializedNode.node, rowData: serializedNode.node.data, columns: columns }"></ng-container>
|
@@ -2260,7 +2397,7 @@ class TTBody {
|
|
2260
2397
|
</ng-container>
|
2261
2398
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
2262
2399
|
}
|
2263
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
2400
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTBody, decorators: [{
|
2264
2401
|
type: Component,
|
2265
2402
|
args: [{
|
2266
2403
|
selector: '[pTreeTableBody]',
|
@@ -2286,7 +2423,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2286
2423
|
type: Input,
|
2287
2424
|
args: ['pTreeTableBodyTemplate']
|
2288
2425
|
}], frozen: [{
|
2289
|
-
type: Input
|
2426
|
+
type: Input,
|
2427
|
+
args: [{ transform: booleanAttribute }]
|
2290
2428
|
}], serializedNodes: [{
|
2291
2429
|
type: Input
|
2292
2430
|
}], scrollerOptions: [{
|
@@ -2333,29 +2471,31 @@ class TTScrollableView {
|
|
2333
2471
|
this.zone = zone;
|
2334
2472
|
}
|
2335
2473
|
ngAfterViewInit() {
|
2336
|
-
if (
|
2337
|
-
if (this.
|
2338
|
-
|
2339
|
-
|
2340
|
-
|
2341
|
-
|
2342
|
-
if (
|
2343
|
-
this.
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2347
|
-
|
2348
|
-
|
2349
|
-
|
2350
|
-
this.scrollFooterBoxViewChild.nativeElement
|
2474
|
+
if (isPlatformBrowser(this.platformId)) {
|
2475
|
+
if (!this.frozen) {
|
2476
|
+
if (this.tt.frozenColumns || this.tt.frozenBodyTemplate) {
|
2477
|
+
DomHandler.addClass(this.el.nativeElement, 'p-treetable-unfrozen-view');
|
2478
|
+
}
|
2479
|
+
let frozenView = this.el.nativeElement.previousElementSibling;
|
2480
|
+
if (frozenView) {
|
2481
|
+
if (this.tt.virtualScroll)
|
2482
|
+
this.frozenSiblingBody = DomHandler.findSingle(frozenView, '.p-scroller-viewport');
|
2483
|
+
else
|
2484
|
+
this.frozenSiblingBody = DomHandler.findSingle(frozenView, '.p-treetable-scrollable-body');
|
2485
|
+
}
|
2486
|
+
let scrollBarWidth = DomHandler.calculateScrollbarWidth();
|
2487
|
+
this.scrollHeaderBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';
|
2488
|
+
if (this.scrollFooterBoxViewChild && this.scrollFooterBoxViewChild.nativeElement) {
|
2489
|
+
this.scrollFooterBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';
|
2490
|
+
}
|
2351
2491
|
}
|
2352
|
-
|
2353
|
-
|
2354
|
-
|
2355
|
-
|
2492
|
+
else {
|
2493
|
+
if (this.scrollableAlignerViewChild && this.scrollableAlignerViewChild.nativeElement) {
|
2494
|
+
this.scrollableAlignerViewChild.nativeElement.style.height = DomHandler.calculateScrollbarHeight() + 'px';
|
2495
|
+
}
|
2356
2496
|
}
|
2497
|
+
this.bindEvents();
|
2357
2498
|
}
|
2358
|
-
this.bindEvents();
|
2359
2499
|
}
|
2360
2500
|
bindEvents() {
|
2361
2501
|
if (isPlatformBrowser(this.platformId)) {
|
@@ -2459,13 +2599,13 @@ class TTScrollableView {
|
|
2459
2599
|
this.unbindEvents();
|
2460
2600
|
this.frozenSiblingBody = null;
|
2461
2601
|
}
|
2462
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2463
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
2602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTScrollableView, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
2603
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TTScrollableView, selector: "[ttScrollableView]", inputs: { columns: ["ttScrollableView", "columns"], frozen: ["frozen", "frozen", booleanAttribute], scrollHeight: "scrollHeight" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "scrollHeaderViewChild", first: true, predicate: ["scrollHeader"], descendants: true }, { propertyName: "scrollHeaderBoxViewChild", first: true, predicate: ["scrollHeaderBox"], descendants: true }, { propertyName: "scrollBodyViewChild", first: true, predicate: ["scrollBody"], descendants: true }, { propertyName: "scrollTableViewChild", first: true, predicate: ["scrollTable"], descendants: true }, { propertyName: "scrollLoadingTableViewChild", first: true, predicate: ["loadingTable"], descendants: true }, { propertyName: "scrollFooterViewChild", first: true, predicate: ["scrollFooter"], descendants: true }, { propertyName: "scrollFooterBoxViewChild", first: true, predicate: ["scrollFooterBox"], descendants: true }, { propertyName: "scrollableAlignerViewChild", first: true, predicate: ["scrollableAligner"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], ngImport: i0, template: `
|
2464
2604
|
<div #scrollHeader class="p-treetable-scrollable-header">
|
2465
2605
|
<div #scrollHeaderBox class="p-treetable-scrollable-header-box">
|
2466
2606
|
<table class="p-treetable-scrollable-header-table" [ngClass]="tt.tableStyleClass" [ngStyle]="tt.tableStyle">
|
2467
2607
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2468
|
-
<thead class="p-treetable-thead">
|
2608
|
+
<thead role="rowgroup" class="p-treetable-thead">
|
2469
2609
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenHeaderTemplate || tt.headerTemplate : tt.headerTemplate; context: { $implicit: columns }"></ng-container>
|
2470
2610
|
</thead>
|
2471
2611
|
</table>
|
@@ -2500,9 +2640,9 @@ class TTScrollableView {
|
|
2500
2640
|
</ng-container>
|
2501
2641
|
|
2502
2642
|
<ng-template #buildInItems let-items let-scrollerOptions="options">
|
2503
|
-
<table #scrollTable [class]="tt.tableStyleClass" [ngClass]="scrollerOptions.contentStyleClass" [ngStyle]="tt.tableStyle" [style]="scrollerOptions.contentStyle">
|
2643
|
+
<table role="table" #scrollTable [class]="tt.tableStyleClass" [ngClass]="scrollerOptions.contentStyleClass" [ngStyle]="tt.tableStyle" [style]="scrollerOptions.contentStyle">
|
2504
2644
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2505
|
-
<tbody class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="frozen ? tt.frozenBodyTemplate || tt.bodyTemplate : tt.bodyTemplate" [serializedNodes]="items" [frozen]="frozen"></tbody>
|
2645
|
+
<tbody role="rowgroup" class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="frozen ? tt.frozenBodyTemplate || tt.bodyTemplate : tt.bodyTemplate" [serializedNodes]="items" [frozen]="frozen"></tbody>
|
2506
2646
|
</table>
|
2507
2647
|
<div #scrollableAligner style="background-color:transparent" *ngIf="frozen"></div>
|
2508
2648
|
</ng-template>
|
@@ -2511,7 +2651,7 @@ class TTScrollableView {
|
|
2511
2651
|
<div #scrollFooterBox class="p-treetable-scrollable-footer-box">
|
2512
2652
|
<table class="p-treetable-scrollable-footer-table" [ngClass]="tt.tableStyleClass" [ngStyle]="tt.tableStyle">
|
2513
2653
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2514
|
-
<tfoot class="p-treetable-tfoot">
|
2654
|
+
<tfoot role="rowgroup" class="p-treetable-tfoot">
|
2515
2655
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenFooterTemplate || tt.footerTemplate : tt.footerTemplate; context: { $implicit: columns }"></ng-container>
|
2516
2656
|
</tfoot>
|
2517
2657
|
</table>
|
@@ -2519,7 +2659,7 @@ class TTScrollableView {
|
|
2519
2659
|
</div>
|
2520
2660
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: TTBody, selector: "[pTreeTableBody]", inputs: ["pTreeTableBody", "pTreeTableBodyTemplate", "frozen", "serializedNodes", "scrollerOptions"] }], encapsulation: i0.ViewEncapsulation.None });
|
2521
2661
|
}
|
2522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
2662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTScrollableView, decorators: [{
|
2523
2663
|
type: Component,
|
2524
2664
|
args: [{
|
2525
2665
|
selector: '[ttScrollableView]',
|
@@ -2528,7 +2668,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2528
2668
|
<div #scrollHeaderBox class="p-treetable-scrollable-header-box">
|
2529
2669
|
<table class="p-treetable-scrollable-header-table" [ngClass]="tt.tableStyleClass" [ngStyle]="tt.tableStyle">
|
2530
2670
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2531
|
-
<thead class="p-treetable-thead">
|
2671
|
+
<thead role="rowgroup" class="p-treetable-thead">
|
2532
2672
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenHeaderTemplate || tt.headerTemplate : tt.headerTemplate; context: { $implicit: columns }"></ng-container>
|
2533
2673
|
</thead>
|
2534
2674
|
</table>
|
@@ -2563,9 +2703,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2563
2703
|
</ng-container>
|
2564
2704
|
|
2565
2705
|
<ng-template #buildInItems let-items let-scrollerOptions="options">
|
2566
|
-
<table #scrollTable [class]="tt.tableStyleClass" [ngClass]="scrollerOptions.contentStyleClass" [ngStyle]="tt.tableStyle" [style]="scrollerOptions.contentStyle">
|
2706
|
+
<table role="table" #scrollTable [class]="tt.tableStyleClass" [ngClass]="scrollerOptions.contentStyleClass" [ngStyle]="tt.tableStyle" [style]="scrollerOptions.contentStyle">
|
2567
2707
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2568
|
-
<tbody class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="frozen ? tt.frozenBodyTemplate || tt.bodyTemplate : tt.bodyTemplate" [serializedNodes]="items" [frozen]="frozen"></tbody>
|
2708
|
+
<tbody role="rowgroup" class="p-treetable-tbody" [pTreeTableBody]="columns" [pTreeTableBodyTemplate]="frozen ? tt.frozenBodyTemplate || tt.bodyTemplate : tt.bodyTemplate" [serializedNodes]="items" [frozen]="frozen"></tbody>
|
2569
2709
|
</table>
|
2570
2710
|
<div #scrollableAligner style="background-color:transparent" *ngIf="frozen"></div>
|
2571
2711
|
</ng-template>
|
@@ -2574,7 +2714,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2574
2714
|
<div #scrollFooterBox class="p-treetable-scrollable-footer-box">
|
2575
2715
|
<table class="p-treetable-scrollable-footer-table" [ngClass]="tt.tableStyleClass" [ngStyle]="tt.tableStyle">
|
2576
2716
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenColGroupTemplate || tt.colGroupTemplate : tt.colGroupTemplate; context: { $implicit: columns }"></ng-container>
|
2577
|
-
<tfoot class="p-treetable-tfoot">
|
2717
|
+
<tfoot role="rowgroup" class="p-treetable-tfoot">
|
2578
2718
|
<ng-container *ngTemplateOutlet="frozen ? tt.frozenFooterTemplate || tt.footerTemplate : tt.footerTemplate; context: { $implicit: columns }"></ng-container>
|
2579
2719
|
</tfoot>
|
2580
2720
|
</table>
|
@@ -2593,7 +2733,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2593
2733
|
type: Input,
|
2594
2734
|
args: ['ttScrollableView']
|
2595
2735
|
}], frozen: [{
|
2596
|
-
type: Input
|
2736
|
+
type: Input,
|
2737
|
+
args: [{ transform: booleanAttribute }]
|
2597
2738
|
}], scrollHeaderViewChild: [{
|
2598
2739
|
type: ViewChild,
|
2599
2740
|
args: ['scrollHeader']
|
@@ -2630,6 +2771,14 @@ class TTSortableColumn {
|
|
2630
2771
|
ttSortableColumnDisabled;
|
2631
2772
|
sorted;
|
2632
2773
|
subscription;
|
2774
|
+
get ariaSorted() {
|
2775
|
+
if (this.sorted && this.tt.sortOrder < 0)
|
2776
|
+
return 'descending';
|
2777
|
+
else if (this.sorted && this.tt.sortOrder > 0)
|
2778
|
+
return 'ascending';
|
2779
|
+
else
|
2780
|
+
return 'none';
|
2781
|
+
}
|
2633
2782
|
constructor(tt) {
|
2634
2783
|
this.tt = tt;
|
2635
2784
|
if (this.isEnabled()) {
|
@@ -2667,10 +2816,10 @@ class TTSortableColumn {
|
|
2667
2816
|
this.subscription.unsubscribe();
|
2668
2817
|
}
|
2669
2818
|
}
|
2670
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2671
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
2819
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSortableColumn, deps: [{ token: TreeTable }], target: i0.ɵɵFactoryTarget.Directive });
|
2820
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTSortableColumn, selector: "[ttSortableColumn]", inputs: { field: ["ttSortableColumn", "field"], ttSortableColumnDisabled: ["ttSortableColumnDisabled", "ttSortableColumnDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class.p-sortable-column": "isEnabled()", "class.p-highlight": "sorted", "attr.tabindex": "isEnabled() ? \"0\" : null", "attr.role": "\"columnheader\"", "attr.aria-sort": "ariaSorted" }, classAttribute: "p-element" }, ngImport: i0 });
|
2672
2821
|
}
|
2673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
2822
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSortableColumn, decorators: [{
|
2674
2823
|
type: Directive,
|
2675
2824
|
args: [{
|
2676
2825
|
selector: '[ttSortableColumn]',
|
@@ -2679,14 +2828,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2679
2828
|
'[class.p-sortable-column]': 'isEnabled()',
|
2680
2829
|
'[class.p-highlight]': 'sorted',
|
2681
2830
|
'[attr.tabindex]': 'isEnabled() ? "0" : null',
|
2682
|
-
'[attr.role]': '"columnheader"'
|
2831
|
+
'[attr.role]': '"columnheader"',
|
2832
|
+
'[attr.aria-sort]': 'ariaSorted'
|
2683
2833
|
}
|
2684
2834
|
}]
|
2685
2835
|
}], ctorParameters: function () { return [{ type: TreeTable }]; }, propDecorators: { field: [{
|
2686
2836
|
type: Input,
|
2687
2837
|
args: ['ttSortableColumn']
|
2688
2838
|
}], ttSortableColumnDisabled: [{
|
2689
|
-
type: Input
|
2839
|
+
type: Input,
|
2840
|
+
args: [{ transform: booleanAttribute }]
|
2690
2841
|
}], onClick: [{
|
2691
2842
|
type: HostListener,
|
2692
2843
|
args: ['click', ['$event']]
|
@@ -2730,8 +2881,8 @@ class TTSortIcon {
|
|
2730
2881
|
this.subscription.unsubscribe();
|
2731
2882
|
}
|
2732
2883
|
}
|
2733
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2734
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
2884
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSortIcon, deps: [{ token: TreeTable }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
2885
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TTSortIcon, selector: "p-treeTableSortIcon", inputs: { field: "field", ariaLabelDesc: "ariaLabelDesc", ariaLabelAsc: "ariaLabelAsc" }, host: { classAttribute: "p-element" }, ngImport: i0, template: ` <ng-container *ngIf="!tt.sortIconTemplate">
|
2735
2886
|
<SortAltIcon [styleClass]="'p-sortable-column-icon'" *ngIf="sortOrder === 0" />
|
2736
2887
|
<SortAmountUpAltIcon [styleClass]="'p-sortable-column-icon'" *ngIf="sortOrder === 1" />
|
2737
2888
|
<SortAmountDownIcon [styleClass]="'p-sortable-column-icon'" *ngIf="sortOrder === -1" />
|
@@ -2740,7 +2891,7 @@ class TTSortIcon {
|
|
2740
2891
|
<ng-template *ngTemplateOutlet="tt.sortIconTemplate; context: { $implicit: sortOrder }"></ng-template>
|
2741
2892
|
</span>`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return SortAltIcon; }), selector: "SortAltIcon" }, { kind: "component", type: i0.forwardRef(function () { return SortAmountUpAltIcon; }), selector: "SortAmountUpAltIcon" }, { kind: "component", type: i0.forwardRef(function () { return SortAmountDownIcon; }), selector: "SortAmountDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
2742
2893
|
}
|
2743
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
2894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSortIcon, decorators: [{
|
2744
2895
|
type: Component,
|
2745
2896
|
args: [{
|
2746
2897
|
selector: 'p-treeTableSortIcon',
|
@@ -2835,10 +2986,10 @@ class TTResizableColumn {
|
|
2835
2986
|
}
|
2836
2987
|
this.unbindDocumentEvents();
|
2837
2988
|
}
|
2838
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2839
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
2989
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
2990
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTResizableColumn, selector: "[ttResizableColumn]", inputs: { ttResizableColumnDisabled: ["ttResizableColumnDisabled", "ttResizableColumnDisabled", booleanAttribute] }, host: { classAttribute: "p-element" }, ngImport: i0 });
|
2840
2991
|
}
|
2841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
2992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTResizableColumn, decorators: [{
|
2842
2993
|
type: Directive,
|
2843
2994
|
args: [{
|
2844
2995
|
selector: '[ttResizableColumn]',
|
@@ -2853,7 +3004,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2853
3004
|
type: Inject,
|
2854
3005
|
args: [PLATFORM_ID]
|
2855
3006
|
}] }, { type: i0.Renderer2 }, { type: TreeTable }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { ttResizableColumnDisabled: [{
|
2856
|
-
type: Input
|
3007
|
+
type: Input,
|
3008
|
+
args: [{ transform: booleanAttribute }]
|
2857
3009
|
}] } });
|
2858
3010
|
class TTReorderableColumn {
|
2859
3011
|
document;
|
@@ -2941,10 +3093,10 @@ class TTReorderableColumn {
|
|
2941
3093
|
ngOnDestroy() {
|
2942
3094
|
this.unbindEvents();
|
2943
3095
|
}
|
2944
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
2945
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3096
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTReorderableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
3097
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTReorderableColumn, selector: "[ttReorderableColumn]", inputs: { ttReorderableColumnDisabled: ["ttReorderableColumnDisabled", "ttReorderableColumnDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
|
2946
3098
|
}
|
2947
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3099
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTReorderableColumn, decorators: [{
|
2948
3100
|
type: Directive,
|
2949
3101
|
args: [{
|
2950
3102
|
selector: '[ttReorderableColumn]',
|
@@ -2959,7 +3111,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
2959
3111
|
type: Inject,
|
2960
3112
|
args: [PLATFORM_ID]
|
2961
3113
|
}] }, { type: i0.Renderer2 }, { type: TreeTable }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { ttReorderableColumnDisabled: [{
|
2962
|
-
type: Input
|
3114
|
+
type: Input,
|
3115
|
+
args: [{ transform: booleanAttribute }]
|
2963
3116
|
}], onDrop: [{
|
2964
3117
|
type: HostListener,
|
2965
3118
|
args: ['drop', ['$event']]
|
@@ -2993,9 +3146,14 @@ class TTSelectableRow {
|
|
2993
3146
|
});
|
2994
3147
|
}
|
2995
3148
|
}
|
2996
|
-
|
2997
|
-
|
2998
|
-
|
3149
|
+
onKeyDown(event) {
|
3150
|
+
switch (event.code) {
|
3151
|
+
case 'Enter':
|
3152
|
+
case 'Space':
|
3153
|
+
this.onEnterKey(event);
|
3154
|
+
break;
|
3155
|
+
default:
|
3156
|
+
break;
|
2999
3157
|
}
|
3000
3158
|
}
|
3001
3159
|
onTouchEnd(event) {
|
@@ -3003,6 +3161,18 @@ class TTSelectableRow {
|
|
3003
3161
|
this.tt.handleRowTouchEnd(event);
|
3004
3162
|
}
|
3005
3163
|
}
|
3164
|
+
onEnterKey(event) {
|
3165
|
+
if (this.tt.selectionMode === 'checkbox') {
|
3166
|
+
this.tt.toggleNodeWithCheckbox({
|
3167
|
+
originalEvent: event,
|
3168
|
+
rowNode: this.rowNode
|
3169
|
+
});
|
3170
|
+
}
|
3171
|
+
else {
|
3172
|
+
this.onClick(event);
|
3173
|
+
}
|
3174
|
+
event.preventDefault();
|
3175
|
+
}
|
3006
3176
|
isEnabled() {
|
3007
3177
|
return this.ttSelectableRowDisabled !== true;
|
3008
3178
|
}
|
@@ -3011,27 +3181,30 @@ class TTSelectableRow {
|
|
3011
3181
|
this.subscription.unsubscribe();
|
3012
3182
|
}
|
3013
3183
|
}
|
3014
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3015
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSelectableRow, deps: [{ token: TreeTable }, { token: TreeTableService }], target: i0.ɵɵFactoryTarget.Directive });
|
3185
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTSelectableRow, selector: "[ttSelectableRow]", inputs: { rowNode: ["ttSelectableRow", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.p-highlight": "selected", "attr.data-p-highlight": "selected", "attr.aria-checked": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
|
3016
3186
|
}
|
3017
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSelectableRow, decorators: [{
|
3018
3188
|
type: Directive,
|
3019
3189
|
args: [{
|
3020
3190
|
selector: '[ttSelectableRow]',
|
3021
3191
|
host: {
|
3022
3192
|
class: 'p-element',
|
3023
|
-
'[class.p-highlight]': 'selected'
|
3193
|
+
'[class.p-highlight]': 'selected',
|
3194
|
+
'[attr.data-p-highlight]': 'selected',
|
3195
|
+
'[attr.aria-checked]': 'selected'
|
3024
3196
|
}
|
3025
3197
|
}]
|
3026
3198
|
}], ctorParameters: function () { return [{ type: TreeTable }, { type: TreeTableService }]; }, propDecorators: { rowNode: [{
|
3027
3199
|
type: Input,
|
3028
3200
|
args: ['ttSelectableRow']
|
3029
3201
|
}], ttSelectableRowDisabled: [{
|
3030
|
-
type: Input
|
3202
|
+
type: Input,
|
3203
|
+
args: [{ transform: booleanAttribute }]
|
3031
3204
|
}], onClick: [{
|
3032
3205
|
type: HostListener,
|
3033
3206
|
args: ['click', ['$event']]
|
3034
|
-
}],
|
3207
|
+
}], onKeyDown: [{
|
3035
3208
|
type: HostListener,
|
3036
3209
|
args: ['keydown', ['$event']]
|
3037
3210
|
}], onTouchEnd: [{
|
@@ -3075,10 +3248,10 @@ class TTSelectableRowDblClick {
|
|
3075
3248
|
this.subscription.unsubscribe();
|
3076
3249
|
}
|
3077
3250
|
}
|
3078
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3079
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSelectableRowDblClick, deps: [{ token: TreeTable }, { token: TreeTableService }], target: i0.ɵɵFactoryTarget.Directive });
|
3252
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTSelectableRowDblClick, selector: "[ttSelectableRowDblClick]", inputs: { rowNode: ["ttSelectableRowDblClick", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.p-highlight": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
|
3080
3253
|
}
|
3081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTSelectableRowDblClick, decorators: [{
|
3082
3255
|
type: Directive,
|
3083
3256
|
args: [{
|
3084
3257
|
selector: '[ttSelectableRowDblClick]',
|
@@ -3091,7 +3264,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3091
3264
|
type: Input,
|
3092
3265
|
args: ['ttSelectableRowDblClick']
|
3093
3266
|
}], ttSelectableRowDisabled: [{
|
3094
|
-
type: Input
|
3267
|
+
type: Input,
|
3268
|
+
args: [{ transform: booleanAttribute }]
|
3095
3269
|
}], onClick: [{
|
3096
3270
|
type: HostListener,
|
3097
3271
|
args: ['dblclick', ['$event']]
|
@@ -3132,10 +3306,10 @@ class TTContextMenuRow {
|
|
3132
3306
|
this.subscription.unsubscribe();
|
3133
3307
|
}
|
3134
3308
|
}
|
3135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3136
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTContextMenuRow, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
3310
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTContextMenuRow, selector: "[ttContextMenuRow]", inputs: { rowNode: ["ttContextMenuRow", "rowNode"], ttContextMenuRowDisabled: ["ttContextMenuRowDisabled", "ttContextMenuRowDisabled", booleanAttribute] }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.p-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
|
3137
3311
|
}
|
3138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTContextMenuRow, decorators: [{
|
3139
3313
|
type: Directive,
|
3140
3314
|
args: [{
|
3141
3315
|
selector: '[ttContextMenuRow]',
|
@@ -3149,7 +3323,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3149
3323
|
type: Input,
|
3150
3324
|
args: ['ttContextMenuRow']
|
3151
3325
|
}], ttContextMenuRowDisabled: [{
|
3152
|
-
type: Input
|
3326
|
+
type: Input,
|
3327
|
+
args: [{ transform: booleanAttribute }]
|
3153
3328
|
}], onContextMenu: [{
|
3154
3329
|
type: HostListener,
|
3155
3330
|
args: ['contextmenu', ['$event']]
|
@@ -3161,6 +3336,7 @@ class TTCheckbox {
|
|
3161
3336
|
disabled;
|
3162
3337
|
rowNode;
|
3163
3338
|
checked;
|
3339
|
+
partialChecked;
|
3164
3340
|
focused;
|
3165
3341
|
subscription;
|
3166
3342
|
constructor(tt, tableService, cd) {
|
@@ -3168,19 +3344,44 @@ class TTCheckbox {
|
|
3168
3344
|
this.tableService = tableService;
|
3169
3345
|
this.cd = cd;
|
3170
3346
|
this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {
|
3171
|
-
|
3347
|
+
if (this.tt.selectionKeys) {
|
3348
|
+
this.checked = this.tt.isNodeSelected(this.rowNode.node);
|
3349
|
+
this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);
|
3350
|
+
}
|
3351
|
+
else {
|
3352
|
+
this.checked = this.tt.isSelected(this.rowNode.node);
|
3353
|
+
this.partialChecked = this.rowNode.node.partialSelected;
|
3354
|
+
}
|
3172
3355
|
this.cd.markForCheck();
|
3173
3356
|
});
|
3174
3357
|
}
|
3175
3358
|
ngOnInit() {
|
3176
|
-
|
3359
|
+
if (this.tt.selectionKeys) {
|
3360
|
+
this.checked = this.tt.isNodeSelected(this.rowNode.node);
|
3361
|
+
this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);
|
3362
|
+
}
|
3363
|
+
else {
|
3364
|
+
// for backward compatibility
|
3365
|
+
this.checked = this.tt.isSelected(this.rowNode.node);
|
3366
|
+
this.partialChecked = this.rowNode.node.partialSelected;
|
3367
|
+
}
|
3177
3368
|
}
|
3178
3369
|
onClick(event) {
|
3179
3370
|
if (!this.disabled) {
|
3180
|
-
this.tt.
|
3181
|
-
|
3182
|
-
|
3183
|
-
|
3371
|
+
if (this.tt.selectionKeys) {
|
3372
|
+
const _check = !this.checked;
|
3373
|
+
this.tt.toggleCheckbox({
|
3374
|
+
originalEvent: event,
|
3375
|
+
check: _check,
|
3376
|
+
rowNode: this.rowNode
|
3377
|
+
});
|
3378
|
+
}
|
3379
|
+
else {
|
3380
|
+
this.tt.toggleNodeWithCheckbox({
|
3381
|
+
originalEvent: event,
|
3382
|
+
rowNode: this.rowNode
|
3383
|
+
});
|
3384
|
+
}
|
3184
3385
|
}
|
3185
3386
|
DomHandler.clearSelection();
|
3186
3387
|
}
|
@@ -3195,40 +3396,40 @@ class TTCheckbox {
|
|
3195
3396
|
this.subscription.unsubscribe();
|
3196
3397
|
}
|
3197
3398
|
}
|
3198
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
3399
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTCheckbox, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
3400
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TTCheckbox, selector: "p-treeTableCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], rowNode: ["value", "rowNode"] }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
3200
3401
|
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused }" (click)="onClick($event)">
|
3201
3402
|
<div class="p-hidden-accessible">
|
3202
|
-
<input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" />
|
3403
|
+
<input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" tabindex="-1" />
|
3203
3404
|
</div>
|
3204
|
-
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate':
|
3405
|
+
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': partialChecked, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
3205
3406
|
<ng-container *ngIf="!tt.checkboxIconTemplate">
|
3206
3407
|
<CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
|
3207
|
-
<MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="
|
3408
|
+
<MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="partialChecked" />
|
3208
3409
|
</ng-container>
|
3209
3410
|
<span *ngIf="tt.checkboxIconTemplate">
|
3210
|
-
<ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected:
|
3411
|
+
<ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: partialChecked }"></ng-template>
|
3211
3412
|
</span>
|
3212
3413
|
</div>
|
3213
3414
|
</div>
|
3214
3415
|
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }, { kind: "component", type: i0.forwardRef(function () { return MinusIcon; }), selector: "MinusIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
3215
3416
|
}
|
3216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTCheckbox, decorators: [{
|
3217
3418
|
type: Component,
|
3218
3419
|
args: [{
|
3219
3420
|
selector: 'p-treeTableCheckbox',
|
3220
3421
|
template: `
|
3221
3422
|
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused }" (click)="onClick($event)">
|
3222
3423
|
<div class="p-hidden-accessible">
|
3223
|
-
<input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" />
|
3424
|
+
<input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" tabindex="-1" />
|
3224
3425
|
</div>
|
3225
|
-
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate':
|
3426
|
+
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': partialChecked, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
3226
3427
|
<ng-container *ngIf="!tt.checkboxIconTemplate">
|
3227
3428
|
<CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
|
3228
|
-
<MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="
|
3429
|
+
<MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="partialChecked" />
|
3229
3430
|
</ng-container>
|
3230
3431
|
<span *ngIf="tt.checkboxIconTemplate">
|
3231
|
-
<ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected:
|
3432
|
+
<ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: partialChecked }"></ng-template>
|
3232
3433
|
</span>
|
3233
3434
|
</div>
|
3234
3435
|
</div>
|
@@ -3240,7 +3441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3240
3441
|
}
|
3241
3442
|
}]
|
3242
3443
|
}], ctorParameters: function () { return [{ type: TreeTable }, { type: TreeTableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
3243
|
-
type: Input
|
3444
|
+
type: Input,
|
3445
|
+
args: [{ transform: booleanAttribute }]
|
3244
3446
|
}], rowNode: [{
|
3245
3447
|
type: Input,
|
3246
3448
|
args: ['value']
|
@@ -3270,7 +3472,7 @@ class TTHeaderCheckbox {
|
|
3270
3472
|
this.checked = this.updateCheckedState();
|
3271
3473
|
}
|
3272
3474
|
onClick(event, checked) {
|
3273
|
-
if (this.tt.value && this.tt.value.length > 0) {
|
3475
|
+
if ((this.tt.value || this.tt.filteredNodes) && (this.tt.value.length > 0 || this.tt.filteredNodes.length > 0)) {
|
3274
3476
|
this.tt.toggleNodesWithCheckbox(event, !checked);
|
3275
3477
|
}
|
3276
3478
|
DomHandler.clearSelection();
|
@@ -3294,13 +3496,27 @@ class TTHeaderCheckbox {
|
|
3294
3496
|
let checked;
|
3295
3497
|
const data = this.tt.filteredNodes || this.tt.value;
|
3296
3498
|
if (data) {
|
3297
|
-
|
3298
|
-
|
3299
|
-
|
3499
|
+
if (this.tt.selectionKeys) {
|
3500
|
+
for (let node of data) {
|
3501
|
+
if (this.tt.isNodeSelected(node)) {
|
3502
|
+
checked = true;
|
3503
|
+
}
|
3504
|
+
else {
|
3505
|
+
checked = false;
|
3506
|
+
break;
|
3507
|
+
}
|
3300
3508
|
}
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3509
|
+
}
|
3510
|
+
if (!this.tt.selectionKeys) {
|
3511
|
+
// legacy selection support, will be removed in v18
|
3512
|
+
for (let node of data) {
|
3513
|
+
if (this.tt.isSelected(node)) {
|
3514
|
+
checked = true;
|
3515
|
+
}
|
3516
|
+
else {
|
3517
|
+
checked = false;
|
3518
|
+
break;
|
3519
|
+
}
|
3304
3520
|
}
|
3305
3521
|
}
|
3306
3522
|
}
|
@@ -3309,8 +3525,8 @@ class TTHeaderCheckbox {
|
|
3309
3525
|
}
|
3310
3526
|
return checked;
|
3311
3527
|
}
|
3312
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3313
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
3528
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTHeaderCheckbox, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
3529
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox", host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "boxViewChild", first: true, predicate: ["box"], descendants: true }], ngImport: i0, template: `
|
3314
3530
|
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused }" (click)="onClick($event, cb.checked)">
|
3315
3531
|
<div class="p-hidden-accessible">
|
3316
3532
|
<input #cb type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="!tt.value || tt.value.length === 0" />
|
@@ -3326,7 +3542,7 @@ class TTHeaderCheckbox {
|
|
3326
3542
|
</div>
|
3327
3543
|
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
3328
3544
|
}
|
3329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTHeaderCheckbox, decorators: [{
|
3330
3546
|
type: Component,
|
3331
3547
|
args: [{
|
3332
3548
|
selector: 'p-treeTableHeaderCheckbox',
|
@@ -3507,10 +3723,10 @@ class TTEditableColumn {
|
|
3507
3723
|
isEnabled() {
|
3508
3724
|
return this.ttEditableColumnDisabled !== true;
|
3509
3725
|
}
|
3510
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3511
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3726
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTEditableColumn, deps: [{ token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
3727
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTEditableColumn, selector: "[ttEditableColumn]", inputs: { data: ["ttEditableColumn", "data"], field: ["ttEditableColumnField", "field"], ttEditableColumnDisabled: ["ttEditableColumnDisabled", "ttEditableColumnDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" }, classAttribute: "p-element" }, ngImport: i0 });
|
3512
3728
|
}
|
3513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTEditableColumn, decorators: [{
|
3514
3730
|
type: Directive,
|
3515
3731
|
args: [{
|
3516
3732
|
selector: '[ttEditableColumn]',
|
@@ -3525,7 +3741,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3525
3741
|
type: Input,
|
3526
3742
|
args: ['ttEditableColumnField']
|
3527
3743
|
}], ttEditableColumnDisabled: [{
|
3528
|
-
type: Input
|
3744
|
+
type: Input,
|
3745
|
+
args: [{ transform: booleanAttribute }]
|
3529
3746
|
}], onClick: [{
|
3530
3747
|
type: HostListener,
|
3531
3748
|
args: ['click', ['$event']]
|
@@ -3555,8 +3772,8 @@ class TreeTableCellEditor {
|
|
3555
3772
|
}
|
3556
3773
|
});
|
3557
3774
|
}
|
3558
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3559
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
3775
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableCellEditor, deps: [{ token: TreeTable }, { token: TTEditableColumn }], target: i0.ɵɵFactoryTarget.Component });
|
3776
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeTableCellEditor, selector: "p-treeTableCellEditor", host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
|
3560
3777
|
<ng-container *ngIf="tt.editingCell === editableColumn.el.nativeElement">
|
3561
3778
|
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
|
3562
3779
|
</ng-container>
|
@@ -3565,7 +3782,7 @@ class TreeTableCellEditor {
|
|
3565
3782
|
</ng-container>
|
3566
3783
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
3567
3784
|
}
|
3568
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableCellEditor, decorators: [{
|
3569
3786
|
type: Component,
|
3570
3787
|
args: [{
|
3571
3788
|
selector: 'p-treeTableCellEditor',
|
@@ -3590,6 +3807,15 @@ class TTRow {
|
|
3590
3807
|
tt;
|
3591
3808
|
el;
|
3592
3809
|
zone;
|
3810
|
+
get level() {
|
3811
|
+
return this.rowNode?.['level'] + 1;
|
3812
|
+
}
|
3813
|
+
get styleClass() {
|
3814
|
+
return this.rowNode?.node['styleClass'] || '';
|
3815
|
+
}
|
3816
|
+
get expanded() {
|
3817
|
+
return this.rowNode?.node['expanded'];
|
3818
|
+
}
|
3593
3819
|
rowNode;
|
3594
3820
|
constructor(tt, el, zone) {
|
3595
3821
|
this.tt = tt;
|
@@ -3597,73 +3823,150 @@ class TTRow {
|
|
3597
3823
|
this.zone = zone;
|
3598
3824
|
}
|
3599
3825
|
onKeyDown(event) {
|
3600
|
-
switch (event.
|
3601
|
-
|
3602
|
-
|
3603
|
-
let nextRow = this.el.nativeElement.nextElementSibling;
|
3604
|
-
if (nextRow) {
|
3605
|
-
nextRow.focus();
|
3606
|
-
}
|
3607
|
-
event.preventDefault();
|
3826
|
+
switch (event.code) {
|
3827
|
+
case 'ArrowDown':
|
3828
|
+
this.onArrowDownKey(event);
|
3608
3829
|
break;
|
3609
|
-
|
3610
|
-
|
3611
|
-
let prevRow = this.el.nativeElement.previousElementSibling;
|
3612
|
-
if (prevRow) {
|
3613
|
-
prevRow.focus();
|
3614
|
-
}
|
3615
|
-
event.preventDefault();
|
3830
|
+
case 'ArrowUp':
|
3831
|
+
this.onArrowUpKey(event);
|
3616
3832
|
break;
|
3617
|
-
|
3618
|
-
|
3619
|
-
if (this.rowNode.node.expanded) {
|
3620
|
-
this.tt.toggleRowIndex = DomHandler.index(this.el.nativeElement);
|
3621
|
-
this.rowNode.node.expanded = false;
|
3622
|
-
this.tt.onNodeCollapse.emit({
|
3623
|
-
originalEvent: event,
|
3624
|
-
node: this.rowNode.node
|
3625
|
-
});
|
3626
|
-
this.tt.updateSerializedValue();
|
3627
|
-
this.tt.tableService.onUIUpdate(this.tt.value);
|
3628
|
-
this.restoreFocus();
|
3629
|
-
}
|
3833
|
+
case 'ArrowRight':
|
3834
|
+
this.onArrowRightKey(event);
|
3630
3835
|
break;
|
3631
|
-
|
3632
|
-
|
3633
|
-
|
3634
|
-
|
3635
|
-
|
3636
|
-
|
3637
|
-
|
3638
|
-
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
3642
|
-
|
3643
|
-
|
3836
|
+
case 'ArrowLeft':
|
3837
|
+
this.onArrowLeftKey(event);
|
3838
|
+
break;
|
3839
|
+
case 'Tab':
|
3840
|
+
this.onTabKey(event);
|
3841
|
+
break;
|
3842
|
+
case 'Home':
|
3843
|
+
this.onHomeKey(event);
|
3844
|
+
break;
|
3845
|
+
case 'End':
|
3846
|
+
this.onEndKey(event);
|
3847
|
+
break;
|
3848
|
+
default:
|
3644
3849
|
break;
|
3645
3850
|
}
|
3646
3851
|
}
|
3647
|
-
|
3852
|
+
onArrowDownKey(event) {
|
3853
|
+
let nextRow = this.el?.nativeElement?.nextElementSibling;
|
3854
|
+
if (nextRow) {
|
3855
|
+
this.focusRowChange(event.currentTarget, nextRow);
|
3856
|
+
}
|
3857
|
+
event.preventDefault();
|
3858
|
+
}
|
3859
|
+
onArrowUpKey(event) {
|
3860
|
+
let prevRow = this.el?.nativeElement?.previousElementSibling;
|
3861
|
+
if (prevRow) {
|
3862
|
+
this.focusRowChange(event.currentTarget, prevRow);
|
3863
|
+
}
|
3864
|
+
event.preventDefault();
|
3865
|
+
}
|
3866
|
+
onArrowRightKey(event) {
|
3867
|
+
const currentTarget = event.currentTarget;
|
3868
|
+
const isHiddenIcon = DomHandler.findSingle(currentTarget, 'button').style.visibility === 'hidden';
|
3869
|
+
if (!isHiddenIcon && !this.expanded && this.rowNode.node['children']) {
|
3870
|
+
this.expand(event);
|
3871
|
+
currentTarget.tabIndex = -1;
|
3872
|
+
}
|
3873
|
+
event.preventDefault();
|
3874
|
+
}
|
3875
|
+
onArrowLeftKey(event) {
|
3876
|
+
const container = this.tt.containerViewChild?.nativeElement;
|
3877
|
+
const expandedRows = DomHandler.find(container, '[aria-expanded="true"]');
|
3878
|
+
const lastExpandedRow = expandedRows[expandedRows.length - 1];
|
3879
|
+
if (this.expanded) {
|
3880
|
+
this.collapse(event);
|
3881
|
+
}
|
3882
|
+
if (lastExpandedRow) {
|
3883
|
+
this.tt.toggleRowIndex = DomHandler.index(lastExpandedRow);
|
3884
|
+
}
|
3885
|
+
this.restoreFocus();
|
3886
|
+
event.preventDefault();
|
3887
|
+
}
|
3888
|
+
onHomeKey(event) {
|
3889
|
+
const firstElement = DomHandler.findSingle(this.tt.containerViewChild?.nativeElement, `tr[aria-level="${this.level}"]`);
|
3890
|
+
firstElement && DomHandler.focus(firstElement);
|
3891
|
+
event.preventDefault();
|
3892
|
+
}
|
3893
|
+
onEndKey(event) {
|
3894
|
+
const nodes = DomHandler.find(this.tt.containerViewChild?.nativeElement, `tr[aria-level="${this.level}"]`);
|
3895
|
+
const lastElement = nodes[nodes.length - 1];
|
3896
|
+
DomHandler.focus(lastElement);
|
3897
|
+
event.preventDefault();
|
3898
|
+
}
|
3899
|
+
onTabKey(event) {
|
3900
|
+
const rows = this.el.nativeElement ? [...DomHandler.find(this.el.nativeElement.parentNode, 'tr')] : undefined;
|
3901
|
+
if (rows && ObjectUtils.isNotEmpty(rows)) {
|
3902
|
+
const hasSelectedRow = rows.some((row) => DomHandler.getAttribute(row, 'data-p-highlight') || row.getAttribute('aria-checked') === 'true');
|
3903
|
+
rows.forEach((row) => {
|
3904
|
+
row.tabIndex = -1;
|
3905
|
+
});
|
3906
|
+
if (hasSelectedRow) {
|
3907
|
+
const selectedNodes = rows.filter((node) => DomHandler.getAttribute(node, 'data-p-highlight') || node.getAttribute('aria-checked') === 'true');
|
3908
|
+
selectedNodes[0].tabIndex = 0;
|
3909
|
+
return;
|
3910
|
+
}
|
3911
|
+
rows[0].tabIndex = 0;
|
3912
|
+
}
|
3913
|
+
}
|
3914
|
+
expand(event) {
|
3915
|
+
this.tt.toggleRowIndex = DomHandler.index(this.el.nativeElement);
|
3916
|
+
this.rowNode.node['expanded'] = true;
|
3917
|
+
this.tt.updateSerializedValue();
|
3918
|
+
this.tt.tableService.onUIUpdate(this.tt.value);
|
3919
|
+
this.rowNode.node['children'] ? this.restoreFocus(this.tt.toggleRowIndex + 1) : this.restoreFocus();
|
3920
|
+
this.tt.onNodeExpand.emit({
|
3921
|
+
originalEvent: event,
|
3922
|
+
node: this.rowNode.node
|
3923
|
+
});
|
3924
|
+
}
|
3925
|
+
collapse(event) {
|
3926
|
+
this.rowNode.node['expanded'] = false;
|
3927
|
+
this.tt.updateSerializedValue();
|
3928
|
+
this.tt.tableService.onUIUpdate(this.tt.value);
|
3929
|
+
this.tt.onNodeCollapse.emit({ originalEvent: event, node: this.rowNode.node });
|
3930
|
+
}
|
3931
|
+
focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {
|
3932
|
+
firstFocusableRow.tabIndex = '-1';
|
3933
|
+
currentFocusedRow.tabIndex = '0';
|
3934
|
+
DomHandler.focus(currentFocusedRow);
|
3935
|
+
}
|
3936
|
+
restoreFocus(index) {
|
3648
3937
|
this.zone.runOutsideAngular(() => {
|
3649
3938
|
setTimeout(() => {
|
3650
|
-
|
3939
|
+
const container = this.tt.containerViewChild?.nativeElement;
|
3940
|
+
const row = DomHandler.findSingle(container, '.p-treetable-tbody').children[index || this.tt.toggleRowIndex];
|
3941
|
+
const rows = [...DomHandler.find(container, 'tr')];
|
3942
|
+
rows &&
|
3943
|
+
rows.forEach((r) => {
|
3944
|
+
if (!row.isSameNode(r)) {
|
3945
|
+
r.tabIndex = -1;
|
3946
|
+
}
|
3947
|
+
});
|
3651
3948
|
if (row) {
|
3949
|
+
row.tabIndex = 0;
|
3652
3950
|
row.focus();
|
3653
3951
|
}
|
3654
3952
|
}, 25);
|
3655
3953
|
});
|
3656
3954
|
}
|
3657
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3658
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0
|
3955
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTRow, deps: [{ token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
3956
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TTRow, selector: "[ttRow]", inputs: { rowNode: ["ttRow", "rowNode"] }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "'p-element ' + styleClass", "attr.tabindex": "'0'", "attr.aria-expanded": "expanded", "attr.aria-level": "level", "attr.data-pc-section": "row", "attr.role": "row" }, classAttribute: "p-element" }, ngImport: i0 });
|
3659
3957
|
}
|
3660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
3958
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TTRow, decorators: [{
|
3661
3959
|
type: Directive,
|
3662
3960
|
args: [{
|
3663
3961
|
selector: '[ttRow]',
|
3664
3962
|
host: {
|
3665
3963
|
class: 'p-element',
|
3666
|
-
'[
|
3964
|
+
'[class]': `'p-element ' + styleClass`,
|
3965
|
+
'[attr.tabindex]': "'0'",
|
3966
|
+
'[attr.aria-expanded]': 'expanded',
|
3967
|
+
'[attr.aria-level]': 'level',
|
3968
|
+
'[attr.data-pc-section]': 'row',
|
3969
|
+
'[attr.role]': 'row'
|
3667
3970
|
}
|
3668
3971
|
}]
|
3669
3972
|
}], ctorParameters: function () { return [{ type: TreeTable }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { rowNode: [{
|
@@ -3675,9 +3978,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3675
3978
|
}] } });
|
3676
3979
|
class TreeTableToggler {
|
3677
3980
|
tt;
|
3981
|
+
config;
|
3678
3982
|
rowNode;
|
3679
|
-
constructor(tt) {
|
3983
|
+
constructor(tt, config) {
|
3680
3984
|
this.tt = tt;
|
3985
|
+
this.config = config;
|
3986
|
+
}
|
3987
|
+
get toggleButtonAriaLabel() {
|
3988
|
+
return this.config.translation ? (this.rowNode.expanded ? this.config.translation.aria.collapseRow : this.config.translation.aria.expandRow) : undefined;
|
3681
3989
|
}
|
3682
3990
|
onClick(event) {
|
3683
3991
|
this.rowNode.node.expanded = !this.rowNode.node.expanded;
|
@@ -3697,8 +4005,8 @@ class TreeTableToggler {
|
|
3697
4005
|
this.tt.tableService.onUIUpdate(this.tt.value);
|
3698
4006
|
event.preventDefault();
|
3699
4007
|
}
|
3700
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3701
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
4008
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableToggler, deps: [{ token: TreeTable }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
4009
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeTableToggler, selector: "p-treeTableToggler", inputs: { rowNode: "rowNode" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
3702
4010
|
<button
|
3703
4011
|
type="button"
|
3704
4012
|
class="p-treetable-toggler p-link"
|
@@ -3707,16 +4015,19 @@ class TreeTableToggler {
|
|
3707
4015
|
pRipple
|
3708
4016
|
[style.visibility]="rowNode.node.leaf === false || (rowNode.node.children && rowNode.node.children.length) ? 'visible' : 'hidden'"
|
3709
4017
|
[style.marginLeft]="rowNode.level * 16 + 'px'"
|
4018
|
+
[attr.data-pc-section]="'rowtoggler'"
|
4019
|
+
[attr.data-pc-group-section]="'rowactionbutton'"
|
4020
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
3710
4021
|
>
|
3711
4022
|
<ng-container *ngIf="!tt.togglerIconTemplate">
|
3712
|
-
<ChevronDownIcon *ngIf="rowNode.node.expanded" />
|
3713
|
-
<ChevronRightIcon *ngIf="!rowNode.node.expanded" />
|
4023
|
+
<ChevronDownIcon *ngIf="rowNode.node.expanded" [attr.aria-hidden]="true" />
|
4024
|
+
<ChevronRightIcon *ngIf="!rowNode.node.expanded" [attr.aria-hidden]="true" />
|
3714
4025
|
</ng-container>
|
3715
4026
|
<ng-template *ngTemplateOutlet="tt.togglerIconTemplate; context: { $implicit: rowNode.node.expanded }"></ng-template>
|
3716
4027
|
</button>
|
3717
4028
|
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i5.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return ChevronDownIcon; }), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }], encapsulation: i0.ViewEncapsulation.None });
|
3718
4029
|
}
|
3719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
4030
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableToggler, decorators: [{
|
3720
4031
|
type: Component,
|
3721
4032
|
args: [{
|
3722
4033
|
selector: 'p-treeTableToggler',
|
@@ -3729,10 +4040,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3729
4040
|
pRipple
|
3730
4041
|
[style.visibility]="rowNode.node.leaf === false || (rowNode.node.children && rowNode.node.children.length) ? 'visible' : 'hidden'"
|
3731
4042
|
[style.marginLeft]="rowNode.level * 16 + 'px'"
|
4043
|
+
[attr.data-pc-section]="'rowtoggler'"
|
4044
|
+
[attr.data-pc-group-section]="'rowactionbutton'"
|
4045
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
3732
4046
|
>
|
3733
4047
|
<ng-container *ngIf="!tt.togglerIconTemplate">
|
3734
|
-
<ChevronDownIcon *ngIf="rowNode.node.expanded" />
|
3735
|
-
<ChevronRightIcon *ngIf="!rowNode.node.expanded" />
|
4048
|
+
<ChevronDownIcon *ngIf="rowNode.node.expanded" [attr.aria-hidden]="true" />
|
4049
|
+
<ChevronRightIcon *ngIf="!rowNode.node.expanded" [attr.aria-hidden]="true" />
|
3736
4050
|
</ng-container>
|
3737
4051
|
<ng-template *ngTemplateOutlet="tt.togglerIconTemplate; context: { $implicit: rowNode.node.expanded }"></ng-template>
|
3738
4052
|
</button>
|
@@ -3742,16 +4056,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
3742
4056
|
class: 'p-element'
|
3743
4057
|
}
|
3744
4058
|
}]
|
3745
|
-
}], ctorParameters: function () { return [{ type: TreeTable }]; }, propDecorators: { rowNode: [{
|
4059
|
+
}], ctorParameters: function () { return [{ type: TreeTable }, { type: i1.PrimeNGConfig }]; }, propDecorators: { rowNode: [{
|
3746
4060
|
type: Input
|
3747
4061
|
}] } });
|
3748
4062
|
class TreeTableModule {
|
3749
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
3750
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0
|
3751
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0
|
4063
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
4064
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TreeTableModule, declarations: [TreeTable, TreeTableToggler, TTScrollableView, TTBody, TTSortableColumn, TTSortIcon, TTResizableColumn, TTRow, TTReorderableColumn, TTSelectableRow, TTSelectableRowDblClick, TTContextMenuRow, TTCheckbox, TTHeaderCheckbox, TTEditableColumn, TreeTableCellEditor], imports: [CommonModule, PaginatorModule, RippleModule, ScrollerModule, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, CheckIcon, MinusIcon, ChevronDownIcon, ChevronRightIcon], exports: [TreeTable, SharedModule, TreeTableToggler, TTSortableColumn, TTSortIcon, TTResizableColumn, TTRow, TTReorderableColumn, TTSelectableRow, TTSelectableRowDblClick, TTContextMenuRow, TTCheckbox, TTHeaderCheckbox, TTEditableColumn, TreeTableCellEditor, ScrollerModule] });
|
4065
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableModule, imports: [CommonModule, PaginatorModule, RippleModule, ScrollerModule, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, CheckIcon, MinusIcon, ChevronDownIcon, ChevronRightIcon, SharedModule,
|
3752
4066
|
ScrollerModule] });
|
3753
4067
|
}
|
3754
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
4068
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeTableModule, decorators: [{
|
3755
4069
|
type: NgModule,
|
3756
4070
|
args: [{
|
3757
4071
|
imports: [CommonModule, PaginatorModule, RippleModule, ScrollerModule, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, CheckIcon, MinusIcon, ChevronDownIcon, ChevronRightIcon],
|