primereact 10.0.0 → 10.0.1
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/README.md +1 -1
- package/componentbase/componentbase.cjs.js +12 -7
- package/componentbase/componentbase.cjs.min.js +1 -1
- package/componentbase/componentbase.esm.min.mjs +1 -1
- package/componentbase/componentbase.esm.mjs +12 -7
- package/componentbase/componentbase.js +12 -7
- package/componentbase/componentbase.min.js +1 -1
- package/core/core.js +12 -7
- package/core/core.min.js +1 -1
- package/package.json +1 -1
- package/primereact.all.cjs.js +12 -7
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.min.mjs +1 -1
- package/primereact.all.esm.mjs +12 -7
- package/primereact.all.js +12 -7
- package/primereact.all.min.js +1 -1
- package/web-types.json +1 -1
- package/accordion/accordion.esm.js +0 -421
- package/accordion/accordion.esm.min.js +0 -1
- package/api/api.esm.js +0 -944
- package/api/api.esm.min.js +0 -1
- package/autocomplete/autocomplete.esm.js +0 -1127
- package/autocomplete/autocomplete.esm.min.js +0 -1
- package/avatar/avatar.esm.js +0 -245
- package/avatar/avatar.esm.min.js +0 -1
- package/avatargroup/avatargroup.esm.js +0 -55
- package/avatargroup/avatargroup.esm.min.js +0 -1
- package/badge/badge.esm.js +0 -110
- package/badge/badge.esm.min.js +0 -1
- package/blockui/blockui.esm.js +0 -265
- package/blockui/blockui.esm.min.js +0 -1
- package/breadcrumb/breadcrumb.esm.js +0 -351
- package/breadcrumb/breadcrumb.esm.min.js +0 -1
- package/button/button.esm.js +0 -295
- package/button/button.esm.min.js +0 -1
- package/calendar/calendar.esm.js +0 -3473
- package/calendar/calendar.esm.min.js +0 -1
- package/card/card.esm.js +0 -98
- package/card/card.esm.min.js +0 -1
- package/carousel/carousel.esm.js +0 -801
- package/carousel/carousel.esm.min.js +0 -1
- package/cascadeselect/cascadeselect.esm.js +0 -819
- package/cascadeselect/cascadeselect.esm.min.js +0 -1
- package/chart/chart.esm.js +0 -155
- package/chart/chart.esm.min.js +0 -1
- package/checkbox/checkbox.esm.js +0 -357
- package/checkbox/checkbox.esm.min.js +0 -1
- package/chip/chip.esm.js +0 -248
- package/chip/chip.esm.min.js +0 -1
- package/chips/chips.esm.js +0 -501
- package/chips/chips.esm.min.js +0 -1
- package/colorpicker/colorpicker.esm.js +0 -788
- package/colorpicker/colorpicker.esm.min.js +0 -1
- package/column/column.esm.js +0 -8
- package/column/column.esm.min.js +0 -1
- package/columngroup/columngroup.esm.js +0 -6
- package/columngroup/columngroup.esm.min.js +0 -1
- package/componentbase/componentbase.esm.js +0 -323
- package/componentbase/componentbase.esm.min.js +0 -1
- package/confirmdialog/confirmdialog.esm.js +0 -376
- package/confirmdialog/confirmdialog.esm.min.js +0 -1
- package/confirmpopup/confirmpopup.esm.js +0 -610
- package/confirmpopup/confirmpopup.esm.min.js +0 -1
- package/contextmenu/contextmenu.esm.js +0 -664
- package/contextmenu/contextmenu.esm.min.js +0 -1
- package/csstransition/csstransition.esm.js +0 -138
- package/csstransition/csstransition.esm.min.js +0 -1
- package/datascroller/datascroller.esm.js +0 -320
- package/datascroller/datascroller.esm.min.js +0 -1
- package/datatable/datatable.esm.js +0 -6636
- package/datatable/datatable.esm.min.js +0 -1
- package/dataview/dataview.esm.js +0 -506
- package/dataview/dataview.esm.min.js +0 -1
- package/deferredcontent/deferredcontent.esm.js +0 -133
- package/deferredcontent/deferredcontent.esm.min.js +0 -1
- package/dialog/dialog.esm.js +0 -983
- package/dialog/dialog.esm.min.js +0 -1
- package/divider/divider.esm.js +0 -79
- package/divider/divider.esm.min.js +0 -1
- package/dock/dock.esm.js +0 -348
- package/dock/dock.esm.min.js +0 -1
- package/dropdown/dropdown.esm.js +0 -1380
- package/dropdown/dropdown.esm.min.js +0 -1
- package/editor/editor.esm.js +0 -338
- package/editor/editor.esm.min.js +0 -1
- package/fieldset/fieldset.esm.js +0 -270
- package/fieldset/fieldset.esm.min.js +0 -1
- package/fileupload/fileupload.esm.js +0 -1005
- package/fileupload/fileupload.esm.min.js +0 -1
- package/galleria/galleria.esm.js +0 -1090
- package/galleria/galleria.esm.min.js +0 -1
- package/hooks/hooks.esm.js +0 -1042
- package/hooks/hooks.esm.min.js +0 -1
- package/iconbase/iconbase.esm.js +0 -33
- package/iconbase/iconbase.esm.min.js +0 -1
- package/icons/angledoubledown/index.esm.js +0 -39
- package/icons/angledoubledown/index.esm.min.js +0 -1
- package/icons/angledoubleleft/index.esm.js +0 -39
- package/icons/angledoubleleft/index.esm.min.js +0 -1
- package/icons/angledoubleright/index.esm.js +0 -39
- package/icons/angledoubleright/index.esm.min.js +0 -1
- package/icons/angledoubleup/index.esm.js +0 -39
- package/icons/angledoubleup/index.esm.min.js +0 -1
- package/icons/angledown/index.esm.js +0 -37
- package/icons/angledown/index.esm.min.js +0 -1
- package/icons/angleleft/index.esm.js +0 -37
- package/icons/angleleft/index.esm.min.js +0 -1
- package/icons/angleright/index.esm.js +0 -37
- package/icons/angleright/index.esm.min.js +0 -1
- package/icons/angleup/index.esm.js +0 -37
- package/icons/angleup/index.esm.min.js +0 -1
- package/icons/arrowdown/index.esm.js +0 -661
- package/icons/arrowdown/index.esm.min.js +0 -1
- package/icons/arrowup/index.esm.js +0 -661
- package/icons/arrowup/index.esm.min.js +0 -1
- package/icons/ban/index.esm.js +0 -659
- package/icons/ban/index.esm.min.js +0 -1
- package/icons/bars/index.esm.js +0 -39
- package/icons/bars/index.esm.min.js +0 -1
- package/icons/calendar/index.esm.js +0 -37
- package/icons/calendar/index.esm.min.js +0 -1
- package/icons/check/index.esm.js +0 -37
- package/icons/check/index.esm.min.js +0 -1
- package/icons/chevrondown/index.esm.js +0 -37
- package/icons/chevrondown/index.esm.min.js +0 -1
- package/icons/chevronleft/index.esm.js +0 -37
- package/icons/chevronleft/index.esm.min.js +0 -1
- package/icons/chevronright/index.esm.js +0 -37
- package/icons/chevronright/index.esm.min.js +0 -1
- package/icons/chevronup/index.esm.js +0 -37
- package/icons/chevronup/index.esm.min.js +0 -1
- package/icons/download/index.esm.js +0 -661
- package/icons/download/index.esm.min.js +0 -1
- package/icons/exclamationtriangle/index.esm.js +0 -665
- package/icons/exclamationtriangle/index.esm.min.js +0 -1
- package/icons/eye/index.esm.js +0 -39
- package/icons/eye/index.esm.min.js +0 -1
- package/icons/eyeslash/index.esm.js +0 -661
- package/icons/eyeslash/index.esm.min.js +0 -1
- package/icons/filter/index.esm.js +0 -659
- package/icons/filter/index.esm.min.js +0 -1
- package/icons/filterslash/index.esm.js +0 -661
- package/icons/filterslash/index.esm.min.js +0 -1
- package/icons/infocircle/index.esm.js +0 -661
- package/icons/infocircle/index.esm.min.js +0 -1
- package/icons/minus/index.esm.js +0 -37
- package/icons/minus/index.esm.min.js +0 -1
- package/icons/pencil/index.esm.js +0 -659
- package/icons/pencil/index.esm.min.js +0 -1
- package/icons/plus/index.esm.js +0 -659
- package/icons/plus/index.esm.min.js +0 -1
- package/icons/refresh/index.esm.js +0 -661
- package/icons/refresh/index.esm.min.js +0 -1
- package/icons/search/index.esm.js +0 -661
- package/icons/search/index.esm.min.js +0 -1
- package/icons/searchminus/index.esm.js +0 -661
- package/icons/searchminus/index.esm.min.js +0 -1
- package/icons/searchplus/index.esm.js +0 -661
- package/icons/searchplus/index.esm.min.js +0 -1
- package/icons/sortalt/index.esm.js +0 -668
- package/icons/sortalt/index.esm.min.js +0 -1
- package/icons/sortamountdown/index.esm.js +0 -674
- package/icons/sortamountdown/index.esm.min.js +0 -1
- package/icons/sortamountupalt/index.esm.js +0 -674
- package/icons/sortamountupalt/index.esm.min.js +0 -1
- package/icons/spinner/index.esm.js +0 -659
- package/icons/spinner/index.esm.min.js +0 -1
- package/icons/star/index.esm.js +0 -659
- package/icons/star/index.esm.min.js +0 -1
- package/icons/starfill/index.esm.js +0 -659
- package/icons/starfill/index.esm.min.js +0 -1
- package/icons/thlarge/index.esm.js +0 -661
- package/icons/thlarge/index.esm.min.js +0 -1
- package/icons/times/index.esm.js +0 -37
- package/icons/times/index.esm.min.js +0 -1
- package/icons/timescircle/index.esm.js +0 -661
- package/icons/timescircle/index.esm.min.js +0 -1
- package/icons/trash/index.esm.js +0 -661
- package/icons/trash/index.esm.min.js +0 -1
- package/icons/undo/index.esm.js +0 -661
- package/icons/undo/index.esm.min.js +0 -1
- package/icons/upload/index.esm.js +0 -661
- package/icons/upload/index.esm.min.js +0 -1
- package/icons/windowmaximize/index.esm.js +0 -661
- package/icons/windowmaximize/index.esm.min.js +0 -1
- package/icons/windowminimize/index.esm.js +0 -661
- package/icons/windowminimize/index.esm.min.js +0 -1
- package/image/image.esm.js +0 -1162
- package/image/image.esm.min.js +0 -1
- package/inplace/inplace.esm.js +0 -243
- package/inplace/inplace.esm.min.js +0 -1
- package/inputmask/inputmask.esm.js +0 -560
- package/inputmask/inputmask.esm.min.js +0 -1
- package/inputnumber/inputnumber.esm.js +0 -1209
- package/inputnumber/inputnumber.esm.min.js +0 -1
- package/inputswitch/inputswitch.esm.js +0 -291
- package/inputswitch/inputswitch.esm.min.js +0 -1
- package/inputtext/inputtext.esm.js +0 -171
- package/inputtext/inputtext.esm.min.js +0 -1
- package/inputtextarea/inputtextarea.esm.js +0 -220
- package/inputtextarea/inputtextarea.esm.min.js +0 -1
- package/keyfilter/keyfilter.esm.js +0 -108
- package/keyfilter/keyfilter.esm.min.js +0 -1
- package/knob/knob.esm.js +0 -318
- package/knob/knob.esm.min.js +0 -1
- package/listbox/listbox.esm.js +0 -810
- package/listbox/listbox.esm.min.js +0 -1
- package/megamenu/megamenu.esm.js +0 -716
- package/megamenu/megamenu.esm.min.js +0 -1
- package/mention/mention.esm.js +0 -771
- package/mention/mention.esm.min.js +0 -1
- package/menu/menu.esm.js +0 -485
- package/menu/menu.esm.min.js +0 -1
- package/menubar/menubar.esm.js +0 -584
- package/menubar/menubar.esm.min.js +0 -1
- package/message/message.esm.js +0 -169
- package/message/message.esm.min.js +0 -1
- package/messages/messages.esm.js +0 -439
- package/messages/messages.esm.min.js +0 -1
- package/multiselect/multiselect.esm.js +0 -1724
- package/multiselect/multiselect.esm.min.js +0 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +0 -352
- package/multistatecheckbox/multistatecheckbox.esm.min.js +0 -1
- package/orderlist/orderlist.esm.js +0 -816
- package/orderlist/orderlist.esm.min.js +0 -1
- package/organizationchart/organizationchart.esm.js +0 -480
- package/organizationchart/organizationchart.esm.min.js +0 -1
- package/overlaypanel/overlaypanel.esm.js +0 -516
- package/overlaypanel/overlaypanel.esm.min.js +0 -1
- package/overlayservice/overlayservice.esm.js +0 -7
- package/overlayservice/overlayservice.esm.min.js +0 -1
- package/paginator/paginator.esm.js +0 -933
- package/paginator/paginator.esm.min.js +0 -1
- package/panel/panel.esm.js +0 -316
- package/panel/panel.esm.min.js +0 -1
- package/panelmenu/panelmenu.esm.js +0 -645
- package/panelmenu/panelmenu.esm.min.js +0 -1
- package/passthrough/index.esm.js +0 -71
- package/passthrough/index.esm.min.js +0 -1
- package/passthrough/tailwind/index.esm.js +0 -3509
- package/passthrough/tailwind/index.esm.min.js +0 -1
- package/password/password.esm.js +0 -567
- package/password/password.esm.min.js +0 -1
- package/picklist/picklist.esm.js +0 -1119
- package/picklist/picklist.esm.min.js +0 -1
- package/portal/portal.esm.js +0 -110
- package/portal/portal.esm.min.js +0 -1
- package/primereact.all.esm.js +0 -51646
- package/primereact.all.esm.min.js +0 -1
- package/progressbar/progressbar.esm.js +0 -190
- package/progressbar/progressbar.esm.min.js +0 -1
- package/progressspinner/progressspinner.esm.js +0 -88
- package/progressspinner/progressspinner.esm.min.js +0 -1
- package/radiobutton/radiobutton.esm.js +0 -329
- package/radiobutton/radiobutton.esm.min.js +0 -1
- package/rating/rating.esm.js +0 -273
- package/rating/rating.esm.min.js +0 -1
- package/ripple/ripple.esm.js +0 -100
- package/ripple/ripple.esm.min.js +0 -1
- package/row/row.esm.js +0 -36
- package/row/row.esm.min.js +0 -1
- package/scrollpanel/scrollpanel.esm.js +0 -210
- package/scrollpanel/scrollpanel.esm.min.js +0 -1
- package/scrolltop/scrolltop.esm.js +0 -269
- package/scrolltop/scrolltop.esm.min.js +0 -1
- package/selectbutton/selectbutton.esm.js +0 -327
- package/selectbutton/selectbutton.esm.min.js +0 -1
- package/sidebar/sidebar.esm.js +0 -543
- package/sidebar/sidebar.esm.min.js +0 -1
- package/skeleton/skeleton.esm.js +0 -125
- package/skeleton/skeleton.esm.min.js +0 -1
- package/slidemenu/slidemenu.esm.js +0 -689
- package/slidemenu/slidemenu.esm.min.js +0 -1
- package/slider/slider.esm.js +0 -478
- package/slider/slider.esm.min.js +0 -1
- package/speeddial/speeddial.esm.js +0 -521
- package/speeddial/speeddial.esm.min.js +0 -1
- package/splitbutton/splitbutton.esm.js +0 -545
- package/splitbutton/splitbutton.esm.min.js +0 -1
- package/splitter/splitter.esm.js +0 -466
- package/splitter/splitter.esm.min.js +0 -1
- package/steps/steps.esm.js +0 -294
- package/steps/steps.esm.min.js +0 -1
- package/styleclass/styleclass.esm.js +0 -269
- package/styleclass/styleclass.esm.min.js +0 -1
- package/tabmenu/tabmenu.esm.js +0 -332
- package/tabmenu/tabmenu.esm.min.js +0 -1
- package/tabview/tabview.esm.js +0 -678
- package/tabview/tabview.esm.min.js +0 -1
- package/tag/tag.esm.js +0 -117
- package/tag/tag.esm.min.js +0 -1
- package/terminal/terminal.esm.js +0 -280
- package/terminal/terminal.esm.min.js +0 -1
- package/terminalservice/terminalservice.esm.js +0 -7
- package/terminalservice/terminalservice.esm.min.js +0 -1
- package/tieredmenu/tieredmenu.esm.js +0 -699
- package/tieredmenu/tieredmenu.esm.min.js +0 -1
- package/timeline/timeline.esm.js +0 -164
- package/timeline/timeline.esm.min.js +0 -1
- package/toast/toast.esm.js +0 -739
- package/toast/toast.esm.min.js +0 -1
- package/togglebutton/togglebutton.esm.js +0 -217
- package/togglebutton/togglebutton.esm.min.js +0 -1
- package/toolbar/toolbar.esm.js +0 -79
- package/toolbar/toolbar.esm.min.js +0 -1
- package/tooltip/tooltip.esm.js +0 -696
- package/tooltip/tooltip.esm.min.js +0 -1
- package/tree/tree.esm.js +0 -1403
- package/tree/tree.esm.min.js +0 -1
- package/treeselect/treeselect.esm.js +0 -930
- package/treeselect/treeselect.esm.min.js +0 -1
- package/treetable/treetable.esm.js +0 -3094
- package/treetable/treetable.esm.min.js +0 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +0 -292
- package/tristatecheckbox/tristatecheckbox.esm.min.js +0 -1
- package/utils/utils.esm.js +0 -2383
- package/utils/utils.esm.min.js +0 -1
- package/virtualscroller/virtualscroller.esm.js +0 -972
- package/virtualscroller/virtualscroller.esm.min.js +0 -1
|
@@ -1,3094 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import PrimeReact, { FilterMatchMode, ariaLabel, localeOption, PrimeReactContext, FilterService } from 'primereact/api';
|
|
5
|
-
import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
|
|
6
|
-
import { ObjectUtils, classNames, DomHandler, mergeProps, IconUtils } from 'primereact/utils';
|
|
7
|
-
import { useEventListener, useUnmountEffect, useMountEffect } from 'primereact/hooks';
|
|
8
|
-
import { ArrowDownIcon } from 'primereact/icons/arrowdown';
|
|
9
|
-
import { ArrowUpIcon } from 'primereact/icons/arrowup';
|
|
10
|
-
import { SpinnerIcon } from 'primereact/icons/spinner';
|
|
11
|
-
import { Paginator } from 'primereact/paginator';
|
|
12
|
-
import { CheckIcon } from 'primereact/icons/check';
|
|
13
|
-
import { ChevronDownIcon } from 'primereact/icons/chevrondown';
|
|
14
|
-
import { ChevronRightIcon } from 'primereact/icons/chevronright';
|
|
15
|
-
import { MinusIcon } from 'primereact/icons/minus';
|
|
16
|
-
import { Ripple } from 'primereact/ripple';
|
|
17
|
-
import { OverlayService } from 'primereact/overlayservice';
|
|
18
|
-
import { SortAltIcon } from 'primereact/icons/sortalt';
|
|
19
|
-
import { SortAmountDownIcon } from 'primereact/icons/sortamountdown';
|
|
20
|
-
import { SortAmountUpAltIcon } from 'primereact/icons/sortamountupalt';
|
|
21
|
-
import { InputText } from 'primereact/inputtext';
|
|
22
|
-
import { Tooltip } from 'primereact/tooltip';
|
|
23
|
-
|
|
24
|
-
function _extends() {
|
|
25
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
26
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
27
|
-
var source = arguments[i];
|
|
28
|
-
for (var key in source) {
|
|
29
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
30
|
-
target[key] = source[key];
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return target;
|
|
35
|
-
};
|
|
36
|
-
return _extends.apply(this, arguments);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function _typeof(o) {
|
|
40
|
-
"@babel/helpers - typeof";
|
|
41
|
-
|
|
42
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
43
|
-
return typeof o;
|
|
44
|
-
} : function (o) {
|
|
45
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
46
|
-
}, _typeof(o);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function _toPrimitive(input, hint) {
|
|
50
|
-
if (_typeof(input) !== "object" || input === null) return input;
|
|
51
|
-
var prim = input[Symbol.toPrimitive];
|
|
52
|
-
if (prim !== undefined) {
|
|
53
|
-
var res = prim.call(input, hint || "default");
|
|
54
|
-
if (_typeof(res) !== "object") return res;
|
|
55
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
56
|
-
}
|
|
57
|
-
return (hint === "string" ? String : Number)(input);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function _toPropertyKey(arg) {
|
|
61
|
-
var key = _toPrimitive(arg, "string");
|
|
62
|
-
return _typeof(key) === "symbol" ? key : String(key);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function _defineProperty(obj, key, value) {
|
|
66
|
-
key = _toPropertyKey(key);
|
|
67
|
-
if (key in obj) {
|
|
68
|
-
Object.defineProperty(obj, key, {
|
|
69
|
-
value: value,
|
|
70
|
-
enumerable: true,
|
|
71
|
-
configurable: true,
|
|
72
|
-
writable: true
|
|
73
|
-
});
|
|
74
|
-
} else {
|
|
75
|
-
obj[key] = value;
|
|
76
|
-
}
|
|
77
|
-
return obj;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function _arrayLikeToArray$4(arr, len) {
|
|
81
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
82
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
83
|
-
return arr2;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function _arrayWithoutHoles(arr) {
|
|
87
|
-
if (Array.isArray(arr)) return _arrayLikeToArray$4(arr);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function _iterableToArray(iter) {
|
|
91
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function _unsupportedIterableToArray$4(o, minLen) {
|
|
95
|
-
if (!o) return;
|
|
96
|
-
if (typeof o === "string") return _arrayLikeToArray$4(o, minLen);
|
|
97
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
98
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
99
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
100
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$4(o, minLen);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function _nonIterableSpread() {
|
|
104
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function _toConsumableArray(arr) {
|
|
108
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$4(arr) || _nonIterableSpread();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function _arrayWithHoles(arr) {
|
|
112
|
-
if (Array.isArray(arr)) return arr;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function _iterableToArrayLimit(r, l) {
|
|
116
|
-
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
117
|
-
if (null != t) {
|
|
118
|
-
var e,
|
|
119
|
-
n,
|
|
120
|
-
i,
|
|
121
|
-
u,
|
|
122
|
-
a = [],
|
|
123
|
-
f = !0,
|
|
124
|
-
o = !1;
|
|
125
|
-
try {
|
|
126
|
-
if (i = (t = t.call(r)).next, 0 === l) {
|
|
127
|
-
if (Object(t) !== t) return;
|
|
128
|
-
f = !1;
|
|
129
|
-
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
130
|
-
} catch (r) {
|
|
131
|
-
o = !0, n = r;
|
|
132
|
-
} finally {
|
|
133
|
-
try {
|
|
134
|
-
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
135
|
-
} finally {
|
|
136
|
-
if (o) throw n;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return a;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
function _nonIterableRest() {
|
|
144
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function _slicedToArray(arr, i) {
|
|
148
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest();
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
var ColumnBase = ComponentBase.extend({
|
|
152
|
-
defaultProps: {
|
|
153
|
-
__TYPE: 'Column',
|
|
154
|
-
align: null,
|
|
155
|
-
alignFrozen: 'left',
|
|
156
|
-
alignHeader: null,
|
|
157
|
-
body: null,
|
|
158
|
-
bodyClassName: null,
|
|
159
|
-
bodyStyle: null,
|
|
160
|
-
cellEditValidator: null,
|
|
161
|
-
cellEditValidatorEvent: 'click',
|
|
162
|
-
className: null,
|
|
163
|
-
colSpan: null,
|
|
164
|
-
columnKey: null,
|
|
165
|
-
dataType: 'text',
|
|
166
|
-
editor: null,
|
|
167
|
-
excludeGlobalFilter: false,
|
|
168
|
-
expander: false,
|
|
169
|
-
exportField: null,
|
|
170
|
-
exportable: true,
|
|
171
|
-
field: null,
|
|
172
|
-
filter: false,
|
|
173
|
-
filterApply: null,
|
|
174
|
-
filterClear: null,
|
|
175
|
-
filterElement: null,
|
|
176
|
-
filterField: null,
|
|
177
|
-
filterFooter: null,
|
|
178
|
-
filterFunction: null,
|
|
179
|
-
filterHeader: null,
|
|
180
|
-
filterHeaderClassName: null,
|
|
181
|
-
filterHeaderStyle: null,
|
|
182
|
-
filterMatchMode: null,
|
|
183
|
-
filterMatchModeOptions: null,
|
|
184
|
-
filterMaxLength: null,
|
|
185
|
-
filterMenuClassName: null,
|
|
186
|
-
filterMenuStyle: null,
|
|
187
|
-
filterPlaceholder: null,
|
|
188
|
-
filterType: 'text',
|
|
189
|
-
footer: null,
|
|
190
|
-
footerClassName: null,
|
|
191
|
-
footerStyle: null,
|
|
192
|
-
frozen: false,
|
|
193
|
-
header: null,
|
|
194
|
-
headerClassName: null,
|
|
195
|
-
headerStyle: null,
|
|
196
|
-
headerTooltip: null,
|
|
197
|
-
headerTooltipOptions: null,
|
|
198
|
-
hidden: false,
|
|
199
|
-
maxConstraints: 2,
|
|
200
|
-
onBeforeCellEditHide: null,
|
|
201
|
-
onBeforeCellEditShow: null,
|
|
202
|
-
onCellEditCancel: null,
|
|
203
|
-
onCellEditComplete: null,
|
|
204
|
-
onCellEditInit: null,
|
|
205
|
-
onFilterApplyClick: null,
|
|
206
|
-
onFilterClear: null,
|
|
207
|
-
onFilterConstraintAdd: null,
|
|
208
|
-
onFilterConstraintRemove: null,
|
|
209
|
-
onFilterMatchModeChange: null,
|
|
210
|
-
onFilterOperatorChange: null,
|
|
211
|
-
reorderable: true,
|
|
212
|
-
resizeable: true,
|
|
213
|
-
rowEditor: false,
|
|
214
|
-
rowReorder: false,
|
|
215
|
-
rowReorderIcon: null,
|
|
216
|
-
rowSpan: null,
|
|
217
|
-
selectionMode: null,
|
|
218
|
-
showAddButton: true,
|
|
219
|
-
showApplyButton: true,
|
|
220
|
-
showClearButton: true,
|
|
221
|
-
showFilterMatchModes: true,
|
|
222
|
-
showFilterMenu: true,
|
|
223
|
-
showFilterMenuOptions: true,
|
|
224
|
-
showFilterOperator: true,
|
|
225
|
-
sortField: null,
|
|
226
|
-
sortFunction: null,
|
|
227
|
-
sortable: false,
|
|
228
|
-
sortableDisabled: false,
|
|
229
|
-
style: null,
|
|
230
|
-
children: undefined
|
|
231
|
-
},
|
|
232
|
-
getCProp: function getCProp(column, name) {
|
|
233
|
-
return ObjectUtils.getComponentProp(column, name, ColumnBase.defaultProps);
|
|
234
|
-
},
|
|
235
|
-
getCProps: function getCProps(column) {
|
|
236
|
-
return ObjectUtils.getComponentProps(column, ColumnBase.defaultProps);
|
|
237
|
-
},
|
|
238
|
-
getCOtherProps: function getCOtherProps(column) {
|
|
239
|
-
return ObjectUtils.getComponentDiffProps(column, ColumnBase.defaultProps);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
var styles = "\n@layer primereact {\n .p-treetable {\n position: relative;\n }\n \n .p-treetable > .p-treetable-wrapper {\n overflow: auto;\n }\n \n .p-treetable table {\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n }\n \n .p-treetable .p-sortable-column {\n cursor: pointer;\n user-select: none;\n }\n \n .p-treetable-selectable .p-treetable-tbody > tr {\n cursor: pointer;\n }\n \n .p-treetable-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n vertical-align: middle;\n overflow: hidden;\n position: relative;\n }\n \n .p-treetable-toggler + .p-checkbox {\n vertical-align: middle;\n }\n \n .p-treetable-toggler + .p-checkbox + span {\n vertical-align: middle;\n }\n \n /* Resizable */\n .p-treetable-resizable > .p-treetable-wrapper {\n overflow-x: auto;\n }\n \n .p-treetable-resizable .p-treetable-thead > tr > th,\n .p-treetable-resizable .p-treetable-tfoot > tr > td,\n .p-treetable-resizable .p-treetable-tbody > tr > td {\n overflow: hidden;\n }\n \n .p-treetable-resizable .p-resizable-column {\n background-clip: padding-box;\n position: relative;\n }\n \n .p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n }\n \n .p-treetable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: 0.5rem;\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n }\n \n .p-treetable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n }\n \n /* Scrollable */\n .p-treetable-scrollable-wrapper {\n position: relative;\n }\n .p-treetable-scrollable-header,\n .p-treetable-scrollable-footer {\n overflow: hidden;\n border: 0 none;\n }\n \n .p-treetable-scrollable-body {\n overflow: auto;\n position: relative;\n }\n \n .p-treetable-virtual-table {\n position: absolute;\n }\n \n /* Frozen Columns */\n .p-treetable-frozen-view .p-treetable-scrollable-body {\n overflow: hidden;\n }\n \n .p-treetable-unfrozen-view {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n \n /* Reorder */\n .p-treetable-reorder-indicator-up,\n .p-treetable-reorder-indicator-down {\n position: absolute;\n display: none;\n }\n \n /* Loader */\n .p-treetable .p-treetable-loading-overlay {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n }\n}\n";
|
|
244
|
-
var classes = {
|
|
245
|
-
root: function root(_ref) {
|
|
246
|
-
var props = _ref.props,
|
|
247
|
-
isRowSelectionMode = _ref.isRowSelectionMode;
|
|
248
|
-
return classNames('p-treetable p-component', {
|
|
249
|
-
'p-treetable-hoverable-rows': props.rowHover,
|
|
250
|
-
'p-treetable-selectable': isRowSelectionMode(),
|
|
251
|
-
'p-treetable-resizable': props.resizableColumns,
|
|
252
|
-
'p-treetable-resizable-fit': props.resizableColumns && props.columnResizeMode === 'fit',
|
|
253
|
-
'p-treetable-striped': props.stripedRows,
|
|
254
|
-
'p-treetable-gridlines': props.showGridlines
|
|
255
|
-
});
|
|
256
|
-
},
|
|
257
|
-
loadingIcon: 'p-treetable-loading-icon',
|
|
258
|
-
loadingWrapper: 'p-treetable-loading',
|
|
259
|
-
loadingOverlay: 'p-treetable-loading-overlay p-component-overlay',
|
|
260
|
-
header: 'p-treetable-header',
|
|
261
|
-
footer: 'p-treetable-footer',
|
|
262
|
-
resizeHelper: 'p-column-resizer-helper',
|
|
263
|
-
reorderIndicatorUp: 'p-datatable-reorder-indicator-up',
|
|
264
|
-
reorderIndicatorDown: 'p-datatable-reorder-indicator-down',
|
|
265
|
-
wrapper: 'p-treetable-wrapper',
|
|
266
|
-
table: function table(_ref2) {
|
|
267
|
-
var props = _ref2.props;
|
|
268
|
-
return classNames('p-treetable-table', {
|
|
269
|
-
'p-treetable-scrollable-table': props.scrollable,
|
|
270
|
-
'p-treetable-resizable-table': props.resizableColumns,
|
|
271
|
-
'p-treetable-resizable-table-fit': props.resizableColumns && props.columnResizeMode === 'fit'
|
|
272
|
-
});
|
|
273
|
-
},
|
|
274
|
-
scrollableWrapper: 'p-treetable-wrapper p-treetable-scrollable-wrapper',
|
|
275
|
-
thead: 'p-treetable-thead',
|
|
276
|
-
tbody: 'p-treetable-tbody',
|
|
277
|
-
tfoot: 'p-treetable-tfoot',
|
|
278
|
-
emptyMessage: 'p-treetable-emptymessage',
|
|
279
|
-
bodyCell: function bodyCell(_ref3) {
|
|
280
|
-
var props = _ref3.bodyProps,
|
|
281
|
-
editingState = _ref3.editingState;
|
|
282
|
-
return classNames({
|
|
283
|
-
'p-editable-column': props.editor,
|
|
284
|
-
'p-cell-editing': props.editor ? editingState : false
|
|
285
|
-
});
|
|
286
|
-
},
|
|
287
|
-
sortBadge: 'p-sortable-column-badge',
|
|
288
|
-
headerTitle: 'p-column-title',
|
|
289
|
-
headerCell: function headerCell(_ref4) {
|
|
290
|
-
var props = _ref4.headerProps,
|
|
291
|
-
column = _ref4.column,
|
|
292
|
-
options = _ref4.options,
|
|
293
|
-
getColumnProp = _ref4.getColumnProp,
|
|
294
|
-
sorted = _ref4.sorted,
|
|
295
|
-
frozen = _ref4.frozen;
|
|
296
|
-
return options.filterOnly ? 'p-filter-column' : classNames({
|
|
297
|
-
'p-sortable-column': getColumnProp(column, 'sortable'),
|
|
298
|
-
'p-highlight': sorted,
|
|
299
|
-
'p-frozen-column': frozen,
|
|
300
|
-
'p-resizable-column': props.resizableColumns && getColumnProp(column, 'resizeable'),
|
|
301
|
-
'p-reorderable-column': props.reorderableColumns && getColumnProp(column, 'reorderable') && !frozen
|
|
302
|
-
});
|
|
303
|
-
},
|
|
304
|
-
columnResizer: 'p-column-resizer p-clickable',
|
|
305
|
-
sortIcon: 'p-sortable-column-icon',
|
|
306
|
-
row: function row(_ref5) {
|
|
307
|
-
var isSelected = _ref5.isSelected,
|
|
308
|
-
props = _ref5.rowProps;
|
|
309
|
-
return {
|
|
310
|
-
'p-highlight': isSelected(),
|
|
311
|
-
'p-highlight-contextmenu': props.contextMenuSelectionKey && props.contextMenuSelectionKey === props.node.key,
|
|
312
|
-
'p-row-odd': props.rowIndex % 2 !== 0
|
|
313
|
-
};
|
|
314
|
-
},
|
|
315
|
-
checkboxWrapper: 'p-checkbox p-treetable-checkbox p-component',
|
|
316
|
-
checkbox: function checkbox(_ref6) {
|
|
317
|
-
var checked = _ref6.checked,
|
|
318
|
-
partialChecked = _ref6.partialChecked;
|
|
319
|
-
return classNames('p-checkbox-box', {
|
|
320
|
-
'p-highlight': checked,
|
|
321
|
-
'p-indeterminate': partialChecked
|
|
322
|
-
});
|
|
323
|
-
},
|
|
324
|
-
checkboxIcon: 'p-checkbox-icon p-c',
|
|
325
|
-
rowToggler: 'p-treetable-toggler p-link p-unselectable-text',
|
|
326
|
-
rowTogglerIcon: 'p-treetable-toggler-icon',
|
|
327
|
-
scrollableBody: 'p-treetable-scrollable-body',
|
|
328
|
-
scrollableHeaderTable: 'p-treetable-scrollable-header-table',
|
|
329
|
-
scrollableHeaderBox: 'p-treetable-scrollable-header-box',
|
|
330
|
-
scrollableHeader: 'p-treetable-scrollable-header',
|
|
331
|
-
scrollableBodyTable: 'p-treetable-scrollable-body-table',
|
|
332
|
-
scrollableFooter: 'p-treetable-scrollable-footer',
|
|
333
|
-
scrollableFooterBox: 'p-treetable-scrollable-footer-box',
|
|
334
|
-
scrollableFooterTable: 'p-treetable-scrollable-footer-table',
|
|
335
|
-
scrollable: function scrollable(_ref7) {
|
|
336
|
-
var props = _ref7.scrolaableProps;
|
|
337
|
-
return classNames('p-treetable-scrollable-view', {
|
|
338
|
-
'p-treetable-frozen-view': props.frozen,
|
|
339
|
-
'p-treetable-unfrozen-view': !props.frozen && props.frozenWidth
|
|
340
|
-
});
|
|
341
|
-
},
|
|
342
|
-
scrollableColgroup: 'p-treetable-scrollable-colgroup'
|
|
343
|
-
};
|
|
344
|
-
var TreeTableBase = ComponentBase.extend({
|
|
345
|
-
defaultProps: {
|
|
346
|
-
__TYPE: 'TreeTable',
|
|
347
|
-
alwaysShowPaginator: true,
|
|
348
|
-
checkboxIcon: null,
|
|
349
|
-
className: null,
|
|
350
|
-
columnResizeMode: 'fit',
|
|
351
|
-
contextMenuSelectionKey: null,
|
|
352
|
-
currentPageReportTemplate: '({currentPage} of {totalPages})',
|
|
353
|
-
defaultSortOrder: 1,
|
|
354
|
-
emptyMessage: null,
|
|
355
|
-
expandedKeys: null,
|
|
356
|
-
filterDelay: 300,
|
|
357
|
-
filterLocale: undefined,
|
|
358
|
-
filterMode: 'lenient',
|
|
359
|
-
filters: null,
|
|
360
|
-
first: null,
|
|
361
|
-
footer: null,
|
|
362
|
-
footerColumnGroup: null,
|
|
363
|
-
frozenFooterColumnGroup: null,
|
|
364
|
-
frozenHeaderColumnGroup: null,
|
|
365
|
-
frozenWidth: null,
|
|
366
|
-
globalFilter: null,
|
|
367
|
-
globalFilterMatchMode: FilterMatchMode.CONTAINS,
|
|
368
|
-
header: null,
|
|
369
|
-
headerColumnGroup: null,
|
|
370
|
-
id: null,
|
|
371
|
-
lazy: false,
|
|
372
|
-
loading: false,
|
|
373
|
-
loadingIcon: null,
|
|
374
|
-
metaKeySelection: true,
|
|
375
|
-
multiSortMeta: null,
|
|
376
|
-
onColReorder: null,
|
|
377
|
-
onCollapse: null,
|
|
378
|
-
onColumnResizeEnd: null,
|
|
379
|
-
onContextMenu: null,
|
|
380
|
-
onContextMenuSelectionChange: null,
|
|
381
|
-
onExpand: null,
|
|
382
|
-
onFilter: null,
|
|
383
|
-
onPage: null,
|
|
384
|
-
onRowClick: null,
|
|
385
|
-
onRowMouseEnter: null,
|
|
386
|
-
onRowMouseLeave: null,
|
|
387
|
-
onSelect: null,
|
|
388
|
-
onSelectionChange: null,
|
|
389
|
-
onSort: null,
|
|
390
|
-
onToggle: null,
|
|
391
|
-
onUnselect: null,
|
|
392
|
-
onValueChange: null,
|
|
393
|
-
pageLinkSize: 5,
|
|
394
|
-
paginator: false,
|
|
395
|
-
paginatorClassName: null,
|
|
396
|
-
paginatorDropdownAppendTo: null,
|
|
397
|
-
paginatorLeft: null,
|
|
398
|
-
paginatorPosition: 'bottom',
|
|
399
|
-
paginatorRight: null,
|
|
400
|
-
paginatorTemplate: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown',
|
|
401
|
-
propagateSelectionDown: true,
|
|
402
|
-
propagateSelectionUp: true,
|
|
403
|
-
removableSort: false,
|
|
404
|
-
reorderableColumns: false,
|
|
405
|
-
reorderIndicatorDownIcon: null,
|
|
406
|
-
reorderIndicatorUpIcon: null,
|
|
407
|
-
resizableColumns: false,
|
|
408
|
-
rowClassName: null,
|
|
409
|
-
rowHover: false,
|
|
410
|
-
rows: null,
|
|
411
|
-
rowsPerPageOptions: null,
|
|
412
|
-
scrollHeight: null,
|
|
413
|
-
scrollable: false,
|
|
414
|
-
selectOnEdit: true,
|
|
415
|
-
selectionKeys: null,
|
|
416
|
-
selectionMode: null,
|
|
417
|
-
showGridlines: false,
|
|
418
|
-
sortField: null,
|
|
419
|
-
sortMode: 'single',
|
|
420
|
-
sortIcon: null,
|
|
421
|
-
sortOrder: null,
|
|
422
|
-
stripedRows: false,
|
|
423
|
-
style: null,
|
|
424
|
-
tabIndex: 0,
|
|
425
|
-
tableClassName: null,
|
|
426
|
-
tableStyle: null,
|
|
427
|
-
totalRecords: null,
|
|
428
|
-
value: null,
|
|
429
|
-
children: undefined
|
|
430
|
-
},
|
|
431
|
-
css: {
|
|
432
|
-
classes: classes,
|
|
433
|
-
styles: styles
|
|
434
|
-
}
|
|
435
|
-
});
|
|
436
|
-
|
|
437
|
-
function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
438
|
-
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
439
|
-
var TreeTableBodyCell = function TreeTableBodyCell(props) {
|
|
440
|
-
var _React$useState = React.useState(false),
|
|
441
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
442
|
-
editingState = _React$useState2[0],
|
|
443
|
-
setEditingState = _React$useState2[1];
|
|
444
|
-
var elementRef = React.useRef(null);
|
|
445
|
-
var keyHelperRef = React.useRef(null);
|
|
446
|
-
var selfClick = React.useRef(false);
|
|
447
|
-
var overlayEventListener = React.useRef(null);
|
|
448
|
-
var tabIndexTimeout = React.useRef(null);
|
|
449
|
-
var getColumnProp = function getColumnProp(name) {
|
|
450
|
-
return ColumnBase.getCProp(props.column, name);
|
|
451
|
-
};
|
|
452
|
-
var getColumnProps = function getColumnProps(column) {
|
|
453
|
-
return ColumnBase.getCProps(column);
|
|
454
|
-
};
|
|
455
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
456
|
-
ptm = _props$ptCallbacks.ptm,
|
|
457
|
-
ptmo = _props$ptCallbacks.ptmo,
|
|
458
|
-
cx = _props$ptCallbacks.cx;
|
|
459
|
-
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
460
|
-
var isSingleSelectionMode = props.metaData.props.selectionMode === 'single';
|
|
461
|
-
var isMultipleSelectionMode = props.metaData.props.selectionMode === 'multiple';
|
|
462
|
-
var cProps = getColumnProps(props.column);
|
|
463
|
-
var columnMetadata = {
|
|
464
|
-
props: cProps,
|
|
465
|
-
parent: props.metaData,
|
|
466
|
-
hostName: props.hostName,
|
|
467
|
-
state: {
|
|
468
|
-
editing: editingState
|
|
469
|
-
},
|
|
470
|
-
context: {
|
|
471
|
-
index: props.index,
|
|
472
|
-
selectable: isSingleSelectionMode || isMultipleSelectionMode,
|
|
473
|
-
selected: props.selected,
|
|
474
|
-
scrollable: props.metaData.props.scrollable,
|
|
475
|
-
frozen: getColumnProp('frozen'),
|
|
476
|
-
showGridlines: props.metaData.props.showGridlines
|
|
477
|
-
}
|
|
478
|
-
};
|
|
479
|
-
return mergeProps(ptm("column.".concat(key), {
|
|
480
|
-
column: columnMetadata
|
|
481
|
-
}), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
|
|
482
|
-
};
|
|
483
|
-
var field = getColumnProp('field') || "field_".concat(props.index);
|
|
484
|
-
var getCellParams = function getCellParams() {
|
|
485
|
-
return {
|
|
486
|
-
value: resolveFieldData(),
|
|
487
|
-
field: field,
|
|
488
|
-
rowData: props.rowData,
|
|
489
|
-
rowIndex: props.rowIndex,
|
|
490
|
-
cellIndex: props.index,
|
|
491
|
-
selected: isSelected(),
|
|
492
|
-
column: props.column,
|
|
493
|
-
props: props
|
|
494
|
-
};
|
|
495
|
-
};
|
|
496
|
-
var getCellCallbackParams = function getCellCallbackParams(event) {
|
|
497
|
-
var params = getCellParams();
|
|
498
|
-
return _objectSpread$5({
|
|
499
|
-
originalEvent: event
|
|
500
|
-
}, params);
|
|
501
|
-
};
|
|
502
|
-
var resolveFieldData = function resolveFieldData(data) {
|
|
503
|
-
return ObjectUtils.resolveFieldData(data || props.node.data, field);
|
|
504
|
-
};
|
|
505
|
-
var _useEventListener = useEventListener({
|
|
506
|
-
type: 'click',
|
|
507
|
-
listener: function listener(e) {
|
|
508
|
-
if (!selfClick.current && isOutsideClicked(e.target)) {
|
|
509
|
-
switchCellToViewMode(e);
|
|
510
|
-
}
|
|
511
|
-
selfClick.current = false;
|
|
512
|
-
}
|
|
513
|
-
}),
|
|
514
|
-
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
515
|
-
bindDocumentClickListener = _useEventListener2[0],
|
|
516
|
-
unbindDocumentClickListener = _useEventListener2[1];
|
|
517
|
-
var _onClick = function onClick(event) {
|
|
518
|
-
if (props.editor && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
|
|
519
|
-
selfClick.current = true;
|
|
520
|
-
var params = getCellCallbackParams(event);
|
|
521
|
-
var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
|
|
522
|
-
if (onBeforeCellEditShow) {
|
|
523
|
-
// if user returns false do not show the editor
|
|
524
|
-
if (onBeforeCellEditShow(params) === false) {
|
|
525
|
-
return;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
// if user prevents default stop the editor
|
|
529
|
-
if (event && event.defaultPrevented) {
|
|
530
|
-
return;
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
setEditingState(true);
|
|
534
|
-
var onCellEditInit = getColumnProp('onCellEditInit');
|
|
535
|
-
if (onCellEditInit) {
|
|
536
|
-
if (onCellEditInit(params) === false) {
|
|
537
|
-
return;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
// if user prevents default stop the editor
|
|
541
|
-
if (event && event.defaultPrevented) {
|
|
542
|
-
return;
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
bindDocumentClickListener();
|
|
546
|
-
overlayEventListener.current = function (e) {
|
|
547
|
-
if (!isOutsideClicked(e.target)) {
|
|
548
|
-
selfClick.current = true;
|
|
549
|
-
}
|
|
550
|
-
};
|
|
551
|
-
OverlayService.on('overlay-click', overlayEventListener.current);
|
|
552
|
-
}
|
|
553
|
-
};
|
|
554
|
-
var _onKeyDown = function onKeyDown(event) {
|
|
555
|
-
if (event.which === 13 || event.which === 9) {
|
|
556
|
-
switchCellToViewMode(event);
|
|
557
|
-
}
|
|
558
|
-
};
|
|
559
|
-
var isOutsideClicked = function isOutsideClicked(target) {
|
|
560
|
-
return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
|
|
561
|
-
};
|
|
562
|
-
var closeCell = function closeCell() {
|
|
563
|
-
/* When using the 'tab' key, the focus event of the next cell is not called in IE. */
|
|
564
|
-
setTimeout(function () {
|
|
565
|
-
setEditingState(false);
|
|
566
|
-
unbindDocumentClickListener();
|
|
567
|
-
OverlayService.off('overlay-click', overlayEventListener.current);
|
|
568
|
-
overlayEventListener.current = null;
|
|
569
|
-
}, 1);
|
|
570
|
-
};
|
|
571
|
-
var onEditorFocus = function onEditorFocus(event) {
|
|
572
|
-
_onClick(event);
|
|
573
|
-
};
|
|
574
|
-
var switchCellToViewMode = function switchCellToViewMode(event) {
|
|
575
|
-
if (props.cellEditValidator) {
|
|
576
|
-
var valid = props.cellEditValidator({
|
|
577
|
-
originalEvent: event,
|
|
578
|
-
columnProps: props
|
|
579
|
-
});
|
|
580
|
-
if (valid) {
|
|
581
|
-
closeCell();
|
|
582
|
-
}
|
|
583
|
-
} else {
|
|
584
|
-
closeCell();
|
|
585
|
-
}
|
|
586
|
-
};
|
|
587
|
-
var isSelected = function isSelected() {
|
|
588
|
-
return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
|
|
589
|
-
};
|
|
590
|
-
React.useEffect(function () {
|
|
591
|
-
if (elementRef.current && props.editor) {
|
|
592
|
-
clearTimeout(tabIndexTimeout.current);
|
|
593
|
-
if (editingState) {
|
|
594
|
-
var focusable = DomHandler.findSingle(elementRef.current, 'input');
|
|
595
|
-
if (focusable && document.activeElement !== focusable && !focusable.hasAttribute('data-isCellEditing')) {
|
|
596
|
-
focusable.setAttribute('data-isCellEditing', true);
|
|
597
|
-
focusable.focus();
|
|
598
|
-
}
|
|
599
|
-
keyHelperRef.current.tabIndex = -1;
|
|
600
|
-
} else {
|
|
601
|
-
tabIndexTimeout.current = setTimeout(function () {
|
|
602
|
-
if (keyHelperRef.current) {
|
|
603
|
-
keyHelperRef.current.setAttribute('tabindex', 0);
|
|
604
|
-
}
|
|
605
|
-
}, 50);
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
});
|
|
609
|
-
useUnmountEffect(function () {
|
|
610
|
-
if (overlayEventListener.current) {
|
|
611
|
-
OverlayService.off('overlay-click', overlayEventListener.current);
|
|
612
|
-
overlayEventListener.current = null;
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
var bodyClassName = ObjectUtils.getPropValue(props.bodyClassName, props.node.data, {
|
|
616
|
-
field: props.field,
|
|
617
|
-
rowIndex: props.rowIndex,
|
|
618
|
-
props: props
|
|
619
|
-
});
|
|
620
|
-
var style = props.bodyStyle || props.style;
|
|
621
|
-
var content;
|
|
622
|
-
if (editingState) {
|
|
623
|
-
if (props.editor) content = ObjectUtils.getJSXElement(props.editor, {
|
|
624
|
-
node: props.node,
|
|
625
|
-
rowData: props.rowData,
|
|
626
|
-
value: ObjectUtils.resolveFieldData(props.node.data, props.field),
|
|
627
|
-
field: props.field,
|
|
628
|
-
rowIndex: props.rowIndex,
|
|
629
|
-
props: props
|
|
630
|
-
});else throw new Error('Editor is not found on column.');
|
|
631
|
-
} else {
|
|
632
|
-
if (props.body) content = ObjectUtils.getJSXElement(props.body, props.node, {
|
|
633
|
-
field: props.field,
|
|
634
|
-
rowIndex: props.rowIndex,
|
|
635
|
-
props: props
|
|
636
|
-
});else content = ObjectUtils.resolveFieldData(props.node.data, props.field);
|
|
637
|
-
}
|
|
638
|
-
var editorKeyHelperProps = mergeProps({
|
|
639
|
-
tabIndex: 0,
|
|
640
|
-
ref: keyHelperRef,
|
|
641
|
-
className: 'p-cell-editor-key-helper p-hidden-accessible',
|
|
642
|
-
onFocus: function onFocus(e) {
|
|
643
|
-
return onEditorFocus(e);
|
|
644
|
-
}
|
|
645
|
-
}, getColumnPTOptions('editorKeyHelperLabel'));
|
|
646
|
-
var editorKeyHelperLabelProps = mergeProps(getColumnPTOptions('editorKeyHelper'));
|
|
647
|
-
/* eslint-disable */
|
|
648
|
-
var editorKeyHelper = props.editor && /*#__PURE__*/React.createElement("a", editorKeyHelperProps, /*#__PURE__*/React.createElement("span", editorKeyHelperLabelProps));
|
|
649
|
-
/* eslint-enable */
|
|
650
|
-
var bodyCellProps = mergeProps({
|
|
651
|
-
className: classNames(bodyClassName || props.className, cx('bodyCell', {
|
|
652
|
-
bodyProps: props,
|
|
653
|
-
editingState: editingState
|
|
654
|
-
})),
|
|
655
|
-
style: style,
|
|
656
|
-
onClick: function onClick(e) {
|
|
657
|
-
return _onClick(e);
|
|
658
|
-
},
|
|
659
|
-
onKeyDown: function onKeyDown(e) {
|
|
660
|
-
return _onKeyDown(e);
|
|
661
|
-
}
|
|
662
|
-
}, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
|
|
663
|
-
return /*#__PURE__*/React.createElement("td", _extends({
|
|
664
|
-
ref: elementRef
|
|
665
|
-
}, bodyCellProps), props.children, editorKeyHelper, content);
|
|
666
|
-
};
|
|
667
|
-
TreeTableBodyCell.displayName = 'TreeTableBodyCell';
|
|
668
|
-
|
|
669
|
-
function _createForOfIteratorHelper$3(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
670
|
-
function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen); }
|
|
671
|
-
function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
672
|
-
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
673
|
-
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
674
|
-
var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
|
|
675
|
-
var elementRef = React.useRef(null);
|
|
676
|
-
var checkboxRef = React.useRef(null);
|
|
677
|
-
var checkboxBoxRef = React.useRef(null);
|
|
678
|
-
var nodeTouched = React.useRef(false);
|
|
679
|
-
var expanded = props.expandedKeys ? props.expandedKeys[props.node.key] !== undefined : false;
|
|
680
|
-
var getColumnProp = function getColumnProp(column, name) {
|
|
681
|
-
return ColumnBase.getCProp(column, name);
|
|
682
|
-
};
|
|
683
|
-
var getColumnProps = function getColumnProps(column) {
|
|
684
|
-
return ColumnBase.getCProps(column);
|
|
685
|
-
};
|
|
686
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
687
|
-
ptm = _props$ptCallbacks.ptm,
|
|
688
|
-
ptmo = _props$ptCallbacks.ptmo,
|
|
689
|
-
cx = _props$ptCallbacks.cx,
|
|
690
|
-
isUnstyled = _props$ptCallbacks.isUnstyled;
|
|
691
|
-
var getColumnPTOptions = function getColumnPTOptions(column, key) {
|
|
692
|
-
var cProps = getColumnProps(column);
|
|
693
|
-
var columnMetadata = {
|
|
694
|
-
props: cProps,
|
|
695
|
-
parent: props.metaData,
|
|
696
|
-
hostName: props.hostName,
|
|
697
|
-
context: {
|
|
698
|
-
index: props.rowIndex,
|
|
699
|
-
selectable: props.node.selectable !== false,
|
|
700
|
-
selected: isSelected(),
|
|
701
|
-
frozen: getColumnProp(column, 'frozen'),
|
|
702
|
-
scrollable: props.metaData.props.scrollable
|
|
703
|
-
}
|
|
704
|
-
};
|
|
705
|
-
return mergeProps(ptm("column.".concat(key), {
|
|
706
|
-
column: columnMetadata
|
|
707
|
-
}), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
|
|
708
|
-
};
|
|
709
|
-
var getColumnCheckboxPTOptions = function getColumnCheckboxPTOptions(column, key) {
|
|
710
|
-
var cProps = getColumnProps(column);
|
|
711
|
-
var columnMetadata = {
|
|
712
|
-
props: cProps,
|
|
713
|
-
parent: props.metaData,
|
|
714
|
-
hostName: props.hostName,
|
|
715
|
-
context: {
|
|
716
|
-
checked: isChecked(),
|
|
717
|
-
partialChecked: isPartialChecked()
|
|
718
|
-
}
|
|
719
|
-
};
|
|
720
|
-
return mergeProps(ptm("column.".concat(key), {
|
|
721
|
-
column: columnMetadata
|
|
722
|
-
}), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
|
|
723
|
-
};
|
|
724
|
-
var getRowPTOptions = function getRowPTOptions(key) {
|
|
725
|
-
var rowMetadata = {
|
|
726
|
-
hostName: props.hostName,
|
|
727
|
-
context: {
|
|
728
|
-
index: props.index,
|
|
729
|
-
selected: isSelected(),
|
|
730
|
-
selectable: props.node.selectable !== false,
|
|
731
|
-
frozen: getColumnProp('frozen'),
|
|
732
|
-
scrollable: props.metaData.props.scrollable,
|
|
733
|
-
showGridlines: props.metaData.props.showGridlines
|
|
734
|
-
}
|
|
735
|
-
};
|
|
736
|
-
return ptm(key, rowMetadata);
|
|
737
|
-
};
|
|
738
|
-
var onTogglerClick = function onTogglerClick(event) {
|
|
739
|
-
expanded ? collapse(event) : expand(event);
|
|
740
|
-
event.preventDefault();
|
|
741
|
-
event.stopPropagation();
|
|
742
|
-
};
|
|
743
|
-
var expand = function expand(event) {
|
|
744
|
-
var expandedKeys = props.expandedKeys ? _objectSpread$4({}, props.expandedKeys) : {};
|
|
745
|
-
expandedKeys[props.node.key] = true;
|
|
746
|
-
props.onToggle({
|
|
747
|
-
originalEvent: event,
|
|
748
|
-
value: expandedKeys
|
|
749
|
-
});
|
|
750
|
-
invokeToggleEvents(event, true);
|
|
751
|
-
};
|
|
752
|
-
var collapse = function collapse(event) {
|
|
753
|
-
var expandedKeys = _objectSpread$4({}, props.expandedKeys);
|
|
754
|
-
delete expandedKeys[props.node.key];
|
|
755
|
-
props.onToggle({
|
|
756
|
-
originalEvent: event,
|
|
757
|
-
value: expandedKeys
|
|
758
|
-
});
|
|
759
|
-
invokeToggleEvents(event, false);
|
|
760
|
-
};
|
|
761
|
-
var invokeToggleEvents = function invokeToggleEvents(event, expanded) {
|
|
762
|
-
if (expanded) {
|
|
763
|
-
if (props.onExpand) {
|
|
764
|
-
props.onExpand({
|
|
765
|
-
originalEvent: event,
|
|
766
|
-
node: props.node
|
|
767
|
-
});
|
|
768
|
-
}
|
|
769
|
-
} else {
|
|
770
|
-
if (props.onCollapse) {
|
|
771
|
-
props.onCollapse({
|
|
772
|
-
originalEvent: event,
|
|
773
|
-
node: props.node
|
|
774
|
-
});
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
};
|
|
778
|
-
var _onClick = function onClick(event) {
|
|
779
|
-
if (props.onRowClick) {
|
|
780
|
-
props.onRowClick(event, props.node);
|
|
781
|
-
}
|
|
782
|
-
nodeTouched.current = false;
|
|
783
|
-
};
|
|
784
|
-
var _onTouchEnd = function onTouchEnd() {
|
|
785
|
-
nodeTouched.current = true;
|
|
786
|
-
};
|
|
787
|
-
var _onMouseEnter = function onMouseEnter(event) {
|
|
788
|
-
if (props.onRowMouseEnter) {
|
|
789
|
-
props.onRowMouseEnter({
|
|
790
|
-
originalEvent: event,
|
|
791
|
-
node: props.node,
|
|
792
|
-
index: props.rowIndex
|
|
793
|
-
});
|
|
794
|
-
}
|
|
795
|
-
};
|
|
796
|
-
var _onMouseLeave = function onMouseLeave(event) {
|
|
797
|
-
if (props.onRowMouseLeave) {
|
|
798
|
-
props.onRowMouseLeave({
|
|
799
|
-
originalEvent: event,
|
|
800
|
-
node: props.node,
|
|
801
|
-
index: props.rowIndex
|
|
802
|
-
});
|
|
803
|
-
}
|
|
804
|
-
};
|
|
805
|
-
var onCheckboxChange = function onCheckboxChange(event) {
|
|
806
|
-
var checked = isChecked();
|
|
807
|
-
var selectionKeys = props.selectionKeys ? _objectSpread$4({}, props.selectionKeys) : {};
|
|
808
|
-
if (checked) {
|
|
809
|
-
if (props.propagateSelectionDown) propagateDown(props.node, false, selectionKeys);else delete selectionKeys[props.node.key];
|
|
810
|
-
if (props.propagateSelectionUp && props.onPropagateUp) {
|
|
811
|
-
props.onPropagateUp({
|
|
812
|
-
originalEvent: event,
|
|
813
|
-
check: false,
|
|
814
|
-
selectionKeys: selectionKeys
|
|
815
|
-
});
|
|
816
|
-
}
|
|
817
|
-
if (props.onUnselect) {
|
|
818
|
-
props.onUnselect({
|
|
819
|
-
originalEvent: event,
|
|
820
|
-
node: props.node
|
|
821
|
-
});
|
|
822
|
-
}
|
|
823
|
-
} else {
|
|
824
|
-
if (props.propagateSelectionDown) propagateDown(props.node, true, selectionKeys);else selectionKeys[props.node.key] = {
|
|
825
|
-
checked: true
|
|
826
|
-
};
|
|
827
|
-
if (props.propagateSelectionUp && props.onPropagateUp) {
|
|
828
|
-
props.onPropagateUp({
|
|
829
|
-
originalEvent: event,
|
|
830
|
-
check: true,
|
|
831
|
-
selectionKeys: selectionKeys
|
|
832
|
-
});
|
|
833
|
-
}
|
|
834
|
-
if (props.onSelect) {
|
|
835
|
-
props.onSelect({
|
|
836
|
-
originalEvent: event,
|
|
837
|
-
node: props.node
|
|
838
|
-
});
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
if (props.onSelectionChange) {
|
|
842
|
-
props.onSelectionChange({
|
|
843
|
-
originalEvent: event,
|
|
844
|
-
value: selectionKeys
|
|
845
|
-
});
|
|
846
|
-
}
|
|
847
|
-
DomHandler.clearSelection();
|
|
848
|
-
};
|
|
849
|
-
var onCheckboxFocus = function onCheckboxFocus() {
|
|
850
|
-
!isUnstyled() && DomHandler.addClass(checkboxBoxRef.current, 'p-focus');
|
|
851
|
-
!isUnstyled() && DomHandler.addClass(checkboxRef.current, 'p-checkbox-focused');
|
|
852
|
-
};
|
|
853
|
-
var onCheckboxBlur = function onCheckboxBlur() {
|
|
854
|
-
!isUnstyled() && DomHandler.removeClass(checkboxBoxRef.current, 'p-focus');
|
|
855
|
-
!isUnstyled() && DomHandler.removeClass(checkboxRef.current, 'p-checkbox-focused');
|
|
856
|
-
};
|
|
857
|
-
var propagateUp = function propagateUp(event) {
|
|
858
|
-
var check = event.check;
|
|
859
|
-
var selectionKeys = event.selectionKeys;
|
|
860
|
-
var checkedChildCount = 0;
|
|
861
|
-
var _iterator = _createForOfIteratorHelper$3(props.node.children),
|
|
862
|
-
_step;
|
|
863
|
-
try {
|
|
864
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
865
|
-
var child = _step.value;
|
|
866
|
-
if (selectionKeys[child.key] && selectionKeys[child.key].checked) checkedChildCount++;
|
|
867
|
-
}
|
|
868
|
-
} catch (err) {
|
|
869
|
-
_iterator.e(err);
|
|
870
|
-
} finally {
|
|
871
|
-
_iterator.f();
|
|
872
|
-
}
|
|
873
|
-
var parentKey = props.node.key;
|
|
874
|
-
var children = ObjectUtils.findChildrenByKey(props.originalOptions, parentKey);
|
|
875
|
-
var isParentPartiallyChecked = children.some(function (ele) {
|
|
876
|
-
return ele.key in selectionKeys;
|
|
877
|
-
});
|
|
878
|
-
var isCompletelyChecked = children.every(function (ele) {
|
|
879
|
-
return ele.key in selectionKeys && selectionKeys[ele.key].checked;
|
|
880
|
-
});
|
|
881
|
-
if (isParentPartiallyChecked && !isCompletelyChecked) {
|
|
882
|
-
selectionKeys[parentKey] = {
|
|
883
|
-
checked: false,
|
|
884
|
-
partialChecked: true
|
|
885
|
-
};
|
|
886
|
-
} else if (isCompletelyChecked) {
|
|
887
|
-
selectionKeys[parentKey] = {
|
|
888
|
-
checked: true,
|
|
889
|
-
partialChecked: false
|
|
890
|
-
};
|
|
891
|
-
} else if (check) {
|
|
892
|
-
selectionKeys[parentKey] = {
|
|
893
|
-
checked: false,
|
|
894
|
-
partialChecked: false
|
|
895
|
-
};
|
|
896
|
-
} else {
|
|
897
|
-
delete selectionKeys[parentKey];
|
|
898
|
-
}
|
|
899
|
-
if (props.propagateSelectionUp && props.onPropagateUp) {
|
|
900
|
-
props.onPropagateUp(event);
|
|
901
|
-
}
|
|
902
|
-
};
|
|
903
|
-
var propagateDown = function propagateDown(node, check, selectionKeys) {
|
|
904
|
-
if (check) selectionKeys[node.key] = {
|
|
905
|
-
checked: true,
|
|
906
|
-
partialChecked: false
|
|
907
|
-
};else delete selectionKeys[node.key];
|
|
908
|
-
if (node.children && node.children.length) {
|
|
909
|
-
for (var i = 0; i < node.children.length; i++) {
|
|
910
|
-
propagateDown(node.children[i], check, selectionKeys);
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
};
|
|
914
|
-
var onRightClick = function onRightClick(event) {
|
|
915
|
-
DomHandler.clearSelection();
|
|
916
|
-
if (props.onContextMenuSelectionChange) {
|
|
917
|
-
props.onContextMenuSelectionChange({
|
|
918
|
-
originalEvent: event,
|
|
919
|
-
value: props.node.key
|
|
920
|
-
});
|
|
921
|
-
}
|
|
922
|
-
if (props.onContextMenu) {
|
|
923
|
-
props.onContextMenu({
|
|
924
|
-
originalEvent: event,
|
|
925
|
-
node: props.node
|
|
926
|
-
});
|
|
927
|
-
}
|
|
928
|
-
};
|
|
929
|
-
var _onKeyDown = function onKeyDown(event) {
|
|
930
|
-
if (event.target === elementRef.current) {
|
|
931
|
-
var rowElement = event.currentTarget;
|
|
932
|
-
switch (event.which) {
|
|
933
|
-
//down arrow
|
|
934
|
-
case 40:
|
|
935
|
-
var nextRow = rowElement.nextElementSibling;
|
|
936
|
-
if (nextRow) {
|
|
937
|
-
nextRow.focus();
|
|
938
|
-
}
|
|
939
|
-
event.preventDefault();
|
|
940
|
-
break;
|
|
941
|
-
|
|
942
|
-
//up arrow
|
|
943
|
-
case 38:
|
|
944
|
-
var previousRow = rowElement.previousElementSibling;
|
|
945
|
-
if (previousRow) {
|
|
946
|
-
previousRow.focus();
|
|
947
|
-
}
|
|
948
|
-
event.preventDefault();
|
|
949
|
-
break;
|
|
950
|
-
|
|
951
|
-
//right arrow
|
|
952
|
-
case 39:
|
|
953
|
-
if (!expanded) {
|
|
954
|
-
expand(event);
|
|
955
|
-
}
|
|
956
|
-
event.preventDefault();
|
|
957
|
-
break;
|
|
958
|
-
|
|
959
|
-
//left arrow
|
|
960
|
-
case 37:
|
|
961
|
-
if (expanded) {
|
|
962
|
-
collapse(event);
|
|
963
|
-
}
|
|
964
|
-
event.preventDefault();
|
|
965
|
-
break;
|
|
966
|
-
|
|
967
|
-
//enter
|
|
968
|
-
case 13:
|
|
969
|
-
_onClick(event);
|
|
970
|
-
event.preventDefault();
|
|
971
|
-
break;
|
|
972
|
-
}
|
|
973
|
-
}
|
|
974
|
-
};
|
|
975
|
-
var isSelected = function isSelected() {
|
|
976
|
-
if ((props.selectionMode === 'single' || props.selectionMode === 'multiple') && props.selectionKeys) return props.selectionMode === 'single' ? props.selectionKeys === props.node.key : props.selectionKeys[props.node.key] !== undefined;else return false;
|
|
977
|
-
};
|
|
978
|
-
var isChecked = function isChecked() {
|
|
979
|
-
return props.selectionKeys ? props.selectionKeys[props.node.key] && props.selectionKeys[props.node.key].checked : false;
|
|
980
|
-
};
|
|
981
|
-
var isPartialChecked = function isPartialChecked() {
|
|
982
|
-
return props.selectionKeys ? props.selectionKeys[props.node.key] && props.selectionKeys[props.node.key].partialChecked : false;
|
|
983
|
-
};
|
|
984
|
-
var createToggler = function createToggler(column) {
|
|
985
|
-
var label = expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
|
|
986
|
-
var rowTogglerIconProps = mergeProps({
|
|
987
|
-
className: cx('rowTogglerIcon'),
|
|
988
|
-
'aria-hidden': true
|
|
989
|
-
}, getColumnPTOptions(column, 'rowTogglerIcon'));
|
|
990
|
-
var icon = expanded ? /*#__PURE__*/React.createElement(ChevronDownIcon, rowTogglerIconProps) : /*#__PURE__*/React.createElement(ChevronRightIcon, rowTogglerIconProps);
|
|
991
|
-
var togglerIcon = IconUtils.getJSXIcon(props.togglerIcon || icon, _objectSpread$4({}, rowTogglerIconProps), {
|
|
992
|
-
props: props
|
|
993
|
-
});
|
|
994
|
-
var rowTogglerProps = mergeProps({
|
|
995
|
-
type: 'button',
|
|
996
|
-
className: cx('rowToggler'),
|
|
997
|
-
onClick: function onClick(e) {
|
|
998
|
-
return onTogglerClick(e);
|
|
999
|
-
},
|
|
1000
|
-
tabIndex: -1,
|
|
1001
|
-
style: {
|
|
1002
|
-
marginLeft: props.level * 16 + 'px',
|
|
1003
|
-
visibility: props.node.leaf === false || props.node.children && props.node.children.length ? 'visible' : 'hidden'
|
|
1004
|
-
},
|
|
1005
|
-
'aria-label': label
|
|
1006
|
-
}, getColumnPTOptions(column, 'rowToggler'));
|
|
1007
|
-
var content = /*#__PURE__*/React.createElement("button", rowTogglerProps, togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
|
|
1008
|
-
if (props.togglerTemplate) {
|
|
1009
|
-
var defaultContentOptions = {
|
|
1010
|
-
onClick: onTogglerClick,
|
|
1011
|
-
containerClassName: 'p-treetable-toggler p-link',
|
|
1012
|
-
iconClassName: 'p-treetable-toggler-icon',
|
|
1013
|
-
element: content,
|
|
1014
|
-
props: props,
|
|
1015
|
-
expanded: expanded,
|
|
1016
|
-
buttonStyle: {
|
|
1017
|
-
marginLeft: props.level * 16 + 'px',
|
|
1018
|
-
visibility: props.node.leaf === false || props.node.children && props.node.children.length ? 'visible' : 'hidden'
|
|
1019
|
-
}
|
|
1020
|
-
};
|
|
1021
|
-
content = ObjectUtils.getJSXElement(props.togglerTemplate, props.node, defaultContentOptions);
|
|
1022
|
-
}
|
|
1023
|
-
return content;
|
|
1024
|
-
};
|
|
1025
|
-
var createCheckbox = function createCheckbox(column) {
|
|
1026
|
-
if (props.selectionMode === 'checkbox' && props.node.selectable !== false) {
|
|
1027
|
-
var checked = isChecked();
|
|
1028
|
-
var partialChecked = isPartialChecked();
|
|
1029
|
-
var checboxIconProps = mergeProps({
|
|
1030
|
-
className: cx('checkboxIcon')
|
|
1031
|
-
}, getColumnCheckboxPTOptions(column, 'checkboxIcon'));
|
|
1032
|
-
var icon = checked ? props.checkboxIcon || /*#__PURE__*/React.createElement(CheckIcon, checboxIconProps) : partialChecked ? props.checkboxIcon || /*#__PURE__*/React.createElement(MinusIcon, checboxIconProps) : null;
|
|
1033
|
-
var checkIcon = IconUtils.getJSXIcon(icon, _objectSpread$4({}, checboxIconProps), {
|
|
1034
|
-
props: props,
|
|
1035
|
-
checked: checked,
|
|
1036
|
-
partialChecked: partialChecked
|
|
1037
|
-
});
|
|
1038
|
-
var hiddenInputProps = mergeProps({
|
|
1039
|
-
type: 'checkbox',
|
|
1040
|
-
onFocus: function onFocus(e) {
|
|
1041
|
-
return onCheckboxFocus();
|
|
1042
|
-
},
|
|
1043
|
-
onBlur: function onBlur(e) {
|
|
1044
|
-
return onCheckboxBlur();
|
|
1045
|
-
}
|
|
1046
|
-
}, getColumnCheckboxPTOptions(column, 'hiddenInput'));
|
|
1047
|
-
var checkboxWrapperProps = mergeProps({
|
|
1048
|
-
className: cx('checkboxWrapper'),
|
|
1049
|
-
onClick: function onClick(e) {
|
|
1050
|
-
return onCheckboxChange(e);
|
|
1051
|
-
},
|
|
1052
|
-
role: 'checkbox',
|
|
1053
|
-
'aria-checked': checked
|
|
1054
|
-
}, getColumnCheckboxPTOptions(column, 'checkboxWrapper'));
|
|
1055
|
-
var hiddenInputWrapperProps = mergeProps({
|
|
1056
|
-
className: 'p-hidden-accessible'
|
|
1057
|
-
}, getColumnCheckboxPTOptions(column, 'hiddenInputWrapper'));
|
|
1058
|
-
var checkboxProps = mergeProps({
|
|
1059
|
-
className: cx('checkbox', {
|
|
1060
|
-
checked: checked,
|
|
1061
|
-
partialChecked: partialChecked
|
|
1062
|
-
})
|
|
1063
|
-
}, getColumnCheckboxPTOptions(column, 'checkbox'));
|
|
1064
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
1065
|
-
ref: checkboxRef
|
|
1066
|
-
}, checkboxWrapperProps), /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", hiddenInputProps)), /*#__PURE__*/React.createElement("div", _extends({
|
|
1067
|
-
ref: checkboxBoxRef
|
|
1068
|
-
}, checkboxProps), checkIcon));
|
|
1069
|
-
} else {
|
|
1070
|
-
return null;
|
|
1071
|
-
}
|
|
1072
|
-
};
|
|
1073
|
-
var createCell = function createCell(column, index) {
|
|
1074
|
-
var toggler, checkbox;
|
|
1075
|
-
if (getColumnProp(column, 'expander')) {
|
|
1076
|
-
toggler = createToggler(column);
|
|
1077
|
-
checkbox = createCheckbox(column);
|
|
1078
|
-
}
|
|
1079
|
-
return /*#__PURE__*/React.createElement(TreeTableBodyCell, _extends({
|
|
1080
|
-
hostName: props.hostName,
|
|
1081
|
-
key: "".concat(getColumnProp(column, 'columnKey') || getColumnProp(column, 'field'), "_").concat(index)
|
|
1082
|
-
}, ColumnBase.getCProps(column), {
|
|
1083
|
-
index: index,
|
|
1084
|
-
column: column,
|
|
1085
|
-
selectOnEdit: props.selectOnEdit,
|
|
1086
|
-
selected: isSelected(),
|
|
1087
|
-
node: props.node,
|
|
1088
|
-
rowData: props.node && props.node.data,
|
|
1089
|
-
rowIndex: props.rowIndex,
|
|
1090
|
-
ptCallbacks: props.ptCallbacks,
|
|
1091
|
-
metaData: props.metaData
|
|
1092
|
-
}), toggler, checkbox);
|
|
1093
|
-
};
|
|
1094
|
-
var createChildren = function createChildren() {
|
|
1095
|
-
if (expanded && props.node.children) {
|
|
1096
|
-
return props.node.children.map(function (childNode, index) {
|
|
1097
|
-
return /*#__PURE__*/React.createElement(TreeTableRow, {
|
|
1098
|
-
hostName: props.hostName,
|
|
1099
|
-
key: "".concat(childNode.key || JSON.stringify(childNode.data), "_").concat(index),
|
|
1100
|
-
level: props.level + 1,
|
|
1101
|
-
rowIndex: props.rowIndex + '_' + index,
|
|
1102
|
-
node: childNode,
|
|
1103
|
-
originalOptions: props.originalOptions,
|
|
1104
|
-
checkboxIcon: props.checkboxIcon,
|
|
1105
|
-
columns: props.columns,
|
|
1106
|
-
expandedKeys: props.expandedKeys,
|
|
1107
|
-
selectOnEdit: props.selectOnEdit,
|
|
1108
|
-
onToggle: props.onToggle,
|
|
1109
|
-
togglerTemplate: props.togglerTemplate,
|
|
1110
|
-
onExpand: props.onExpand,
|
|
1111
|
-
onCollapse: props.onCollapse,
|
|
1112
|
-
selectionMode: props.selectionMode,
|
|
1113
|
-
selectionKeys: props.selectionKeys,
|
|
1114
|
-
onSelectionChange: props.onSelectionChange,
|
|
1115
|
-
metaKeySelection: props.metaKeySelection,
|
|
1116
|
-
onRowClick: props.onRowClick,
|
|
1117
|
-
onRowMouseEnter: props.onRowMouseEnter,
|
|
1118
|
-
onRowMouseLeave: props.onRowMouseLeave,
|
|
1119
|
-
onSelect: props.onSelect,
|
|
1120
|
-
onUnselect: props.onUnselect,
|
|
1121
|
-
propagateSelectionUp: props.propagateSelectionUp,
|
|
1122
|
-
propagateSelectionDown: props.propagateSelectionDown,
|
|
1123
|
-
onPropagateUp: propagateUp,
|
|
1124
|
-
rowClassName: props.rowClassName,
|
|
1125
|
-
contextMenuSelectionKey: props.contextMenuSelectionKey,
|
|
1126
|
-
onContextMenuSelectionChange: props.onContextMenuSelectionChange,
|
|
1127
|
-
onContextMenu: props.onContextMenu,
|
|
1128
|
-
ptCallbacks: props.ptCallbacks,
|
|
1129
|
-
metaData: props.metaData
|
|
1130
|
-
});
|
|
1131
|
-
});
|
|
1132
|
-
} else {
|
|
1133
|
-
return null;
|
|
1134
|
-
}
|
|
1135
|
-
};
|
|
1136
|
-
var cells = props.columns.map(createCell);
|
|
1137
|
-
var children = createChildren();
|
|
1138
|
-
var className = cx('row', {
|
|
1139
|
-
isSelected: isSelected,
|
|
1140
|
-
rowProps: props
|
|
1141
|
-
});
|
|
1142
|
-
if (props.rowClassName) {
|
|
1143
|
-
var rowClassName = props.rowClassName(props.node);
|
|
1144
|
-
className = _objectSpread$4(_objectSpread$4({}, className), rowClassName);
|
|
1145
|
-
}
|
|
1146
|
-
className = classNames(className, props.node.className);
|
|
1147
|
-
var rowProps = mergeProps({
|
|
1148
|
-
tabIndex: 0,
|
|
1149
|
-
className: className,
|
|
1150
|
-
style: props.node.style,
|
|
1151
|
-
onClick: function onClick(e) {
|
|
1152
|
-
return _onClick(e);
|
|
1153
|
-
},
|
|
1154
|
-
onTouchEnd: function onTouchEnd(e) {
|
|
1155
|
-
return _onTouchEnd();
|
|
1156
|
-
},
|
|
1157
|
-
onContextMenu: function onContextMenu(e) {
|
|
1158
|
-
return onRightClick(e);
|
|
1159
|
-
},
|
|
1160
|
-
onKeyDown: function onKeyDown(e) {
|
|
1161
|
-
return _onKeyDown(e);
|
|
1162
|
-
},
|
|
1163
|
-
onMouseEnter: function onMouseEnter(e) {
|
|
1164
|
-
return _onMouseEnter(e);
|
|
1165
|
-
},
|
|
1166
|
-
onMouseLeave: function onMouseLeave(e) {
|
|
1167
|
-
return _onMouseLeave(e);
|
|
1168
|
-
},
|
|
1169
|
-
'data-p-highlight': isSelected()
|
|
1170
|
-
}, getRowPTOptions('row'));
|
|
1171
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", _extends({
|
|
1172
|
-
ref: elementRef
|
|
1173
|
-
}, rowProps), cells), children);
|
|
1174
|
-
});
|
|
1175
|
-
TreeTableRow.displayName = 'TreeTableRow';
|
|
1176
|
-
|
|
1177
|
-
function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
1178
|
-
function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); }
|
|
1179
|
-
function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
1180
|
-
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1181
|
-
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1182
|
-
var TreeTableBody = /*#__PURE__*/React.memo(function (props) {
|
|
1183
|
-
var isSingleSelectionMode = props.selectionMode === 'single';
|
|
1184
|
-
var isMultipleSelectionMode = props.selectionMode === 'multiple';
|
|
1185
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
1186
|
-
ptm = _props$ptCallbacks.ptm,
|
|
1187
|
-
cx = _props$ptCallbacks.cx;
|
|
1188
|
-
var getPTOptions = function getPTOptions(key, options) {
|
|
1189
|
-
return ptm(key, _objectSpread$3({
|
|
1190
|
-
hostName: props.hostName
|
|
1191
|
-
}, options));
|
|
1192
|
-
};
|
|
1193
|
-
var flattenizeTree = function flattenizeTree(nodes) {
|
|
1194
|
-
var rows = [];
|
|
1195
|
-
nodes = nodes || props.value;
|
|
1196
|
-
var _iterator = _createForOfIteratorHelper$2(nodes),
|
|
1197
|
-
_step;
|
|
1198
|
-
try {
|
|
1199
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1200
|
-
var node = _step.value;
|
|
1201
|
-
rows.push(node.key);
|
|
1202
|
-
if (isExpandedKey(node.key)) {
|
|
1203
|
-
rows = rows.concat(flattenizeTree(node.children));
|
|
1204
|
-
}
|
|
1205
|
-
}
|
|
1206
|
-
} catch (err) {
|
|
1207
|
-
_iterator.e(err);
|
|
1208
|
-
} finally {
|
|
1209
|
-
_iterator.f();
|
|
1210
|
-
}
|
|
1211
|
-
return rows;
|
|
1212
|
-
};
|
|
1213
|
-
var isExpandedKey = function isExpandedKey(key) {
|
|
1214
|
-
return props.expandedKeys && !!props.expandedKeys[key];
|
|
1215
|
-
};
|
|
1216
|
-
var onRowClick = function onRowClick(event, node) {
|
|
1217
|
-
if (props.onRowClick) {
|
|
1218
|
-
props.onRowClick({
|
|
1219
|
-
originalEvent: event,
|
|
1220
|
-
node: node
|
|
1221
|
-
});
|
|
1222
|
-
}
|
|
1223
|
-
var targetNode = event.target.nodeName;
|
|
1224
|
-
if (targetNode === 'INPUT' || targetNode === 'BUTTON' || targetNode === 'A' || DomHandler.getAttribute(event.target, 'data-pc-section') === 'columnresizer') {
|
|
1225
|
-
return;
|
|
1226
|
-
}
|
|
1227
|
-
if ((isSingleSelectionMode || isMultipleSelectionMode) && node.selectable !== false) {
|
|
1228
|
-
var selectionKeys;
|
|
1229
|
-
var selected = isSelected(node);
|
|
1230
|
-
var metaSelection = props.metaKeySelection;
|
|
1231
|
-
var flatKeys = flattenizeTree();
|
|
1232
|
-
var rowIndex = flatKeys.findIndex(function (key) {
|
|
1233
|
-
return key === node.key;
|
|
1234
|
-
});
|
|
1235
|
-
if (isMultipleSelectionMode && event.shiftKey) {
|
|
1236
|
-
DomHandler.clearSelection();
|
|
1237
|
-
|
|
1238
|
-
// find first selected row
|
|
1239
|
-
var anchorRowIndex = flatKeys.findIndex(function (key) {
|
|
1240
|
-
return props.selectionKeys[key];
|
|
1241
|
-
});
|
|
1242
|
-
var rangeStart = Math.min(rowIndex, anchorRowIndex);
|
|
1243
|
-
var rangeEnd = Math.max(rowIndex, anchorRowIndex);
|
|
1244
|
-
selectionKeys = _objectSpread$3({}, props.selectionKeys);
|
|
1245
|
-
for (var i = rangeStart; i <= rangeEnd; i++) {
|
|
1246
|
-
var rowKey = flatKeys[i];
|
|
1247
|
-
selectionKeys[rowKey] = true;
|
|
1248
|
-
}
|
|
1249
|
-
} else {
|
|
1250
|
-
//anchorRowIndex = rowIndex;
|
|
1251
|
-
|
|
1252
|
-
if (metaSelection) {
|
|
1253
|
-
var metaKey = event.metaKey || event.ctrlKey;
|
|
1254
|
-
if (selected && metaKey) {
|
|
1255
|
-
if (isSingleSelectionMode) {
|
|
1256
|
-
selectionKeys = null;
|
|
1257
|
-
} else {
|
|
1258
|
-
selectionKeys = _objectSpread$3({}, props.selectionKeys);
|
|
1259
|
-
delete selectionKeys[node.key];
|
|
1260
|
-
}
|
|
1261
|
-
if (props.onUnselect) {
|
|
1262
|
-
props.onUnselect({
|
|
1263
|
-
originalEvent: event,
|
|
1264
|
-
node: node
|
|
1265
|
-
});
|
|
1266
|
-
}
|
|
1267
|
-
} else {
|
|
1268
|
-
if (isSingleSelectionMode) {
|
|
1269
|
-
selectionKeys = node.key;
|
|
1270
|
-
} else if (isMultipleSelectionMode) {
|
|
1271
|
-
selectionKeys = !metaKey ? {} : props.selectionKeys ? _objectSpread$3({}, props.selectionKeys) : {};
|
|
1272
|
-
selectionKeys[node.key] = true;
|
|
1273
|
-
}
|
|
1274
|
-
if (props.onSelect) {
|
|
1275
|
-
props.onSelect({
|
|
1276
|
-
originalEvent: event,
|
|
1277
|
-
node: node
|
|
1278
|
-
});
|
|
1279
|
-
}
|
|
1280
|
-
}
|
|
1281
|
-
} else {
|
|
1282
|
-
if (isSingleSelectionMode) {
|
|
1283
|
-
if (selected) {
|
|
1284
|
-
selectionKeys = null;
|
|
1285
|
-
if (props.onUnselect) {
|
|
1286
|
-
props.onUnselect({
|
|
1287
|
-
originalEvent: event,
|
|
1288
|
-
node: node
|
|
1289
|
-
});
|
|
1290
|
-
}
|
|
1291
|
-
} else {
|
|
1292
|
-
selectionKeys = node.key;
|
|
1293
|
-
if (props.onSelect) {
|
|
1294
|
-
props.onSelect({
|
|
1295
|
-
originalEvent: event,
|
|
1296
|
-
node: node
|
|
1297
|
-
});
|
|
1298
|
-
}
|
|
1299
|
-
}
|
|
1300
|
-
} else {
|
|
1301
|
-
if (selected) {
|
|
1302
|
-
selectionKeys = _objectSpread$3({}, props.selectionKeys);
|
|
1303
|
-
delete selectionKeys[node.key];
|
|
1304
|
-
if (props.onUnselect) {
|
|
1305
|
-
props.onUnselect({
|
|
1306
|
-
originalEvent: event,
|
|
1307
|
-
node: node
|
|
1308
|
-
});
|
|
1309
|
-
}
|
|
1310
|
-
} else {
|
|
1311
|
-
selectionKeys = props.selectionKeys ? _objectSpread$3({}, props.selectionKeys) : {};
|
|
1312
|
-
selectionKeys[node.key] = true;
|
|
1313
|
-
if (props.onSelect) {
|
|
1314
|
-
props.onSelect({
|
|
1315
|
-
originalEvent: event,
|
|
1316
|
-
node: node
|
|
1317
|
-
});
|
|
1318
|
-
}
|
|
1319
|
-
}
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
}
|
|
1323
|
-
if (props.onSelectionChange) {
|
|
1324
|
-
props.onSelectionChange({
|
|
1325
|
-
originalEvent: event,
|
|
1326
|
-
value: selectionKeys
|
|
1327
|
-
});
|
|
1328
|
-
}
|
|
1329
|
-
}
|
|
1330
|
-
};
|
|
1331
|
-
var isSelected = function isSelected(node) {
|
|
1332
|
-
if ((isSingleSelectionMode || isMultipleSelectionMode) && props.selectionKeys) return isSingleSelectionMode ? props.selectionKeys === node.key : props.selectionKeys[node.key] !== undefined;else return false;
|
|
1333
|
-
};
|
|
1334
|
-
var createRow = function createRow(node, index) {
|
|
1335
|
-
return /*#__PURE__*/React.createElement(TreeTableRow, {
|
|
1336
|
-
hostName: props.hostName,
|
|
1337
|
-
key: "".concat(node.key || JSON.stringify(node.data), "_").concat(index),
|
|
1338
|
-
level: 0,
|
|
1339
|
-
rowIndex: index,
|
|
1340
|
-
selectOnEdit: props.selectOnEdit,
|
|
1341
|
-
node: node,
|
|
1342
|
-
originalOptions: props.originalOptions,
|
|
1343
|
-
checkboxIcon: props.checkboxIcon,
|
|
1344
|
-
columns: props.columns,
|
|
1345
|
-
expandedKeys: props.expandedKeys,
|
|
1346
|
-
onToggle: props.onToggle,
|
|
1347
|
-
togglerTemplate: props.togglerTemplate,
|
|
1348
|
-
onExpand: props.onExpand,
|
|
1349
|
-
onCollapse: props.onCollapse,
|
|
1350
|
-
selectionMode: props.selectionMode,
|
|
1351
|
-
selectionKeys: props.selectionKeys,
|
|
1352
|
-
onSelectionChange: props.onSelectionChange,
|
|
1353
|
-
metaKeySelection: props.metaKeySelection,
|
|
1354
|
-
onRowClick: onRowClick,
|
|
1355
|
-
onRowMouseEnter: props.onRowMouseEnter,
|
|
1356
|
-
onRowMouseLeave: props.onRowMouseLeave,
|
|
1357
|
-
onSelect: props.onSelect,
|
|
1358
|
-
onUnselect: props.onUnselect,
|
|
1359
|
-
propagateSelectionUp: props.propagateSelectionUp,
|
|
1360
|
-
propagateSelectionDown: props.propagateSelectionDown,
|
|
1361
|
-
rowClassName: props.rowClassName,
|
|
1362
|
-
contextMenuSelectionKey: props.contextMenuSelectionKey,
|
|
1363
|
-
onContextMenuSelectionChange: props.onContextMenuSelectionChange,
|
|
1364
|
-
onContextMenu: props.onContextMenu,
|
|
1365
|
-
ptCallbacks: props.ptCallbacks,
|
|
1366
|
-
metaData: props.metaData
|
|
1367
|
-
});
|
|
1368
|
-
};
|
|
1369
|
-
var createRows = function createRows() {
|
|
1370
|
-
if (props.paginator && !props.lazy) {
|
|
1371
|
-
var rpp = props.rows || 0;
|
|
1372
|
-
var startIndex = props.first || 0;
|
|
1373
|
-
var endIndex = startIndex + rpp;
|
|
1374
|
-
var rows = [];
|
|
1375
|
-
for (var i = startIndex; i < endIndex; i++) {
|
|
1376
|
-
var rowData = props.value[i];
|
|
1377
|
-
if (rowData) rows.push(createRow(props.value[i]));else break;
|
|
1378
|
-
}
|
|
1379
|
-
return rows;
|
|
1380
|
-
} else {
|
|
1381
|
-
return props.value.map(createRow);
|
|
1382
|
-
}
|
|
1383
|
-
};
|
|
1384
|
-
var createEmptyMessage = function createEmptyMessage() {
|
|
1385
|
-
if (props.loading) {
|
|
1386
|
-
return null;
|
|
1387
|
-
} else {
|
|
1388
|
-
var colSpan = props.columns ? props.columns.length : null;
|
|
1389
|
-
var _content = props.emptyMessage || localeOption('emptyMessage');
|
|
1390
|
-
var emptyMessageProps = mergeProps({
|
|
1391
|
-
className: cx('emptyMessage')
|
|
1392
|
-
}, getPTOptions('emptyMessage'));
|
|
1393
|
-
var emptyMessageCellProps = mergeProps({
|
|
1394
|
-
colSpan: colSpan
|
|
1395
|
-
}, getPTOptions('emptyMessageCell'));
|
|
1396
|
-
return /*#__PURE__*/React.createElement("tr", emptyMessageProps, /*#__PURE__*/React.createElement("td", emptyMessageCellProps, _content));
|
|
1397
|
-
}
|
|
1398
|
-
};
|
|
1399
|
-
var content = props.value && props.value.length ? createRows() : createEmptyMessage();
|
|
1400
|
-
var tbodyProps = mergeProps({
|
|
1401
|
-
className: cx('tbody')
|
|
1402
|
-
}, getPTOptions('tbody'));
|
|
1403
|
-
return /*#__PURE__*/React.createElement("tbody", tbodyProps, content);
|
|
1404
|
-
});
|
|
1405
|
-
TreeTableBody.displayName = 'TreeTableBody';
|
|
1406
|
-
|
|
1407
|
-
var ColumnGroupBase = ComponentBase.extend({
|
|
1408
|
-
defaultProps: {
|
|
1409
|
-
__TYPE: 'ColumnGroup',
|
|
1410
|
-
children: undefined
|
|
1411
|
-
},
|
|
1412
|
-
getCProp: function getCProp(group, name) {
|
|
1413
|
-
return ObjectUtils.getComponentProp(group, name, ColumnGroupBase.defaultProps);
|
|
1414
|
-
},
|
|
1415
|
-
getCProps: function getCProps(group) {
|
|
1416
|
-
return ObjectUtils.getComponentProps(group, ColumnGroupBase.defaultProps);
|
|
1417
|
-
}
|
|
1418
|
-
});
|
|
1419
|
-
|
|
1420
|
-
var RowBase = ComponentBase.extend({
|
|
1421
|
-
defaultProps: {
|
|
1422
|
-
__TYPE: 'Row',
|
|
1423
|
-
style: null,
|
|
1424
|
-
className: null,
|
|
1425
|
-
children: undefined
|
|
1426
|
-
},
|
|
1427
|
-
getCProp: function getCProp(row, name) {
|
|
1428
|
-
return ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
|
|
1429
|
-
}
|
|
1430
|
-
});
|
|
1431
|
-
|
|
1432
|
-
var TreeTableFooter = /*#__PURE__*/React.memo(function (props) {
|
|
1433
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
1434
|
-
ptm = _props$ptCallbacks.ptm,
|
|
1435
|
-
ptmo = _props$ptCallbacks.ptmo,
|
|
1436
|
-
cx = _props$ptCallbacks.cx;
|
|
1437
|
-
var getColumnProp = function getColumnProp(column, name) {
|
|
1438
|
-
return ColumnBase.getCProp(column, name);
|
|
1439
|
-
};
|
|
1440
|
-
var getColumnProps = function getColumnProps(column) {
|
|
1441
|
-
return ColumnBase.getCProps(column);
|
|
1442
|
-
};
|
|
1443
|
-
var getColumnPTOptions = function getColumnPTOptions(column, key) {
|
|
1444
|
-
var cProps = getColumnProps(column);
|
|
1445
|
-
var columnMetadata = {
|
|
1446
|
-
props: cProps,
|
|
1447
|
-
parent: props.metaData,
|
|
1448
|
-
hostName: props.hostName
|
|
1449
|
-
};
|
|
1450
|
-
return mergeProps(ptm("column.".concat(key), {
|
|
1451
|
-
column: columnMetadata
|
|
1452
|
-
}), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
|
|
1453
|
-
};
|
|
1454
|
-
var createFooterCell = function createFooterCell(column, index) {
|
|
1455
|
-
var footerCellProps = mergeProps({
|
|
1456
|
-
key: column.field || index,
|
|
1457
|
-
className: getColumnProp(column, 'footerClassName') || getColumnProp(column, 'className'),
|
|
1458
|
-
style: getColumnProp(column, 'footerStyle') || getColumnProp(column, 'style'),
|
|
1459
|
-
rowSpan: getColumnProp(column, 'rowSpan'),
|
|
1460
|
-
colSpan: getColumnProp(column, 'colSpan')
|
|
1461
|
-
}, getColumnPTOptions(column, 'footerCell'));
|
|
1462
|
-
var content = ObjectUtils.getJSXElement(getColumnProp(column, 'footer'), {
|
|
1463
|
-
props: getColumnProps(column)
|
|
1464
|
-
});
|
|
1465
|
-
return /*#__PURE__*/React.createElement("td", footerCellProps, content);
|
|
1466
|
-
};
|
|
1467
|
-
var createFooterRow = function createFooterRow(row, index) {
|
|
1468
|
-
var rowColumns = React.Children.toArray(RowBase.getCProp(row, 'children'));
|
|
1469
|
-
var rowFooterCells = rowColumns.map(createFooterCell);
|
|
1470
|
-
var footerRowProps = mergeProps(ptm('footerRow', {
|
|
1471
|
-
hostName: props.hostName
|
|
1472
|
-
}));
|
|
1473
|
-
return /*#__PURE__*/React.createElement("tr", _extends({}, footerRowProps, {
|
|
1474
|
-
key: index
|
|
1475
|
-
}), rowFooterCells);
|
|
1476
|
-
};
|
|
1477
|
-
var createColumnGroup = function createColumnGroup() {
|
|
1478
|
-
var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.columnGroup, 'children'));
|
|
1479
|
-
return rows.map(createFooterRow);
|
|
1480
|
-
};
|
|
1481
|
-
var createColumns = function createColumns(columns) {
|
|
1482
|
-
if (columns) {
|
|
1483
|
-
var headerCells = columns.map(createFooterCell);
|
|
1484
|
-
var footerRowProps = mergeProps(ptm('footerRow', {
|
|
1485
|
-
hostName: props.hostName
|
|
1486
|
-
}));
|
|
1487
|
-
return /*#__PURE__*/React.createElement("tr", footerRowProps, headerCells);
|
|
1488
|
-
} else {
|
|
1489
|
-
return null;
|
|
1490
|
-
}
|
|
1491
|
-
};
|
|
1492
|
-
var hasFooter = function hasFooter() {
|
|
1493
|
-
return props.columnGroup ? true : props.columns ? props.columns.some(function (col) {
|
|
1494
|
-
return col && getColumnProp(col, 'footer');
|
|
1495
|
-
}) : false;
|
|
1496
|
-
};
|
|
1497
|
-
var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
|
|
1498
|
-
if (hasFooter()) {
|
|
1499
|
-
var tfootProps = mergeProps({
|
|
1500
|
-
className: cx('tfoot')
|
|
1501
|
-
}, ptm('tfoot', {
|
|
1502
|
-
hostName: props.hostName
|
|
1503
|
-
}));
|
|
1504
|
-
return /*#__PURE__*/React.createElement("tfoot", tfootProps, content);
|
|
1505
|
-
} else {
|
|
1506
|
-
return null;
|
|
1507
|
-
}
|
|
1508
|
-
});
|
|
1509
|
-
TreeTableFooter.displayName = 'TreeTableFooter';
|
|
1510
|
-
|
|
1511
|
-
function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
1512
|
-
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
|
|
1513
|
-
function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
1514
|
-
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1515
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1516
|
-
var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
1517
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
1518
|
-
ptm = _props$ptCallbacks.ptm,
|
|
1519
|
-
ptmo = _props$ptCallbacks.ptmo,
|
|
1520
|
-
cx = _props$ptCallbacks.cx;
|
|
1521
|
-
var filterTimeout = React.useRef(null);
|
|
1522
|
-
var getColumnProp = function getColumnProp(column) {
|
|
1523
|
-
return column ? typeof (arguments.length <= 1 ? undefined : arguments[1]) === 'string' ? ColumnBase.getCProp(column, arguments.length <= 1 ? undefined : arguments[1]) : ColumnBase.getCProp((arguments.length <= 1 ? undefined : arguments[1]) || column, arguments.length <= 2 ? undefined : arguments[2]) : null;
|
|
1524
|
-
};
|
|
1525
|
-
var getColumnProps = function getColumnProps(column) {
|
|
1526
|
-
return ColumnBase.getCProps(column);
|
|
1527
|
-
};
|
|
1528
|
-
var getColumnPTOptions = function getColumnPTOptions(column, key, params) {
|
|
1529
|
-
var cProps = getColumnProps(column);
|
|
1530
|
-
var columnMetadata = _objectSpread$2({
|
|
1531
|
-
props: cProps,
|
|
1532
|
-
parent: props.metaData,
|
|
1533
|
-
hostName: props.hostName
|
|
1534
|
-
}, params);
|
|
1535
|
-
return mergeProps(ptm("column.".concat(key), {
|
|
1536
|
-
column: columnMetadata
|
|
1537
|
-
}), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
|
|
1538
|
-
};
|
|
1539
|
-
var onHeaderClick = function onHeaderClick(event, column) {
|
|
1540
|
-
if (getColumnProp(column, 'sortable')) {
|
|
1541
|
-
var targetNode = event.target;
|
|
1542
|
-
if (DomHandler.getAttribute(targetNode, 'data-p-sortable-column') === true || DomHandler.getAttribute(targetNode, 'data-pc-section') === 'headertitle' || DomHandler.getAttribute(targetNode, 'data-pc-section') === 'sorticon' || DomHandler.getAttribute(targetNode.parentElement, 'data-pc-section') === 'sorticon') {
|
|
1543
|
-
props.onSort({
|
|
1544
|
-
originalEvent: event,
|
|
1545
|
-
sortField: getColumnProp(column, 'sortField') || getColumnProp(column, 'field'),
|
|
1546
|
-
sortFunction: getColumnProp(column, 'sortFunction'),
|
|
1547
|
-
sortable: getColumnProp(column, 'sortable')
|
|
1548
|
-
});
|
|
1549
|
-
DomHandler.clearSelection();
|
|
1550
|
-
}
|
|
1551
|
-
}
|
|
1552
|
-
};
|
|
1553
|
-
var onHeaderMouseDown = function onHeaderMouseDown(event, column) {
|
|
1554
|
-
if (props.reorderableColumns && getColumnProp(column, 'reorderable')) {
|
|
1555
|
-
if (event.target.nodeName !== 'INPUT') event.currentTarget.draggable = true;else if (event.target.nodeName === 'INPUT') event.currentTarget.draggable = false;
|
|
1556
|
-
}
|
|
1557
|
-
};
|
|
1558
|
-
var onHeaderKeyDown = function onHeaderKeyDown(event, column) {
|
|
1559
|
-
if (event.key === 'Enter') {
|
|
1560
|
-
onHeaderClick(event, column);
|
|
1561
|
-
event.preventDefault();
|
|
1562
|
-
}
|
|
1563
|
-
};
|
|
1564
|
-
var getMultiSortMetaDataIndex = function getMultiSortMetaDataIndex(column) {
|
|
1565
|
-
if (props.multiSortMeta) {
|
|
1566
|
-
for (var i = 0; i < props.multiSortMeta.length; i++) {
|
|
1567
|
-
if (props.multiSortMeta[i].field === getColumnProp(column, 'field')) {
|
|
1568
|
-
return i;
|
|
1569
|
-
}
|
|
1570
|
-
}
|
|
1571
|
-
}
|
|
1572
|
-
return -1;
|
|
1573
|
-
};
|
|
1574
|
-
var onResizerMouseDown = function onResizerMouseDown(event, column) {
|
|
1575
|
-
if (props.resizableColumns && props.onResizeStart) {
|
|
1576
|
-
props.onResizeStart({
|
|
1577
|
-
originalEvent: event,
|
|
1578
|
-
columnEl: event.target.parentElement,
|
|
1579
|
-
column: column
|
|
1580
|
-
});
|
|
1581
|
-
}
|
|
1582
|
-
};
|
|
1583
|
-
var _onDragStart = function onDragStart(event, column) {
|
|
1584
|
-
if (props.onDragStart) {
|
|
1585
|
-
props.onDragStart({
|
|
1586
|
-
originalEvent: event,
|
|
1587
|
-
column: column
|
|
1588
|
-
});
|
|
1589
|
-
}
|
|
1590
|
-
};
|
|
1591
|
-
var _onDragOver = function onDragOver(event, column) {
|
|
1592
|
-
if (props.onDragOver) {
|
|
1593
|
-
props.onDragOver({
|
|
1594
|
-
originalEvent: event,
|
|
1595
|
-
column: column
|
|
1596
|
-
});
|
|
1597
|
-
}
|
|
1598
|
-
};
|
|
1599
|
-
var _onDragLeave = function onDragLeave(event, column) {
|
|
1600
|
-
if (props.onDragLeave) {
|
|
1601
|
-
props.onDragLeave({
|
|
1602
|
-
originalEvent: event,
|
|
1603
|
-
column: column
|
|
1604
|
-
});
|
|
1605
|
-
}
|
|
1606
|
-
};
|
|
1607
|
-
var _onDrop = function onDrop(event, column) {
|
|
1608
|
-
if (props.onDrop) {
|
|
1609
|
-
props.onDrop({
|
|
1610
|
-
originalEvent: event,
|
|
1611
|
-
column: column
|
|
1612
|
-
});
|
|
1613
|
-
}
|
|
1614
|
-
};
|
|
1615
|
-
var onFilterInput = function onFilterInput(e, column) {
|
|
1616
|
-
if (getColumnProp(column, 'filter') && props.onFilter) {
|
|
1617
|
-
if (filterTimeout.current) {
|
|
1618
|
-
clearTimeout(filterTimeout.current);
|
|
1619
|
-
}
|
|
1620
|
-
var filterValue = e.target.value;
|
|
1621
|
-
filterTimeout.current = setTimeout(function () {
|
|
1622
|
-
props.onFilter({
|
|
1623
|
-
value: filterValue,
|
|
1624
|
-
field: getColumnProp(column, 'field'),
|
|
1625
|
-
matchMode: getColumnProp(column, 'filterMatchMode') || 'startsWith'
|
|
1626
|
-
});
|
|
1627
|
-
filterTimeout.current = null;
|
|
1628
|
-
}, props.filterDelay);
|
|
1629
|
-
}
|
|
1630
|
-
};
|
|
1631
|
-
var hasColumnFilter = function hasColumnFilter(columns) {
|
|
1632
|
-
if (columns) {
|
|
1633
|
-
var _iterator = _createForOfIteratorHelper$1(columns),
|
|
1634
|
-
_step;
|
|
1635
|
-
try {
|
|
1636
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1637
|
-
var col = _step.value;
|
|
1638
|
-
if (getColumnProp(col, 'filter')) {
|
|
1639
|
-
return true;
|
|
1640
|
-
}
|
|
1641
|
-
}
|
|
1642
|
-
} catch (err) {
|
|
1643
|
-
_iterator.e(err);
|
|
1644
|
-
} finally {
|
|
1645
|
-
_iterator.f();
|
|
1646
|
-
}
|
|
1647
|
-
}
|
|
1648
|
-
return false;
|
|
1649
|
-
};
|
|
1650
|
-
var getAriaSort = function getAriaSort(column, sorted, sortOrder) {
|
|
1651
|
-
if (getColumnProp(column, 'sortable')) {
|
|
1652
|
-
if (sorted && sortOrder < 0) return 'descending';else if (sorted && sortOrder > 0) return 'ascending';else return 'none';
|
|
1653
|
-
} else {
|
|
1654
|
-
return null;
|
|
1655
|
-
}
|
|
1656
|
-
};
|
|
1657
|
-
var createSortIcon = function createSortIcon(column, sorted, sortOrder) {
|
|
1658
|
-
if (getColumnProp(column, 'sortable')) {
|
|
1659
|
-
var sortIconProps = mergeProps({
|
|
1660
|
-
className: cx('sortIcon')
|
|
1661
|
-
}, getColumnPTOptions(column, 'sortIcon', {
|
|
1662
|
-
context: {
|
|
1663
|
-
sorted: sorted
|
|
1664
|
-
}
|
|
1665
|
-
}));
|
|
1666
|
-
var icon = sorted ? sortOrder < 0 ? /*#__PURE__*/React.createElement(SortAmountDownIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAmountUpAltIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAltIcon, sortIconProps);
|
|
1667
|
-
var sortIcon = IconUtils.getJSXIcon(props.sortIcon || icon, _objectSpread$2({}, sortIconProps), {
|
|
1668
|
-
props: props,
|
|
1669
|
-
sorted: sorted,
|
|
1670
|
-
sortOrder: sortOrder
|
|
1671
|
-
});
|
|
1672
|
-
return sortIcon;
|
|
1673
|
-
} else {
|
|
1674
|
-
return null;
|
|
1675
|
-
}
|
|
1676
|
-
};
|
|
1677
|
-
var createResizer = function createResizer(column) {
|
|
1678
|
-
if (props.resizableColumns) {
|
|
1679
|
-
var columnResizerProps = mergeProps({
|
|
1680
|
-
className: cx('columnResizer'),
|
|
1681
|
-
onMouseDown: function onMouseDown(e) {
|
|
1682
|
-
return onResizerMouseDown(e, column);
|
|
1683
|
-
}
|
|
1684
|
-
}, getColumnPTOptions(column, 'columnResizer'));
|
|
1685
|
-
return /*#__PURE__*/React.createElement("span", columnResizerProps);
|
|
1686
|
-
} else {
|
|
1687
|
-
return null;
|
|
1688
|
-
}
|
|
1689
|
-
};
|
|
1690
|
-
var createSortBadge = function createSortBadge(column, sortMetaDataIndex) {
|
|
1691
|
-
if (sortMetaDataIndex !== -1 && props.multiSortMeta && props.multiSortMeta.length > 1) {
|
|
1692
|
-
var sortBadgeProps = mergeProps({
|
|
1693
|
-
className: cx('sortBadge')
|
|
1694
|
-
}, getColumnPTOptions(column, 'sortBadge'));
|
|
1695
|
-
return /*#__PURE__*/React.createElement("span", sortBadgeProps, sortMetaDataIndex + 1);
|
|
1696
|
-
}
|
|
1697
|
-
return null;
|
|
1698
|
-
};
|
|
1699
|
-
var createTitle = function createTitle(column, options) {
|
|
1700
|
-
var title = ObjectUtils.getJSXElement(getColumnProp(column, 'header'), {
|
|
1701
|
-
props: options
|
|
1702
|
-
});
|
|
1703
|
-
var headerTitleProps = mergeProps({
|
|
1704
|
-
className: cx('headerTitle')
|
|
1705
|
-
}, getColumnPTOptions(column, 'headerTitle'));
|
|
1706
|
-
return /*#__PURE__*/React.createElement("span", headerTitleProps, title);
|
|
1707
|
-
};
|
|
1708
|
-
var createHeaderCell = function createHeaderCell(column, options) {
|
|
1709
|
-
var filterElement;
|
|
1710
|
-
if (getColumnProp(column, 'filter') && options.renderFilter) {
|
|
1711
|
-
filterElement = getColumnProp(column, 'filterElement') || /*#__PURE__*/React.createElement(InputText, {
|
|
1712
|
-
onInput: function onInput(e) {
|
|
1713
|
-
return onFilterInput(e, column);
|
|
1714
|
-
},
|
|
1715
|
-
type: props.filterType,
|
|
1716
|
-
defaultValue: props.filters && props.filters[getColumnProp(column, 'field')] ? props.filters[getColumnProp(column, 'field')].value : null,
|
|
1717
|
-
className: "p-column-filter",
|
|
1718
|
-
placeholder: getColumnProp(column, 'filterPlaceholder'),
|
|
1719
|
-
maxLength: getColumnProp(column, 'filterMaxLength'),
|
|
1720
|
-
pt: getColumnPTOptions(column, 'filterInput'),
|
|
1721
|
-
unstyled: props.unstyled,
|
|
1722
|
-
__parentMetadata: {
|
|
1723
|
-
parent: props.metaData
|
|
1724
|
-
}
|
|
1725
|
-
});
|
|
1726
|
-
}
|
|
1727
|
-
if (options.filterOnly) {
|
|
1728
|
-
var headerCellProps = mergeProps({
|
|
1729
|
-
key: getColumnProp(column, 'columnKey') || getColumnProp(column, 'field') || options.index,
|
|
1730
|
-
className: classNames(cx('headerCell', {
|
|
1731
|
-
options: options
|
|
1732
|
-
}), getColumnProp(column, 'filterHeaderClassName')),
|
|
1733
|
-
style: getColumnProp(column, 'filterHeaderStyle') || getColumnProp(column, 'style'),
|
|
1734
|
-
rowSpan: getColumnProp(column, 'rowSpan'),
|
|
1735
|
-
colSpan: getColumnProp(column, 'colSpan'),
|
|
1736
|
-
'data-p-sortable-column': getColumnProp(column, 'sortable'),
|
|
1737
|
-
'data-p-resizable-column': props.resizableColumns,
|
|
1738
|
-
'data-p-frozen-column': getColumnProp(column, 'frozen')
|
|
1739
|
-
}, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
|
|
1740
|
-
context: {
|
|
1741
|
-
frozen: getColumnProp(column, 'frozen')
|
|
1742
|
-
}
|
|
1743
|
-
}));
|
|
1744
|
-
return /*#__PURE__*/React.createElement("th", headerCellProps, filterElement);
|
|
1745
|
-
} else {
|
|
1746
|
-
var headerCellRef = /*#__PURE__*/React.createRef(null);
|
|
1747
|
-
var sortMetaDataIndex = getMultiSortMetaDataIndex(column);
|
|
1748
|
-
var multiSortMetaData = sortMetaDataIndex !== -1 ? props.multiSortMeta[sortMetaDataIndex] : null;
|
|
1749
|
-
var singleSorted = getColumnProp(column, 'field') === props.sortField;
|
|
1750
|
-
var multipleSorted = multiSortMetaData !== null;
|
|
1751
|
-
var sorted = getColumnProp(column, 'sortable') && (singleSorted || multipleSorted);
|
|
1752
|
-
var frozen = getColumnProp(column, 'frozen');
|
|
1753
|
-
var sortOrder = 0;
|
|
1754
|
-
if (singleSorted) sortOrder = props.sortOrder;else if (multipleSorted) sortOrder = multiSortMetaData.order;
|
|
1755
|
-
var sortIconElement = createSortIcon(column, sorted, sortOrder);
|
|
1756
|
-
var ariaSortData = getAriaSort(column, sorted, sortOrder);
|
|
1757
|
-
var sortBadge = createSortBadge(column, sortMetaDataIndex);
|
|
1758
|
-
var headerTooltip = getColumnProp(column, 'headerTooltip');
|
|
1759
|
-
var hasTooltip = ObjectUtils.isNotEmpty(headerTooltip);
|
|
1760
|
-
var title = createTitle(column, options);
|
|
1761
|
-
var resizer = createResizer(column);
|
|
1762
|
-
var _headerCellProps = mergeProps({
|
|
1763
|
-
className: classNames(getColumnProp(column, 'headerClassName') || getColumnProp(column, 'className'), cx('headerCell', {
|
|
1764
|
-
headerProps: props,
|
|
1765
|
-
column: column,
|
|
1766
|
-
options: options,
|
|
1767
|
-
getColumnProp: getColumnProp,
|
|
1768
|
-
sorted: sorted,
|
|
1769
|
-
frozen: frozen
|
|
1770
|
-
})),
|
|
1771
|
-
style: getColumnProp(column, 'headerStyle') || getColumnProp(column, 'style'),
|
|
1772
|
-
tabIndex: getColumnProp(column, 'sortable') ? props.tabIndex : null,
|
|
1773
|
-
onClick: function onClick(e) {
|
|
1774
|
-
return onHeaderClick(e, column);
|
|
1775
|
-
},
|
|
1776
|
-
onMouseDown: function onMouseDown(e) {
|
|
1777
|
-
return onHeaderMouseDown(e, column);
|
|
1778
|
-
},
|
|
1779
|
-
onKeyDown: function onKeyDown(e) {
|
|
1780
|
-
return onHeaderKeyDown(e, column);
|
|
1781
|
-
},
|
|
1782
|
-
rowSpan: getColumnProp(column, 'rowSpan'),
|
|
1783
|
-
colSpan: getColumnProp(column, 'colSpan'),
|
|
1784
|
-
'aria-sort': ariaSortData,
|
|
1785
|
-
onDragStart: function onDragStart(e) {
|
|
1786
|
-
return _onDragStart(e, column);
|
|
1787
|
-
},
|
|
1788
|
-
onDragOver: function onDragOver(e) {
|
|
1789
|
-
return _onDragOver(e, column);
|
|
1790
|
-
},
|
|
1791
|
-
onDragLeave: function onDragLeave(e) {
|
|
1792
|
-
return _onDragLeave(e, column);
|
|
1793
|
-
},
|
|
1794
|
-
onDrop: function onDrop(e) {
|
|
1795
|
-
return _onDrop(e, column);
|
|
1796
|
-
},
|
|
1797
|
-
'data-p-sortable-column': getColumnProp(column, 'sortable'),
|
|
1798
|
-
'data-p-resizable-column': props.resizableColumns,
|
|
1799
|
-
'data-p-highlight': sorted,
|
|
1800
|
-
'data-p-frozen-column': getColumnProp(column, 'frozen')
|
|
1801
|
-
}, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
|
|
1802
|
-
context: {
|
|
1803
|
-
sorted: sorted,
|
|
1804
|
-
frozen: frozen,
|
|
1805
|
-
resizable: props.resizableColumns
|
|
1806
|
-
}
|
|
1807
|
-
}));
|
|
1808
|
-
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1809
|
-
key: column.columnKey || column.field || options.index
|
|
1810
|
-
}, /*#__PURE__*/React.createElement("th", _extends({
|
|
1811
|
-
ref: headerCellRef
|
|
1812
|
-
}, _headerCellProps), resizer, title, sortIconElement, sortBadge, filterElement), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
1813
|
-
target: headerCellRef,
|
|
1814
|
-
content: headerTooltip
|
|
1815
|
-
}, getColumnProp(column, 'headerTooltipOptions'), {
|
|
1816
|
-
unstyled: props.unstyled
|
|
1817
|
-
})));
|
|
1818
|
-
}
|
|
1819
|
-
};
|
|
1820
|
-
var createHeaderRow = function createHeaderRow(row, index) {
|
|
1821
|
-
var rowColumns = React.Children.toArray(RowBase.getCProp(row, 'children'));
|
|
1822
|
-
var rowHeaderCells = rowColumns.map(function (col, i) {
|
|
1823
|
-
return createHeaderCell(col, {
|
|
1824
|
-
index: i,
|
|
1825
|
-
filterOnly: false,
|
|
1826
|
-
renderFilter: true
|
|
1827
|
-
});
|
|
1828
|
-
});
|
|
1829
|
-
var headerRowProps = mergeProps(ptm('headerRow', {
|
|
1830
|
-
hostName: props.hostName
|
|
1831
|
-
}));
|
|
1832
|
-
return /*#__PURE__*/React.createElement("tr", _extends({}, headerRowProps, {
|
|
1833
|
-
key: index
|
|
1834
|
-
}), rowHeaderCells);
|
|
1835
|
-
};
|
|
1836
|
-
var createColumnGroup = function createColumnGroup() {
|
|
1837
|
-
var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.columnGroup, 'children'));
|
|
1838
|
-
return rows.map(createHeaderRow);
|
|
1839
|
-
};
|
|
1840
|
-
var createColumns = function createColumns(columns) {
|
|
1841
|
-
if (columns) {
|
|
1842
|
-
var headerRowProps = mergeProps(ptm('headerRow', {
|
|
1843
|
-
hostName: props.hostName
|
|
1844
|
-
}));
|
|
1845
|
-
if (hasColumnFilter(columns)) {
|
|
1846
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
|
|
1847
|
-
return createHeaderCell(col, {
|
|
1848
|
-
index: i,
|
|
1849
|
-
filterOnly: false,
|
|
1850
|
-
renderFilter: false
|
|
1851
|
-
});
|
|
1852
|
-
})), /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
|
|
1853
|
-
return createHeaderCell(col, {
|
|
1854
|
-
index: i,
|
|
1855
|
-
filterOnly: true,
|
|
1856
|
-
renderFilter: true
|
|
1857
|
-
});
|
|
1858
|
-
})));
|
|
1859
|
-
} else {
|
|
1860
|
-
return /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
|
|
1861
|
-
return createHeaderCell(col, {
|
|
1862
|
-
index: i,
|
|
1863
|
-
filterOnly: false,
|
|
1864
|
-
renderFilter: false
|
|
1865
|
-
});
|
|
1866
|
-
}));
|
|
1867
|
-
}
|
|
1868
|
-
} else {
|
|
1869
|
-
return null;
|
|
1870
|
-
}
|
|
1871
|
-
};
|
|
1872
|
-
var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
|
|
1873
|
-
var theadProps = mergeProps({
|
|
1874
|
-
className: cx('thead')
|
|
1875
|
-
}, ptm('thead', {
|
|
1876
|
-
hostName: props.hostName
|
|
1877
|
-
}));
|
|
1878
|
-
return /*#__PURE__*/React.createElement("thead", theadProps, content);
|
|
1879
|
-
});
|
|
1880
|
-
TreeTableHeader.displayName = 'TreeTableHeader';
|
|
1881
|
-
|
|
1882
|
-
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1883
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1884
|
-
var TreeTableScrollableView = /*#__PURE__*/React.memo(function (props) {
|
|
1885
|
-
var elementRef = React.useRef(null);
|
|
1886
|
-
var scrollHeaderRef = React.useRef(null);
|
|
1887
|
-
var scrollHeaderBoxRef = React.useRef(null);
|
|
1888
|
-
var scrollBodyRef = React.useRef(null);
|
|
1889
|
-
var scrollTableRef = React.useRef(null);
|
|
1890
|
-
var scrollFooterRef = React.useRef(null);
|
|
1891
|
-
var scrollFooterBoxRef = React.useRef(null);
|
|
1892
|
-
var _props$ptCallbacks = props.ptCallbacks,
|
|
1893
|
-
ptm = _props$ptCallbacks.ptm,
|
|
1894
|
-
cx = _props$ptCallbacks.cx,
|
|
1895
|
-
sx = _props$ptCallbacks.sx;
|
|
1896
|
-
var getPTOptions = function getPTOptions(key, options) {
|
|
1897
|
-
return ptm(key, _objectSpread$1({
|
|
1898
|
-
hostName: props.hostName
|
|
1899
|
-
}, options));
|
|
1900
|
-
};
|
|
1901
|
-
var setScrollHeight = function setScrollHeight() {
|
|
1902
|
-
if (props.scrollHeight) {
|
|
1903
|
-
if (props.scrollHeight.indexOf('%') !== -1) {
|
|
1904
|
-
var datatableContainer = findDataTableContainer(elementRef.current);
|
|
1905
|
-
scrollBodyRef.current.style.visibility = 'hidden';
|
|
1906
|
-
scrollBodyRef.current.style.height = '100px'; //temporary height to calculate static height
|
|
1907
|
-
var containerHeight = DomHandler.getOuterHeight(datatableContainer);
|
|
1908
|
-
var relativeHeight = DomHandler.getOuterHeight(datatableContainer.parentElement) * parseInt(props.scrollHeight, 10) / 100;
|
|
1909
|
-
var staticHeight = containerHeight - 100; //total height of headers, footers, paginators
|
|
1910
|
-
var scrollBodyHeight = relativeHeight - staticHeight;
|
|
1911
|
-
scrollBodyRef.current.style.height = 'auto';
|
|
1912
|
-
scrollBodyRef.current.style.maxHeight = scrollBodyHeight + 'px';
|
|
1913
|
-
scrollBodyRef.current.style.visibility = 'visible';
|
|
1914
|
-
} else {
|
|
1915
|
-
scrollBodyRef.current.style.maxHeight = props.scrollHeight;
|
|
1916
|
-
}
|
|
1917
|
-
}
|
|
1918
|
-
};
|
|
1919
|
-
var findDataTableContainer = function findDataTableContainer(element) {
|
|
1920
|
-
if (element) {
|
|
1921
|
-
var el = element;
|
|
1922
|
-
while (el && !(DomHandler.getAttribute(el, 'data-pc-section') === 'root' || DomHandler.getAttribute(el, 'data-pc-name') === 'treetable')) {
|
|
1923
|
-
el = el.parentElement;
|
|
1924
|
-
}
|
|
1925
|
-
return el;
|
|
1926
|
-
} else {
|
|
1927
|
-
return null;
|
|
1928
|
-
}
|
|
1929
|
-
};
|
|
1930
|
-
var onHeaderScroll = function onHeaderScroll() {
|
|
1931
|
-
scrollHeaderRef.current.scrollLeft = 0;
|
|
1932
|
-
};
|
|
1933
|
-
var onBodyScroll = function onBodyScroll() {
|
|
1934
|
-
var frozenView = elementRef.current.previousElementSibling;
|
|
1935
|
-
var frozenScrollBody;
|
|
1936
|
-
if (frozenView) {
|
|
1937
|
-
frozenScrollBody = DomHandler.findSingle(frozenView, '.p-treetable-scrollable-body');
|
|
1938
|
-
}
|
|
1939
|
-
scrollHeaderBoxRef.current.style.marginLeft = -1 * scrollBodyRef.current.scrollLeft + 'px';
|
|
1940
|
-
if (scrollFooterBoxRef.current) {
|
|
1941
|
-
scrollFooterBoxRef.current.style.marginLeft = -1 * scrollBodyRef.current.scrollLeft + 'px';
|
|
1942
|
-
}
|
|
1943
|
-
if (frozenScrollBody) {
|
|
1944
|
-
frozenScrollBody.scrollTop = scrollBodyRef.current.scrollTop;
|
|
1945
|
-
}
|
|
1946
|
-
};
|
|
1947
|
-
useMountEffect(function () {
|
|
1948
|
-
if (!props.frozen) {
|
|
1949
|
-
var scrollBarWidth = DomHandler.calculateScrollbarWidth();
|
|
1950
|
-
scrollHeaderBoxRef.current.style.marginRight = scrollBarWidth + 'px';
|
|
1951
|
-
if (scrollFooterBoxRef.current) {
|
|
1952
|
-
scrollFooterBoxRef.current.style.marginRight = scrollBarWidth + 'px';
|
|
1953
|
-
}
|
|
1954
|
-
} else {
|
|
1955
|
-
scrollBodyRef.current.style.paddingBottom = DomHandler.calculateScrollbarWidth() + 'px';
|
|
1956
|
-
}
|
|
1957
|
-
});
|
|
1958
|
-
React.useEffect(function () {
|
|
1959
|
-
setScrollHeight();
|
|
1960
|
-
});
|
|
1961
|
-
var createColGroup = function createColGroup() {
|
|
1962
|
-
if (ObjectUtils.isNotEmpty(props.columns)) {
|
|
1963
|
-
var cols = props.columns.map(function (col, i) {
|
|
1964
|
-
return /*#__PURE__*/React.createElement("col", {
|
|
1965
|
-
key: col.field + '_' + i
|
|
1966
|
-
});
|
|
1967
|
-
});
|
|
1968
|
-
var scrollableColgroupProps = mergeProps({
|
|
1969
|
-
className: cx('scrollableColgroup')
|
|
1970
|
-
}, getPTOptions('scrollableColgroup'));
|
|
1971
|
-
return /*#__PURE__*/React.createElement("colgroup", scrollableColgroupProps, cols);
|
|
1972
|
-
} else {
|
|
1973
|
-
return null;
|
|
1974
|
-
}
|
|
1975
|
-
};
|
|
1976
|
-
var width = props.frozen ? props.frozenWidth : 'calc(100% - ' + props.frozenWidth + ')';
|
|
1977
|
-
var left = props.frozen ? null : props.frozenWidth;
|
|
1978
|
-
var colGroup = createColGroup();
|
|
1979
|
-
var scrollableProps = mergeProps({
|
|
1980
|
-
className: cx('scrollable', {
|
|
1981
|
-
scrolaableProps: props
|
|
1982
|
-
}),
|
|
1983
|
-
style: {
|
|
1984
|
-
width: width,
|
|
1985
|
-
left: left
|
|
1986
|
-
}
|
|
1987
|
-
}, getPTOptions('scrollable'));
|
|
1988
|
-
var scrollableHeaderProps = mergeProps({
|
|
1989
|
-
className: cx('scrollableHeader'),
|
|
1990
|
-
onScroll: function onScroll(e) {
|
|
1991
|
-
return onHeaderScroll();
|
|
1992
|
-
}
|
|
1993
|
-
}, getPTOptions('scrollableHeader'));
|
|
1994
|
-
var scrollableHeaderBoxProps = mergeProps({
|
|
1995
|
-
className: cx('scrollableHeaderBox')
|
|
1996
|
-
}, getPTOptions('scrollableHeaderBox'));
|
|
1997
|
-
var scrollableHeaderTableProps = mergeProps({
|
|
1998
|
-
className: cx('scrollableHeaderTable')
|
|
1999
|
-
}, getPTOptions('scrollableHeaderTable'));
|
|
2000
|
-
var scrollableBodyProps = mergeProps({
|
|
2001
|
-
className: cx('scrollableBody'),
|
|
2002
|
-
style: !props.frozen && props.scrollHeight ? {
|
|
2003
|
-
overflowY: 'scroll'
|
|
2004
|
-
} : undefined,
|
|
2005
|
-
onScroll: function onScroll(e) {
|
|
2006
|
-
return onBodyScroll();
|
|
2007
|
-
}
|
|
2008
|
-
}, getPTOptions('scrollableBody'));
|
|
2009
|
-
var scrollableBodyTableProps = mergeProps({
|
|
2010
|
-
style: {
|
|
2011
|
-
top: '0'
|
|
2012
|
-
},
|
|
2013
|
-
className: cx('scrollableBodyTable')
|
|
2014
|
-
}, getPTOptions('scrollableBodyTable'));
|
|
2015
|
-
var scrollableFooterProps = mergeProps({
|
|
2016
|
-
className: cx('scrollableFooter')
|
|
2017
|
-
}, getPTOptions('scrollableFooter'));
|
|
2018
|
-
var scrollableFooterBoxProps = mergeProps({
|
|
2019
|
-
className: sx('scrollableFooterBox')
|
|
2020
|
-
}, getPTOptions('scrollableFooterBox'));
|
|
2021
|
-
var scrollableFooterTableProps = mergeProps({
|
|
2022
|
-
className: cx('scrollableFooterTable')
|
|
2023
|
-
}, getPTOptions('scrollableFooterTable'));
|
|
2024
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
2025
|
-
ref: elementRef
|
|
2026
|
-
}, scrollableProps), /*#__PURE__*/React.createElement("div", _extends({
|
|
2027
|
-
ref: scrollHeaderRef
|
|
2028
|
-
}, scrollableHeaderProps), /*#__PURE__*/React.createElement("div", _extends({
|
|
2029
|
-
ref: scrollHeaderBoxRef
|
|
2030
|
-
}, scrollableHeaderBoxProps), /*#__PURE__*/React.createElement("table", scrollableHeaderTableProps, colGroup, props.header))), /*#__PURE__*/React.createElement("div", _extends({
|
|
2031
|
-
ref: scrollBodyRef
|
|
2032
|
-
}, scrollableBodyProps), /*#__PURE__*/React.createElement("table", _extends({
|
|
2033
|
-
ref: scrollTableRef
|
|
2034
|
-
}, scrollableBodyTableProps), colGroup, props.body)), /*#__PURE__*/React.createElement("div", _extends({
|
|
2035
|
-
ref: scrollFooterRef
|
|
2036
|
-
}, scrollableFooterProps), /*#__PURE__*/React.createElement("div", _extends({
|
|
2037
|
-
ref: scrollFooterBoxRef
|
|
2038
|
-
}, scrollableFooterBoxProps), /*#__PURE__*/React.createElement("table", scrollableFooterTableProps, colGroup, props.footer))));
|
|
2039
|
-
});
|
|
2040
|
-
TreeTableScrollableView.displayName = 'TreeTableScrollableView';
|
|
2041
|
-
|
|
2042
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2043
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2044
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
2045
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
2046
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
2047
|
-
var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
2048
|
-
var context = React.useContext(PrimeReactContext);
|
|
2049
|
-
var props = TreeTableBase.getProps(inProps, context);
|
|
2050
|
-
var _React$useState = React.useState(props.expandedKeys),
|
|
2051
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
2052
|
-
expandedKeysState = _React$useState2[0],
|
|
2053
|
-
setExpandedKeysState = _React$useState2[1];
|
|
2054
|
-
var _React$useState3 = React.useState(props.first),
|
|
2055
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
2056
|
-
firstState = _React$useState4[0],
|
|
2057
|
-
setFirstState = _React$useState4[1];
|
|
2058
|
-
var _React$useState5 = React.useState(props.rows),
|
|
2059
|
-
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
2060
|
-
rowsState = _React$useState6[0],
|
|
2061
|
-
setRowsState = _React$useState6[1];
|
|
2062
|
-
var _React$useState7 = React.useState(props.sortField),
|
|
2063
|
-
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
2064
|
-
sortFieldState = _React$useState8[0],
|
|
2065
|
-
setSortFieldState = _React$useState8[1];
|
|
2066
|
-
var _React$useState9 = React.useState(props.sortOrder),
|
|
2067
|
-
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
2068
|
-
sortOrderState = _React$useState10[0],
|
|
2069
|
-
setSortOrderState = _React$useState10[1];
|
|
2070
|
-
var _React$useState11 = React.useState(props.multiSortMeta),
|
|
2071
|
-
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
2072
|
-
multiSortMetaState = _React$useState12[0],
|
|
2073
|
-
setMultiSortMetaState = _React$useState12[1];
|
|
2074
|
-
var _React$useState13 = React.useState(props.filters),
|
|
2075
|
-
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
2076
|
-
filtersState = _React$useState14[0],
|
|
2077
|
-
setFiltersState = _React$useState14[1];
|
|
2078
|
-
var _React$useState15 = React.useState([]),
|
|
2079
|
-
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
2080
|
-
columnOrderState = _React$useState16[0],
|
|
2081
|
-
setColumnOrderState = _React$useState16[1];
|
|
2082
|
-
var metaData = {
|
|
2083
|
-
props: props,
|
|
2084
|
-
state: {
|
|
2085
|
-
expandedKeys: expandedKeysState,
|
|
2086
|
-
first: firstState,
|
|
2087
|
-
rows: rowsState,
|
|
2088
|
-
sortField: sortFieldState,
|
|
2089
|
-
sortOrder: sortOrderState,
|
|
2090
|
-
multiSortMeta: multiSortMetaState,
|
|
2091
|
-
filters: filtersState,
|
|
2092
|
-
columnOrder: columnOrderState
|
|
2093
|
-
},
|
|
2094
|
-
context: {
|
|
2095
|
-
scrollable: props.scrollable
|
|
2096
|
-
}
|
|
2097
|
-
};
|
|
2098
|
-
var ptCallbacks = TreeTableBase.setMetaData(metaData);
|
|
2099
|
-
useHandleStyle(TreeTableBase.css.styles, ptCallbacks.isUnstyled, {
|
|
2100
|
-
name: 'treetable'
|
|
2101
|
-
});
|
|
2102
|
-
var elementRef = React.useRef(null);
|
|
2103
|
-
var tableRef = React.useRef(null);
|
|
2104
|
-
var resizerHelperRef = React.useRef(null);
|
|
2105
|
-
var reorderIndicatorUpRef = React.useRef(null);
|
|
2106
|
-
var reorderIndicatorDownRef = React.useRef(null);
|
|
2107
|
-
var columnResizing = React.useRef(null);
|
|
2108
|
-
var resizeColumn = React.useRef(null);
|
|
2109
|
-
var resizeColumnProps = React.useRef(null);
|
|
2110
|
-
var lastResizerHelperX = React.useRef(0);
|
|
2111
|
-
var iconWidth = React.useRef(0);
|
|
2112
|
-
var iconHeight = React.useRef(0);
|
|
2113
|
-
var draggedColumnEl = React.useRef(null);
|
|
2114
|
-
var draggedColumn = React.useRef(null);
|
|
2115
|
-
var dropPosition = React.useRef(null);
|
|
2116
|
-
var columnSortable = React.useRef(null);
|
|
2117
|
-
var columnSortFunction = React.useRef(null);
|
|
2118
|
-
var columnField = React.useRef(null);
|
|
2119
|
-
var _useEventListener = useEventListener({
|
|
2120
|
-
type: 'mousemove',
|
|
2121
|
-
listener: function listener(event) {
|
|
2122
|
-
if (columnResizing.current) {
|
|
2123
|
-
onColumnResize(event);
|
|
2124
|
-
}
|
|
2125
|
-
}
|
|
2126
|
-
}),
|
|
2127
|
-
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
2128
|
-
bindDocumentMouseMoveListener = _useEventListener2[0],
|
|
2129
|
-
unbindDocumentMouseMoveListener = _useEventListener2[1];
|
|
2130
|
-
var _useEventListener3 = useEventListener({
|
|
2131
|
-
type: 'mouseup',
|
|
2132
|
-
listener: function listener(event) {
|
|
2133
|
-
if (columnResizing.current) {
|
|
2134
|
-
columnResizing.current = false;
|
|
2135
|
-
onColumnResizeEnd();
|
|
2136
|
-
}
|
|
2137
|
-
}
|
|
2138
|
-
}),
|
|
2139
|
-
_useEventListener4 = _slicedToArray(_useEventListener3, 2),
|
|
2140
|
-
bindDocumentMouseUpListener = _useEventListener4[0],
|
|
2141
|
-
unbindDocumentMouseUpListener = _useEventListener4[1];
|
|
2142
|
-
var onToggle = function onToggle(event) {
|
|
2143
|
-
if (props.onToggle) {
|
|
2144
|
-
props.onToggle(event);
|
|
2145
|
-
} else {
|
|
2146
|
-
setExpandedKeysState(event.value);
|
|
2147
|
-
}
|
|
2148
|
-
};
|
|
2149
|
-
var onPageChange = function onPageChange(event) {
|
|
2150
|
-
if (props.onPage) {
|
|
2151
|
-
props.onPage(event);
|
|
2152
|
-
} else {
|
|
2153
|
-
setFirstState(event.first);
|
|
2154
|
-
setRowsState(event.rows);
|
|
2155
|
-
}
|
|
2156
|
-
if (props.onValueChange) {
|
|
2157
|
-
props.onValueChange(processedData());
|
|
2158
|
-
}
|
|
2159
|
-
};
|
|
2160
|
-
var onSort = function onSort(event) {
|
|
2161
|
-
var sortField = event.sortField;
|
|
2162
|
-
var sortOrder = props.defaultSortOrder;
|
|
2163
|
-
var multiSortMeta;
|
|
2164
|
-
var eventMeta;
|
|
2165
|
-
columnSortable.current = event.sortable;
|
|
2166
|
-
columnSortFunction.current = event.sortFunction;
|
|
2167
|
-
columnField.current = event.sortField;
|
|
2168
|
-
if (props.sortMode === 'multiple') {
|
|
2169
|
-
var metaKey = event.originalEvent.metaKey || event.originalEvent.ctrlKey;
|
|
2170
|
-
multiSortMeta = _toConsumableArray(getMultiSortMeta());
|
|
2171
|
-
if (multiSortMeta && multiSortMeta instanceof Array) {
|
|
2172
|
-
var sortMeta = multiSortMeta.find(function (sortMeta) {
|
|
2173
|
-
return sortMeta.field === sortField;
|
|
2174
|
-
});
|
|
2175
|
-
sortOrder = sortMeta ? getCalculatedSortOrder(sortMeta.order) : sortOrder;
|
|
2176
|
-
}
|
|
2177
|
-
var newMetaData = {
|
|
2178
|
-
field: sortField,
|
|
2179
|
-
order: sortOrder
|
|
2180
|
-
};
|
|
2181
|
-
if (sortOrder) {
|
|
2182
|
-
if (!multiSortMeta || !metaKey) {
|
|
2183
|
-
multiSortMeta = [];
|
|
2184
|
-
}
|
|
2185
|
-
addSortMeta(newMetaData, multiSortMeta);
|
|
2186
|
-
} else if (props.removableSort && multiSortMeta) {
|
|
2187
|
-
removeSortMeta(newMetaData, multiSortMeta);
|
|
2188
|
-
}
|
|
2189
|
-
eventMeta = {
|
|
2190
|
-
multiSortMeta: multiSortMeta
|
|
2191
|
-
};
|
|
2192
|
-
} else {
|
|
2193
|
-
sortOrder = getSortField() === sortField ? getCalculatedSortOrder(getSortOrder()) : sortOrder;
|
|
2194
|
-
if (props.removableSort) {
|
|
2195
|
-
sortField = sortOrder ? sortField : null;
|
|
2196
|
-
}
|
|
2197
|
-
eventMeta = {
|
|
2198
|
-
sortField: sortField,
|
|
2199
|
-
sortOrder: sortOrder
|
|
2200
|
-
};
|
|
2201
|
-
}
|
|
2202
|
-
if (props.onSort) {
|
|
2203
|
-
props.onSort(eventMeta);
|
|
2204
|
-
} else {
|
|
2205
|
-
setFirstState(0);
|
|
2206
|
-
setSortFieldState(eventMeta.sortField);
|
|
2207
|
-
setSortOrderState(eventMeta.sortOrder);
|
|
2208
|
-
setMultiSortMetaState(eventMeta.multiSortMeta);
|
|
2209
|
-
}
|
|
2210
|
-
if (props.onValueChange) {
|
|
2211
|
-
props.onValueChange(processedData({
|
|
2212
|
-
sortField: sortField,
|
|
2213
|
-
sortOrder: sortOrder,
|
|
2214
|
-
multiSortMeta: multiSortMeta
|
|
2215
|
-
}));
|
|
2216
|
-
}
|
|
2217
|
-
};
|
|
2218
|
-
var getCalculatedSortOrder = function getCalculatedSortOrder(currentOrder) {
|
|
2219
|
-
return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
|
|
2220
|
-
};
|
|
2221
|
-
var addSortMeta = function addSortMeta(meta, multiSortMeta) {
|
|
2222
|
-
var index = -1;
|
|
2223
|
-
for (var i = 0; i < multiSortMeta.length; i++) {
|
|
2224
|
-
if (multiSortMeta[i].field === meta.field) {
|
|
2225
|
-
index = i;
|
|
2226
|
-
break;
|
|
2227
|
-
}
|
|
2228
|
-
}
|
|
2229
|
-
if (index >= 0) multiSortMeta[index] = meta;else multiSortMeta.push(meta);
|
|
2230
|
-
};
|
|
2231
|
-
var removeSortMeta = function removeSortMeta(meta, multiSortMeta) {
|
|
2232
|
-
var index = -1;
|
|
2233
|
-
for (var i = 0; i < multiSortMeta.length; i++) {
|
|
2234
|
-
if (multiSortMeta[i].field === meta.field) {
|
|
2235
|
-
index = i;
|
|
2236
|
-
break;
|
|
2237
|
-
}
|
|
2238
|
-
}
|
|
2239
|
-
if (index >= 0) {
|
|
2240
|
-
multiSortMeta.splice(index, 1);
|
|
2241
|
-
}
|
|
2242
|
-
multiSortMeta = multiSortMeta.length > 0 ? multiSortMeta : null;
|
|
2243
|
-
};
|
|
2244
|
-
var sortSingle = function sortSingle(data) {
|
|
2245
|
-
return sortNodes(data);
|
|
2246
|
-
};
|
|
2247
|
-
var sortNodes = function sortNodes(data) {
|
|
2248
|
-
var value = _toConsumableArray(data);
|
|
2249
|
-
if (columnSortable.current && columnSortable.current === 'custom' && columnSortFunction.current) {
|
|
2250
|
-
value = columnSortFunction.current({
|
|
2251
|
-
data: data,
|
|
2252
|
-
field: getSortField(),
|
|
2253
|
-
order: getSortOrder()
|
|
2254
|
-
});
|
|
2255
|
-
} else {
|
|
2256
|
-
// performance optimization to prevent resolving field data in each loop
|
|
2257
|
-
var lookupMap = new Map();
|
|
2258
|
-
var sortField = getSortField();
|
|
2259
|
-
var comparator = ObjectUtils.localeComparator(context && context.locale || PrimeReact.locale);
|
|
2260
|
-
var _iterator = _createForOfIteratorHelper(data),
|
|
2261
|
-
_step;
|
|
2262
|
-
try {
|
|
2263
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2264
|
-
var node = _step.value;
|
|
2265
|
-
lookupMap.set(node.data, ObjectUtils.resolveFieldData(node.data, sortField));
|
|
2266
|
-
}
|
|
2267
|
-
} catch (err) {
|
|
2268
|
-
_iterator.e(err);
|
|
2269
|
-
} finally {
|
|
2270
|
-
_iterator.f();
|
|
2271
|
-
}
|
|
2272
|
-
value.sort(function (node1, node2) {
|
|
2273
|
-
var value1 = lookupMap.get(node1.data);
|
|
2274
|
-
var value2 = lookupMap.get(node2.data);
|
|
2275
|
-
return compareValuesOnSort(value1, value2, comparator, getSortOrder());
|
|
2276
|
-
});
|
|
2277
|
-
for (var i = 0; i < value.length; i++) {
|
|
2278
|
-
if (value[i].children && value[i].children.length) {
|
|
2279
|
-
value[i].children = sortNodes(value[i].children);
|
|
2280
|
-
}
|
|
2281
|
-
}
|
|
2282
|
-
}
|
|
2283
|
-
return value;
|
|
2284
|
-
};
|
|
2285
|
-
var sortMultiple = function sortMultiple(data) {
|
|
2286
|
-
var multiSortMeta = getMultiSortMeta();
|
|
2287
|
-
if (multiSortMeta) return sortMultipleNodes(data, multiSortMeta);else return data;
|
|
2288
|
-
};
|
|
2289
|
-
var sortMultipleNodes = function sortMultipleNodes(data, multiSortMeta) {
|
|
2290
|
-
var value = _toConsumableArray(data);
|
|
2291
|
-
var comparator = ObjectUtils.localeComparator(context && context.locale || PrimeReact.locale);
|
|
2292
|
-
value.sort(function (node1, node2) {
|
|
2293
|
-
return multisortField(node1, node2, multiSortMeta, 0, comparator);
|
|
2294
|
-
});
|
|
2295
|
-
for (var i = 0; i < value.length; i++) {
|
|
2296
|
-
if (value[i].children && value[i].children.length) {
|
|
2297
|
-
value[i].children = sortMultipleNodes(value[i].children, multiSortMeta);
|
|
2298
|
-
}
|
|
2299
|
-
}
|
|
2300
|
-
return value;
|
|
2301
|
-
};
|
|
2302
|
-
var multisortField = function multisortField(node1, node2, multiSortMeta, index, comparator) {
|
|
2303
|
-
if (!multiSortMeta || !multiSortMeta[index]) {
|
|
2304
|
-
return;
|
|
2305
|
-
}
|
|
2306
|
-
var value1 = ObjectUtils.resolveFieldData(node1.data, multiSortMeta[index].field);
|
|
2307
|
-
var value2 = ObjectUtils.resolveFieldData(node2.data, multiSortMeta[index].field);
|
|
2308
|
-
|
|
2309
|
-
// check if they are equal handling dates and locales
|
|
2310
|
-
if (ObjectUtils.compare(value1, value2, comparator) === 0) {
|
|
2311
|
-
return multiSortMeta.length - 1 > index ? multisortField(node1, node2, multiSortMeta, index + 1, comparator) : 0;
|
|
2312
|
-
}
|
|
2313
|
-
return compareValuesOnSort(value1, value2, comparator, multiSortMeta[index].order);
|
|
2314
|
-
};
|
|
2315
|
-
var compareValuesOnSort = function compareValuesOnSort(value1, value2, comparator, order) {
|
|
2316
|
-
return ObjectUtils.sort(value1, value2, order, comparator, context && context.nullSortOrder || PrimeReact.nullSortOrder);
|
|
2317
|
-
};
|
|
2318
|
-
var filter = function filter(value, field, mode) {
|
|
2319
|
-
onFilter({
|
|
2320
|
-
value: value,
|
|
2321
|
-
field: field,
|
|
2322
|
-
matchMode: mode
|
|
2323
|
-
});
|
|
2324
|
-
};
|
|
2325
|
-
var onFilter = function onFilter(event) {
|
|
2326
|
-
var filters = getFilters();
|
|
2327
|
-
var newFilters = filters ? _objectSpread({}, filters) : {};
|
|
2328
|
-
if (!isFilterBlank(event.value)) newFilters[event.field] = {
|
|
2329
|
-
value: event.value,
|
|
2330
|
-
matchMode: event.matchMode
|
|
2331
|
-
};else if (newFilters[event.field]) delete newFilters[event.field];
|
|
2332
|
-
if (props.onFilter) {
|
|
2333
|
-
props.onFilter({
|
|
2334
|
-
filters: newFilters
|
|
2335
|
-
});
|
|
2336
|
-
} else {
|
|
2337
|
-
setFirstState(0);
|
|
2338
|
-
setFiltersState(newFilters);
|
|
2339
|
-
}
|
|
2340
|
-
if (props.onValueChange) {
|
|
2341
|
-
props.onValueChange(processedData({
|
|
2342
|
-
filters: filters
|
|
2343
|
-
}));
|
|
2344
|
-
}
|
|
2345
|
-
};
|
|
2346
|
-
var isFilterBlank = function isFilterBlank(filter) {
|
|
2347
|
-
if (filter !== null && filter !== undefined) {
|
|
2348
|
-
if (typeof filter === 'string' && filter.trim().length === 0 || filter instanceof Array && filter.length === 0) return true;else return false;
|
|
2349
|
-
}
|
|
2350
|
-
return true;
|
|
2351
|
-
};
|
|
2352
|
-
var onColumnResizeStart = function onColumnResizeStart(event) {
|
|
2353
|
-
var containerLeft = DomHandler.getOffset(elementRef.current).left;
|
|
2354
|
-
resizeColumn.current = event.columnEl;
|
|
2355
|
-
resizeColumnProps.current = event.column;
|
|
2356
|
-
columnResizing.current = true;
|
|
2357
|
-
lastResizerHelperX.current = event.originalEvent.pageX - containerLeft + elementRef.current.scrollLeft;
|
|
2358
|
-
bindColumnResizeEvents();
|
|
2359
|
-
};
|
|
2360
|
-
var onColumnResize = function onColumnResize(event) {
|
|
2361
|
-
var containerLeft = DomHandler.getOffset(elementRef.current).left;
|
|
2362
|
-
!ptCallbacks.isUnstyled() && DomHandler.addClass(elementRef.current, 'p-unselectable-text');
|
|
2363
|
-
resizerHelperRef.current.style.height = elementRef.current.offsetHeight + 'px';
|
|
2364
|
-
resizerHelperRef.current.style.top = 0 + 'px';
|
|
2365
|
-
resizerHelperRef.current.style.left = event.pageX - containerLeft + elementRef.current.scrollLeft + 'px';
|
|
2366
|
-
resizerHelperRef.current.style.display = 'block';
|
|
2367
|
-
};
|
|
2368
|
-
var onColumnResizeEnd = function onColumnResizeEnd(event) {
|
|
2369
|
-
var delta = resizerHelperRef.current.offsetLeft - lastResizerHelperX.current;
|
|
2370
|
-
var columnWidth = resizeColumn.current.offsetWidth;
|
|
2371
|
-
var newColumnWidth = columnWidth + delta;
|
|
2372
|
-
var minWidth = resizeColumn.current.style.minWidth || 15;
|
|
2373
|
-
if (columnWidth + delta > parseInt(minWidth, 10)) {
|
|
2374
|
-
if (props.columnResizeMode === 'fit') {
|
|
2375
|
-
var nextColumn = resizeColumn.current.nextElementSibling;
|
|
2376
|
-
var nextColumnWidth = nextColumn.offsetWidth - delta;
|
|
2377
|
-
if (newColumnWidth > 15 && nextColumnWidth > 15) {
|
|
2378
|
-
if (props.scrollable) {
|
|
2379
|
-
var scrollableView = findParentScrollableView(resizeColumn.current);
|
|
2380
|
-
var scrollableBodyTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-body-table');
|
|
2381
|
-
var scrollableHeaderTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
|
|
2382
|
-
var scrollableFooterTable = DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
|
|
2383
|
-
var resizeColumnIndex = DomHandler.index(resizeColumn.current);
|
|
2384
|
-
resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
|
|
2385
|
-
resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
|
|
2386
|
-
resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);
|
|
2387
|
-
} else {
|
|
2388
|
-
resizeColumn.current.style.width = newColumnWidth + 'px';
|
|
2389
|
-
if (nextColumn) {
|
|
2390
|
-
nextColumn.style.width = nextColumnWidth + 'px';
|
|
2391
|
-
}
|
|
2392
|
-
}
|
|
2393
|
-
}
|
|
2394
|
-
} else if (props.columnResizeMode === 'expand') {
|
|
2395
|
-
if (props.scrollable) {
|
|
2396
|
-
var _scrollableView = findParentScrollableView(resizeColumn.current);
|
|
2397
|
-
var _scrollableBodyTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-body-table');
|
|
2398
|
-
var _scrollableHeaderTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-header-table');
|
|
2399
|
-
var _scrollableFooterTable = DomHandler.findSingle(_scrollableView, 'table.p-treetable-scrollable-footer-table');
|
|
2400
|
-
_scrollableBodyTable.style.width = _scrollableBodyTable.offsetWidth + delta + 'px';
|
|
2401
|
-
_scrollableHeaderTable.style.width = _scrollableHeaderTable.offsetWidth + delta + 'px';
|
|
2402
|
-
if (_scrollableFooterTable) {
|
|
2403
|
-
_scrollableFooterTable.style.width = _scrollableHeaderTable.offsetWidth + delta + 'px';
|
|
2404
|
-
}
|
|
2405
|
-
var _resizeColumnIndex = DomHandler.index(resizeColumn.current);
|
|
2406
|
-
resizeColGroup(_scrollableHeaderTable, _resizeColumnIndex, newColumnWidth, null);
|
|
2407
|
-
resizeColGroup(_scrollableBodyTable, _resizeColumnIndex, newColumnWidth, null);
|
|
2408
|
-
resizeColGroup(_scrollableFooterTable, _resizeColumnIndex, newColumnWidth, null);
|
|
2409
|
-
} else {
|
|
2410
|
-
tableRef.current.style.width = tableRef.current.offsetWidth + delta + 'px';
|
|
2411
|
-
resizeColumn.current.style.width = newColumnWidth + 'px';
|
|
2412
|
-
}
|
|
2413
|
-
}
|
|
2414
|
-
if (props.onColumnResizeEnd) {
|
|
2415
|
-
props.onColumnResizeEnd({
|
|
2416
|
-
element: resizeColumn.current,
|
|
2417
|
-
column: resizeColumnProps.current,
|
|
2418
|
-
delta: delta
|
|
2419
|
-
});
|
|
2420
|
-
}
|
|
2421
|
-
}
|
|
2422
|
-
resizerHelperRef.current.style.display = 'none';
|
|
2423
|
-
resizeColumn.current = null;
|
|
2424
|
-
resizeColumnProps.current = null;
|
|
2425
|
-
DomHandler.removeClass(elementRef.current, 'p-unselectable-text');
|
|
2426
|
-
unbindColumnResizeEvents();
|
|
2427
|
-
};
|
|
2428
|
-
var findParentScrollableView = function findParentScrollableView(column) {
|
|
2429
|
-
if (column) {
|
|
2430
|
-
var parent = column.parentElement;
|
|
2431
|
-
while (parent && DomHandler.getAttribute(parent, 'data-pc-section') !== 'scrollable') {
|
|
2432
|
-
parent = parent.parentElement;
|
|
2433
|
-
}
|
|
2434
|
-
return parent;
|
|
2435
|
-
} else {
|
|
2436
|
-
return null;
|
|
2437
|
-
}
|
|
2438
|
-
};
|
|
2439
|
-
var resizeColGroup = function resizeColGroup(table, resizeColumnIndex, newColumnWidth, nextColumnWidth) {
|
|
2440
|
-
if (table) {
|
|
2441
|
-
var colGroup = table.children[0].nodeName === 'COLGROUP' ? table.children[0] : null;
|
|
2442
|
-
if (colGroup) {
|
|
2443
|
-
var col = colGroup.children[resizeColumnIndex];
|
|
2444
|
-
var nextCol = col.nextElementSibling;
|
|
2445
|
-
col.style.width = newColumnWidth + 'px';
|
|
2446
|
-
if (nextCol && nextColumnWidth) {
|
|
2447
|
-
nextCol.style.width = nextColumnWidth + 'px';
|
|
2448
|
-
}
|
|
2449
|
-
} else {
|
|
2450
|
-
throw new Error('Scrollable tables require a colgroup to support resizable columns');
|
|
2451
|
-
}
|
|
2452
|
-
}
|
|
2453
|
-
};
|
|
2454
|
-
var bindColumnResizeEvents = function bindColumnResizeEvents() {
|
|
2455
|
-
bindDocumentMouseMoveListener();
|
|
2456
|
-
bindDocumentMouseUpListener();
|
|
2457
|
-
};
|
|
2458
|
-
var unbindColumnResizeEvents = function unbindColumnResizeEvents() {
|
|
2459
|
-
unbindDocumentMouseMoveListener();
|
|
2460
|
-
unbindDocumentMouseUpListener();
|
|
2461
|
-
};
|
|
2462
|
-
var onColumnDragStart = function onColumnDragStart(e) {
|
|
2463
|
-
var event = e.originalEvent,
|
|
2464
|
-
column = e.column;
|
|
2465
|
-
if (columnResizing.current) {
|
|
2466
|
-
event.preventDefault();
|
|
2467
|
-
return;
|
|
2468
|
-
}
|
|
2469
|
-
iconWidth.current = DomHandler.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
|
|
2470
|
-
iconHeight.current = DomHandler.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
|
|
2471
|
-
draggedColumnEl.current = findParentHeader(event.currentTarget);
|
|
2472
|
-
draggedColumn.current = column;
|
|
2473
|
-
event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible
|
|
2474
|
-
};
|
|
2475
|
-
|
|
2476
|
-
var onColumnDragOver = function onColumnDragOver(e) {
|
|
2477
|
-
var event = e.originalEvent,
|
|
2478
|
-
column = e.column;
|
|
2479
|
-
var dropHeader = findParentHeader(event.currentTarget);
|
|
2480
|
-
if (props.reorderableColumns && draggedColumnEl.current && dropHeader && !getColumnProp(column, 'frozen')) {
|
|
2481
|
-
event.preventDefault();
|
|
2482
|
-
var containerOffset = DomHandler.getOffset(elementRef.current);
|
|
2483
|
-
var dropHeaderOffset = DomHandler.getOffset(dropHeader);
|
|
2484
|
-
if (draggedColumnEl.current !== dropHeader) {
|
|
2485
|
-
var targetLeft = dropHeaderOffset.left - containerOffset.left;
|
|
2486
|
-
//let targetTop = containerOffset.top - dropHeaderOffset.top;
|
|
2487
|
-
var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
|
|
2488
|
-
reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (iconHeight.current - 1) + 'px';
|
|
2489
|
-
reorderIndicatorDownRef.current.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
|
|
2490
|
-
if (event.pageX > columnCenter) {
|
|
2491
|
-
reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(iconWidth.current / 2) + 'px';
|
|
2492
|
-
reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(iconWidth.current / 2) + 'px';
|
|
2493
|
-
dropPosition.current = 1;
|
|
2494
|
-
} else {
|
|
2495
|
-
reorderIndicatorUpRef.current.style.left = targetLeft - Math.ceil(iconWidth.current / 2) + 'px';
|
|
2496
|
-
reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(iconWidth.current / 2) + 'px';
|
|
2497
|
-
dropPosition.current = -1;
|
|
2498
|
-
}
|
|
2499
|
-
reorderIndicatorUpRef.current.style.display = 'block';
|
|
2500
|
-
reorderIndicatorDownRef.current.style.display = 'block';
|
|
2501
|
-
}
|
|
2502
|
-
}
|
|
2503
|
-
};
|
|
2504
|
-
var onColumnDragLeave = function onColumnDragLeave(e) {
|
|
2505
|
-
var event = e.originalEvent;
|
|
2506
|
-
if (props.reorderableColumns && draggedColumnEl.current) {
|
|
2507
|
-
event.preventDefault();
|
|
2508
|
-
reorderIndicatorUpRef.current.style.display = 'none';
|
|
2509
|
-
reorderIndicatorDownRef.current.style.display = 'none';
|
|
2510
|
-
}
|
|
2511
|
-
};
|
|
2512
|
-
var onColumnDrop = function onColumnDrop(e) {
|
|
2513
|
-
var event = e.originalEvent,
|
|
2514
|
-
column = e.column;
|
|
2515
|
-
event.preventDefault();
|
|
2516
|
-
if (draggedColumnEl.current) {
|
|
2517
|
-
var dragIndex = DomHandler.index(draggedColumnEl.current);
|
|
2518
|
-
var dropIndex = DomHandler.index(findParentHeader(event.currentTarget));
|
|
2519
|
-
var allowDrop = dragIndex !== dropIndex;
|
|
2520
|
-
if (allowDrop && (dropIndex - dragIndex === 1 && dropPosition.current === -1 || dragIndex - dropIndex === 1 && dropPosition.current === 1)) {
|
|
2521
|
-
allowDrop = false;
|
|
2522
|
-
}
|
|
2523
|
-
if (allowDrop) {
|
|
2524
|
-
var columns = columnOrderState ? getColumns() : React.Children.toArray(props.children);
|
|
2525
|
-
var isSameColumn = function isSameColumn(col1, col2) {
|
|
2526
|
-
return getColumnProp(col1, 'columnKey') || getColumnProp(col2, 'columnKey') ? ObjectUtils.equals(col1, col2, 'props.columnKey') : ObjectUtils.equals(col1, col2, 'props.field');
|
|
2527
|
-
};
|
|
2528
|
-
var dragColIndex = columns.findIndex(function (child) {
|
|
2529
|
-
return isSameColumn(child, draggedColumn.current);
|
|
2530
|
-
});
|
|
2531
|
-
var dropColIndex = columns.findIndex(function (child) {
|
|
2532
|
-
return isSameColumn(child, column);
|
|
2533
|
-
});
|
|
2534
|
-
if (dropColIndex < dragColIndex && dropPosition.current === 1) {
|
|
2535
|
-
dropColIndex++;
|
|
2536
|
-
}
|
|
2537
|
-
if (dropColIndex > dragColIndex && dropPosition.current === -1) {
|
|
2538
|
-
dropColIndex--;
|
|
2539
|
-
}
|
|
2540
|
-
ObjectUtils.reorderArray(columns, dragColIndex, dropColIndex);
|
|
2541
|
-
var columnOrder = [];
|
|
2542
|
-
var _iterator2 = _createForOfIteratorHelper(columns),
|
|
2543
|
-
_step2;
|
|
2544
|
-
try {
|
|
2545
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2546
|
-
var _column = _step2.value;
|
|
2547
|
-
columnOrder.push(getColumnProp(_column, 'columnKey') || getColumnProp(_column, 'field'));
|
|
2548
|
-
}
|
|
2549
|
-
} catch (err) {
|
|
2550
|
-
_iterator2.e(err);
|
|
2551
|
-
} finally {
|
|
2552
|
-
_iterator2.f();
|
|
2553
|
-
}
|
|
2554
|
-
setColumnOrderState(columnOrder);
|
|
2555
|
-
if (props.onColReorder) {
|
|
2556
|
-
props.onColReorder({
|
|
2557
|
-
dragIndex: dragColIndex,
|
|
2558
|
-
dropIndex: dropColIndex,
|
|
2559
|
-
columns: columns
|
|
2560
|
-
});
|
|
2561
|
-
}
|
|
2562
|
-
}
|
|
2563
|
-
reorderIndicatorUpRef.current.style.display = 'none';
|
|
2564
|
-
reorderIndicatorDownRef.current.style.display = 'none';
|
|
2565
|
-
draggedColumnEl.current.draggable = false;
|
|
2566
|
-
draggedColumnEl.current = null;
|
|
2567
|
-
dropPosition.current = null;
|
|
2568
|
-
}
|
|
2569
|
-
};
|
|
2570
|
-
var findParentHeader = function findParentHeader(element) {
|
|
2571
|
-
if (element.nodeName === 'TH') {
|
|
2572
|
-
return element;
|
|
2573
|
-
} else {
|
|
2574
|
-
var parent = element.parentElement;
|
|
2575
|
-
while (parent.nodeName !== 'TH') {
|
|
2576
|
-
parent = parent.parentElement;
|
|
2577
|
-
if (!parent) break;
|
|
2578
|
-
}
|
|
2579
|
-
return parent;
|
|
2580
|
-
}
|
|
2581
|
-
};
|
|
2582
|
-
var getColumnProp = function getColumnProp(column, name) {
|
|
2583
|
-
return ColumnBase.getCProp(column, name);
|
|
2584
|
-
};
|
|
2585
|
-
var getExpandedKeys = function getExpandedKeys() {
|
|
2586
|
-
return props.onToggle ? props.expandedKeys : expandedKeysState;
|
|
2587
|
-
};
|
|
2588
|
-
var getFirst = function getFirst() {
|
|
2589
|
-
return props.onPage ? props.first : firstState;
|
|
2590
|
-
};
|
|
2591
|
-
var getRows = function getRows() {
|
|
2592
|
-
return props.onPage ? props.rows : rowsState;
|
|
2593
|
-
};
|
|
2594
|
-
var getSortField = function getSortField() {
|
|
2595
|
-
return props.onSort ? props.sortField : sortFieldState;
|
|
2596
|
-
};
|
|
2597
|
-
var getSortOrder = function getSortOrder() {
|
|
2598
|
-
return props.onSort ? props.sortOrder : sortOrderState;
|
|
2599
|
-
};
|
|
2600
|
-
var getMultiSortMeta = function getMultiSortMeta() {
|
|
2601
|
-
return (props.onSort ? props.multiSortMeta : multiSortMetaState) || [];
|
|
2602
|
-
};
|
|
2603
|
-
var getFilters = function getFilters() {
|
|
2604
|
-
return props.onFilter ? props.filters : filtersState;
|
|
2605
|
-
};
|
|
2606
|
-
var findColumnByKey = function findColumnByKey(columns, key) {
|
|
2607
|
-
if (columns && columns.length) {
|
|
2608
|
-
for (var i = 0; i < columns.length; i++) {
|
|
2609
|
-
var child = columns[i];
|
|
2610
|
-
if (getColumnProp(child, 'columnKey') === key || getColumnProp(child, 'field') === key) {
|
|
2611
|
-
return child;
|
|
2612
|
-
}
|
|
2613
|
-
}
|
|
2614
|
-
}
|
|
2615
|
-
return null;
|
|
2616
|
-
};
|
|
2617
|
-
var getColumns = function getColumns() {
|
|
2618
|
-
var columns = React.Children.toArray(props.children);
|
|
2619
|
-
if (columns && columns.length) {
|
|
2620
|
-
if (props.reorderableColumns && columnOrderState) {
|
|
2621
|
-
var orderedColumns = [];
|
|
2622
|
-
var _iterator3 = _createForOfIteratorHelper(columnOrderState),
|
|
2623
|
-
_step3;
|
|
2624
|
-
try {
|
|
2625
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2626
|
-
var columnKey = _step3.value;
|
|
2627
|
-
var column = findColumnByKey(columns, columnKey);
|
|
2628
|
-
if (column) {
|
|
2629
|
-
orderedColumns.push(column);
|
|
2630
|
-
}
|
|
2631
|
-
}
|
|
2632
|
-
} catch (err) {
|
|
2633
|
-
_iterator3.e(err);
|
|
2634
|
-
} finally {
|
|
2635
|
-
_iterator3.f();
|
|
2636
|
-
}
|
|
2637
|
-
return [].concat(orderedColumns, _toConsumableArray(columns.filter(function (item) {
|
|
2638
|
-
return orderedColumns.indexOf(item) < 0;
|
|
2639
|
-
})));
|
|
2640
|
-
} else {
|
|
2641
|
-
return columns;
|
|
2642
|
-
}
|
|
2643
|
-
}
|
|
2644
|
-
return null;
|
|
2645
|
-
};
|
|
2646
|
-
var getTotalRecords = function getTotalRecords(data) {
|
|
2647
|
-
return props.lazy ? props.totalRecords : data ? data.length : 0;
|
|
2648
|
-
};
|
|
2649
|
-
var isSingleSelectionMode = function isSingleSelectionMode() {
|
|
2650
|
-
return props.selectionMode && props.selectionMode === 'single';
|
|
2651
|
-
};
|
|
2652
|
-
var isMultipleSelectionMode = function isMultipleSelectionMode() {
|
|
2653
|
-
return props.selectionMode && props.selectionMode === 'multiple';
|
|
2654
|
-
};
|
|
2655
|
-
var isRowSelectionMode = function isRowSelectionMode() {
|
|
2656
|
-
return isSingleSelectionMode() || isMultipleSelectionMode();
|
|
2657
|
-
};
|
|
2658
|
-
var getFrozenColumns = function getFrozenColumns(columns) {
|
|
2659
|
-
var frozenColumns = null;
|
|
2660
|
-
var _iterator4 = _createForOfIteratorHelper(columns),
|
|
2661
|
-
_step4;
|
|
2662
|
-
try {
|
|
2663
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
2664
|
-
var col = _step4.value;
|
|
2665
|
-
if (getColumnProp(col, 'frozen')) {
|
|
2666
|
-
frozenColumns = frozenColumns || [];
|
|
2667
|
-
frozenColumns.push(col);
|
|
2668
|
-
}
|
|
2669
|
-
}
|
|
2670
|
-
} catch (err) {
|
|
2671
|
-
_iterator4.e(err);
|
|
2672
|
-
} finally {
|
|
2673
|
-
_iterator4.f();
|
|
2674
|
-
}
|
|
2675
|
-
return frozenColumns;
|
|
2676
|
-
};
|
|
2677
|
-
var getScrollableColumns = function getScrollableColumns(columns) {
|
|
2678
|
-
var scrollableColumns = null;
|
|
2679
|
-
var _iterator5 = _createForOfIteratorHelper(columns),
|
|
2680
|
-
_step5;
|
|
2681
|
-
try {
|
|
2682
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
2683
|
-
var col = _step5.value;
|
|
2684
|
-
if (!getColumnProp(col, 'frozen')) {
|
|
2685
|
-
scrollableColumns = scrollableColumns || [];
|
|
2686
|
-
scrollableColumns.push(col);
|
|
2687
|
-
}
|
|
2688
|
-
}
|
|
2689
|
-
} catch (err) {
|
|
2690
|
-
_iterator5.e(err);
|
|
2691
|
-
} finally {
|
|
2692
|
-
_iterator5.f();
|
|
2693
|
-
}
|
|
2694
|
-
return scrollableColumns;
|
|
2695
|
-
};
|
|
2696
|
-
var filterLocal = function filterLocal(value) {
|
|
2697
|
-
var filteredNodes = [];
|
|
2698
|
-
var filters = getFilters();
|
|
2699
|
-
var columns = React.Children.toArray(props.children);
|
|
2700
|
-
var isStrictMode = props.filterMode === 'strict';
|
|
2701
|
-
var _iterator6 = _createForOfIteratorHelper(value),
|
|
2702
|
-
_step6;
|
|
2703
|
-
try {
|
|
2704
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
2705
|
-
var node = _step6.value;
|
|
2706
|
-
var copyNode = _objectSpread({}, node);
|
|
2707
|
-
var localMatch = true;
|
|
2708
|
-
var globalMatch = false;
|
|
2709
|
-
for (var j = 0; j < columns.length; j++) {
|
|
2710
|
-
var col = columns[j];
|
|
2711
|
-
var filterMeta = filters ? filters[getColumnProp(col, 'field')] : null;
|
|
2712
|
-
var filterField = getColumnProp(col, 'field');
|
|
2713
|
-
var filterValue = void 0,
|
|
2714
|
-
filterConstraint = void 0,
|
|
2715
|
-
paramsWithoutNode = void 0,
|
|
2716
|
-
options = void 0;
|
|
2717
|
-
|
|
2718
|
-
//local
|
|
2719
|
-
if (filterMeta) {
|
|
2720
|
-
var filterMatchMode = filterMeta.matchMode || getColumnProp(col, 'filterMatchMode') || 'startsWith';
|
|
2721
|
-
filterValue = filterMeta.value;
|
|
2722
|
-
filterConstraint = filterMatchMode === 'custom' ? getColumnProp(col, 'filterFunction') : FilterService.filters[filterMatchMode];
|
|
2723
|
-
options = {
|
|
2724
|
-
rowData: node,
|
|
2725
|
-
filters: filters,
|
|
2726
|
-
props: props,
|
|
2727
|
-
column: {
|
|
2728
|
-
filterMeta: filterMeta,
|
|
2729
|
-
filterField: filterField,
|
|
2730
|
-
props: ColumnBase.getCProps(col)
|
|
2731
|
-
}
|
|
2732
|
-
};
|
|
2733
|
-
paramsWithoutNode = {
|
|
2734
|
-
filterField: filterField,
|
|
2735
|
-
filterValue: filterValue,
|
|
2736
|
-
filterConstraint: filterConstraint,
|
|
2737
|
-
isStrictMode: isStrictMode,
|
|
2738
|
-
options: options
|
|
2739
|
-
};
|
|
2740
|
-
if (isStrictMode && !(findFilteredNodes(copyNode, paramsWithoutNode) || isFilterMatched(copyNode, paramsWithoutNode)) || !isStrictMode && !(isFilterMatched(copyNode, paramsWithoutNode) || findFilteredNodes(copyNode, paramsWithoutNode))) {
|
|
2741
|
-
localMatch = false;
|
|
2742
|
-
}
|
|
2743
|
-
if (!localMatch) {
|
|
2744
|
-
break;
|
|
2745
|
-
}
|
|
2746
|
-
}
|
|
2747
|
-
|
|
2748
|
-
//global
|
|
2749
|
-
if (props.globalFilter && !globalMatch) {
|
|
2750
|
-
var copyNodeForGlobal = _objectSpread({}, copyNode);
|
|
2751
|
-
filterValue = props.globalFilter;
|
|
2752
|
-
filterConstraint = FilterService.filters[props.globalFilterMatchMode];
|
|
2753
|
-
paramsWithoutNode = {
|
|
2754
|
-
filterField: filterField,
|
|
2755
|
-
filterValue: filterValue,
|
|
2756
|
-
filterConstraint: filterConstraint,
|
|
2757
|
-
isStrictMode: isStrictMode
|
|
2758
|
-
};
|
|
2759
|
-
if (isStrictMode && (findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || isFilterMatched(copyNodeForGlobal, paramsWithoutNode)) || !isStrictMode && (isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || findFilteredNodes(copyNodeForGlobal, paramsWithoutNode))) {
|
|
2760
|
-
globalMatch = true;
|
|
2761
|
-
copyNode = copyNodeForGlobal;
|
|
2762
|
-
}
|
|
2763
|
-
}
|
|
2764
|
-
}
|
|
2765
|
-
var matches = localMatch;
|
|
2766
|
-
if (props.globalFilter) {
|
|
2767
|
-
matches = localMatch && globalMatch;
|
|
2768
|
-
}
|
|
2769
|
-
if (matches) {
|
|
2770
|
-
filteredNodes.push(copyNode);
|
|
2771
|
-
}
|
|
2772
|
-
}
|
|
2773
|
-
} catch (err) {
|
|
2774
|
-
_iterator6.e(err);
|
|
2775
|
-
} finally {
|
|
2776
|
-
_iterator6.f();
|
|
2777
|
-
}
|
|
2778
|
-
return filteredNodes;
|
|
2779
|
-
};
|
|
2780
|
-
var findFilteredNodes = function findFilteredNodes(node, paramsWithoutNode) {
|
|
2781
|
-
if (node) {
|
|
2782
|
-
var matched = false;
|
|
2783
|
-
if (node.children) {
|
|
2784
|
-
var childNodes = _toConsumableArray(node.children);
|
|
2785
|
-
node.children = [];
|
|
2786
|
-
var _iterator7 = _createForOfIteratorHelper(childNodes),
|
|
2787
|
-
_step7;
|
|
2788
|
-
try {
|
|
2789
|
-
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
2790
|
-
var childNode = _step7.value;
|
|
2791
|
-
var copyChildNode = _objectSpread({}, childNode);
|
|
2792
|
-
if (isFilterMatched(copyChildNode, paramsWithoutNode)) {
|
|
2793
|
-
matched = true;
|
|
2794
|
-
node.children.push(copyChildNode);
|
|
2795
|
-
}
|
|
2796
|
-
}
|
|
2797
|
-
} catch (err) {
|
|
2798
|
-
_iterator7.e(err);
|
|
2799
|
-
} finally {
|
|
2800
|
-
_iterator7.f();
|
|
2801
|
-
}
|
|
2802
|
-
}
|
|
2803
|
-
if (matched) {
|
|
2804
|
-
return true;
|
|
2805
|
-
}
|
|
2806
|
-
}
|
|
2807
|
-
};
|
|
2808
|
-
var isFilterMatched = function isFilterMatched(node, _ref) {
|
|
2809
|
-
var filterField = _ref.filterField,
|
|
2810
|
-
filterValue = _ref.filterValue,
|
|
2811
|
-
filterConstraint = _ref.filterConstraint,
|
|
2812
|
-
isStrictMode = _ref.isStrictMode,
|
|
2813
|
-
options = _ref.options;
|
|
2814
|
-
var matched = false;
|
|
2815
|
-
var dataFieldValue = ObjectUtils.resolveFieldData(node.data, filterField);
|
|
2816
|
-
if (filterConstraint(dataFieldValue, filterValue, props.filterLocale, options)) {
|
|
2817
|
-
matched = true;
|
|
2818
|
-
}
|
|
2819
|
-
if (!matched || isStrictMode && !isNodeLeaf(node)) {
|
|
2820
|
-
matched = findFilteredNodes(node, {
|
|
2821
|
-
filterField: filterField,
|
|
2822
|
-
filterValue: filterValue,
|
|
2823
|
-
filterConstraint: filterConstraint,
|
|
2824
|
-
isStrictMode: isStrictMode
|
|
2825
|
-
}) || matched;
|
|
2826
|
-
}
|
|
2827
|
-
return matched;
|
|
2828
|
-
};
|
|
2829
|
-
var isNodeLeaf = function isNodeLeaf(node) {
|
|
2830
|
-
return node.leaf === false ? false : !(node.children && node.children.length);
|
|
2831
|
-
};
|
|
2832
|
-
var processedData = function processedData(localState) {
|
|
2833
|
-
var data = props.value || [];
|
|
2834
|
-
if (!props.lazy) {
|
|
2835
|
-
if (data && data.length) {
|
|
2836
|
-
var filters = localState && localState.filters || getFilters();
|
|
2837
|
-
var sortField = localState && localState.sortField || getSortField();
|
|
2838
|
-
var multiSortMeta = localState && localState.multiSortMeta || getMultiSortMeta();
|
|
2839
|
-
if (ObjectUtils.isNotEmpty(filters) || props.globalFilter) {
|
|
2840
|
-
data = filterLocal(data);
|
|
2841
|
-
}
|
|
2842
|
-
if (sortField || ObjectUtils.isNotEmpty(multiSortMeta)) {
|
|
2843
|
-
if (props.sortMode === 'single') data = sortSingle(data);else if (props.sortMode === 'multiple') data = sortMultiple(data);
|
|
2844
|
-
}
|
|
2845
|
-
}
|
|
2846
|
-
}
|
|
2847
|
-
return data;
|
|
2848
|
-
};
|
|
2849
|
-
React.useImperativeHandle(ref, function () {
|
|
2850
|
-
return {
|
|
2851
|
-
props: props,
|
|
2852
|
-
filter: filter,
|
|
2853
|
-
getElement: function getElement() {
|
|
2854
|
-
return elementRef.current;
|
|
2855
|
-
}
|
|
2856
|
-
};
|
|
2857
|
-
});
|
|
2858
|
-
var createTableHeader = function createTableHeader(columns, columnGroup) {
|
|
2859
|
-
var sortField = getSortField();
|
|
2860
|
-
var sortOrder = getSortOrder();
|
|
2861
|
-
var multiSortMeta = _toConsumableArray(getMultiSortMeta());
|
|
2862
|
-
var filters = getFilters();
|
|
2863
|
-
return /*#__PURE__*/React.createElement(TreeTableHeader, {
|
|
2864
|
-
hostName: "TreeTable",
|
|
2865
|
-
columns: columns,
|
|
2866
|
-
columnGroup: columnGroup,
|
|
2867
|
-
tabIndex: props.tabIndex,
|
|
2868
|
-
onSort: onSort,
|
|
2869
|
-
sortField: sortField,
|
|
2870
|
-
sortIcon: props.sortIcon,
|
|
2871
|
-
sortOrder: sortOrder,
|
|
2872
|
-
multiSortMeta: multiSortMeta,
|
|
2873
|
-
resizableColumns: props.resizableColumns,
|
|
2874
|
-
onResizeStart: onColumnResizeStart,
|
|
2875
|
-
reorderableColumns: props.reorderableColumns,
|
|
2876
|
-
onDragStart: onColumnDragStart,
|
|
2877
|
-
onDragOver: onColumnDragOver,
|
|
2878
|
-
onDragLeave: onColumnDragLeave,
|
|
2879
|
-
onDrop: onColumnDrop,
|
|
2880
|
-
onFilter: onFilter,
|
|
2881
|
-
filters: filters,
|
|
2882
|
-
filterDelay: props.filterDelay,
|
|
2883
|
-
ptCallbacks: ptCallbacks,
|
|
2884
|
-
metaData: metaData,
|
|
2885
|
-
unstyled: props.unstyled
|
|
2886
|
-
});
|
|
2887
|
-
};
|
|
2888
|
-
var createTableFooter = function createTableFooter(columns, columnGroup) {
|
|
2889
|
-
return /*#__PURE__*/React.createElement(TreeTableFooter, {
|
|
2890
|
-
hostName: "TreeTable",
|
|
2891
|
-
columns: columns,
|
|
2892
|
-
columnGroup: columnGroup,
|
|
2893
|
-
ptCallbacks: ptCallbacks,
|
|
2894
|
-
metaData: metaData
|
|
2895
|
-
});
|
|
2896
|
-
};
|
|
2897
|
-
var createTableBody = function createTableBody(value, columns) {
|
|
2898
|
-
return /*#__PURE__*/React.createElement(TreeTableBody, {
|
|
2899
|
-
hostName: "TreeTable",
|
|
2900
|
-
value: value,
|
|
2901
|
-
originalOptions: props.value,
|
|
2902
|
-
checkboxIcon: props.checkboxIcon,
|
|
2903
|
-
columns: columns,
|
|
2904
|
-
expandedKeys: getExpandedKeys(),
|
|
2905
|
-
selectOnEdit: props.selectOnEdit,
|
|
2906
|
-
onToggle: onToggle,
|
|
2907
|
-
togglerTemplate: props.togglerTemplate,
|
|
2908
|
-
onExpand: props.onExpand,
|
|
2909
|
-
onCollapse: props.onCollapse,
|
|
2910
|
-
paginator: props.paginator,
|
|
2911
|
-
first: getFirst(),
|
|
2912
|
-
rows: getRows(),
|
|
2913
|
-
selectionMode: props.selectionMode,
|
|
2914
|
-
selectionKeys: props.selectionKeys,
|
|
2915
|
-
onSelectionChange: props.onSelectionChange,
|
|
2916
|
-
metaKeySelection: props.metaKeySelection,
|
|
2917
|
-
onRowClick: props.onRowClick,
|
|
2918
|
-
onRowMouseEnter: props.onRowMouseEnter,
|
|
2919
|
-
onRowMouseLeave: props.onRowMouseLeave,
|
|
2920
|
-
onSelect: props.onSelect,
|
|
2921
|
-
onUnselect: props.onUnselect,
|
|
2922
|
-
propagateSelectionUp: props.propagateSelectionUp,
|
|
2923
|
-
propagateSelectionDown: props.propagateSelectionDown,
|
|
2924
|
-
lazy: props.lazy,
|
|
2925
|
-
rowClassName: props.rowClassName,
|
|
2926
|
-
emptyMessage: props.emptyMessage,
|
|
2927
|
-
loading: props.loading,
|
|
2928
|
-
contextMenuSelectionKey: props.contextMenuSelectionKey,
|
|
2929
|
-
onContextMenuSelectionChange: props.onContextMenuSelectionChange,
|
|
2930
|
-
onContextMenu: props.onContextMenu,
|
|
2931
|
-
ptCallbacks: ptCallbacks,
|
|
2932
|
-
metaData: metaData
|
|
2933
|
-
});
|
|
2934
|
-
};
|
|
2935
|
-
var createPaginator = function createPaginator(position, totalRecords) {
|
|
2936
|
-
var className = classNames('p-paginator-' + position, props.paginatorClassName);
|
|
2937
|
-
return /*#__PURE__*/React.createElement(Paginator, {
|
|
2938
|
-
first: getFirst(),
|
|
2939
|
-
rows: getRows(),
|
|
2940
|
-
pageLinkSize: props.pageLinkSize,
|
|
2941
|
-
className: className,
|
|
2942
|
-
onPageChange: onPageChange,
|
|
2943
|
-
template: props.paginatorTemplate,
|
|
2944
|
-
totalRecords: totalRecords,
|
|
2945
|
-
rowsPerPageOptions: props.rowsPerPageOptions,
|
|
2946
|
-
currentPageReportTemplate: props.currentPageReportTemplate,
|
|
2947
|
-
leftContent: props.paginatorLeft,
|
|
2948
|
-
rightContent: props.paginatorRight,
|
|
2949
|
-
alwaysShow: props.alwaysShowPaginator,
|
|
2950
|
-
dropdownAppendTo: props.paginatorDropdownAppendTo,
|
|
2951
|
-
pt: ptCallbacks.ptm('paginator'),
|
|
2952
|
-
unstyled: props.unstyled,
|
|
2953
|
-
__parentMetadata: {
|
|
2954
|
-
parent: metaData
|
|
2955
|
-
}
|
|
2956
|
-
});
|
|
2957
|
-
};
|
|
2958
|
-
var createScrollableView = function createScrollableView(value, columns, frozen, headerColumnGroup, footerColumnGroup) {
|
|
2959
|
-
var header = createTableHeader(columns, headerColumnGroup);
|
|
2960
|
-
var footer = createTableFooter(columns, footerColumnGroup);
|
|
2961
|
-
var body = createTableBody(value, columns);
|
|
2962
|
-
return /*#__PURE__*/React.createElement(TreeTableScrollableView, {
|
|
2963
|
-
hostName: "TreeTable",
|
|
2964
|
-
columns: columns,
|
|
2965
|
-
header: header,
|
|
2966
|
-
body: body,
|
|
2967
|
-
footer: footer,
|
|
2968
|
-
scrollHeight: props.scrollHeight,
|
|
2969
|
-
frozen: frozen,
|
|
2970
|
-
frozenWidth: props.frozenWidth,
|
|
2971
|
-
ptCallbacks: ptCallbacks,
|
|
2972
|
-
metaData: metaData
|
|
2973
|
-
});
|
|
2974
|
-
};
|
|
2975
|
-
var createScrollableTable = function createScrollableTable(value) {
|
|
2976
|
-
var columns = getColumns();
|
|
2977
|
-
var frozenColumns = getFrozenColumns(columns);
|
|
2978
|
-
var scrollableColumns = frozenColumns ? getScrollableColumns(columns) : columns;
|
|
2979
|
-
var frozenView, scrollableView;
|
|
2980
|
-
if (frozenColumns) {
|
|
2981
|
-
frozenView = createScrollableView(value, frozenColumns, true, props.frozenHeaderColumnGroup, props.frozenFooterColumnGroup);
|
|
2982
|
-
}
|
|
2983
|
-
scrollableView = createScrollableView(value, scrollableColumns, false, props.headerColumnGroup, props.footerColumnGroup);
|
|
2984
|
-
var scrollableWrapperProps = mergeProps({
|
|
2985
|
-
className: ptCallbacks.cx('scrollableWrapper')
|
|
2986
|
-
}, ptCallbacks.ptm('scrollableWrapper'));
|
|
2987
|
-
return /*#__PURE__*/React.createElement("div", scrollableWrapperProps, frozenView, scrollableView);
|
|
2988
|
-
};
|
|
2989
|
-
var createRegularTable = function createRegularTable(value) {
|
|
2990
|
-
var columns = getColumns();
|
|
2991
|
-
var header = createTableHeader(columns, props.headerColumnGroup);
|
|
2992
|
-
var footer = createTableFooter(columns, props.footerColumnGroup);
|
|
2993
|
-
var body = createTableBody(value, columns);
|
|
2994
|
-
var wrapperProps = mergeProps({
|
|
2995
|
-
className: ptCallbacks.cx('wrapper')
|
|
2996
|
-
}, ptCallbacks.ptm('wrapper'));
|
|
2997
|
-
var tableProps = mergeProps({
|
|
2998
|
-
style: props.tableStyle,
|
|
2999
|
-
className: classNames(props.tableClassName, ptCallbacks.cx('table'))
|
|
3000
|
-
}, ptCallbacks.ptm('table'));
|
|
3001
|
-
return /*#__PURE__*/React.createElement("div", wrapperProps, /*#__PURE__*/React.createElement("table", _extends({
|
|
3002
|
-
ref: tableRef
|
|
3003
|
-
}, tableProps), header, footer, body));
|
|
3004
|
-
};
|
|
3005
|
-
var createTable = function createTable(value) {
|
|
3006
|
-
return props.scrollable ? createScrollableTable(value) : createRegularTable(value);
|
|
3007
|
-
};
|
|
3008
|
-
var createLoader = function createLoader() {
|
|
3009
|
-
if (props.loading) {
|
|
3010
|
-
var loadingIconProps = mergeProps({
|
|
3011
|
-
className: ptCallbacks.cx('loadingIcon')
|
|
3012
|
-
}, ptCallbacks.ptm('loadingIcon'));
|
|
3013
|
-
var icon = props.loadingIcon || /*#__PURE__*/React.createElement(SpinnerIcon, _extends({}, loadingIconProps, {
|
|
3014
|
-
spin: true
|
|
3015
|
-
}));
|
|
3016
|
-
var loadingIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, loadingIconProps), {
|
|
3017
|
-
props: props
|
|
3018
|
-
});
|
|
3019
|
-
var loadingWrapperProps = mergeProps({
|
|
3020
|
-
className: ptCallbacks.cx('loadingWrapper')
|
|
3021
|
-
}, ptCallbacks.ptm('loadingWrapper'));
|
|
3022
|
-
var loadingOverlayProps = mergeProps({
|
|
3023
|
-
className: ptCallbacks.cx('loadingOverlay')
|
|
3024
|
-
}, ptCallbacks.ptm('loadingOverlay'));
|
|
3025
|
-
return /*#__PURE__*/React.createElement("div", loadingWrapperProps, /*#__PURE__*/React.createElement("div", loadingOverlayProps, loadingIcon));
|
|
3026
|
-
}
|
|
3027
|
-
return null;
|
|
3028
|
-
};
|
|
3029
|
-
var data = processedData();
|
|
3030
|
-
var table = createTable(data);
|
|
3031
|
-
var totalRecords = getTotalRecords(data);
|
|
3032
|
-
var headerProps = mergeProps({
|
|
3033
|
-
className: ptCallbacks.cx('header')
|
|
3034
|
-
}, ptCallbacks.ptm('header'));
|
|
3035
|
-
var footerProps = mergeProps({
|
|
3036
|
-
className: ptCallbacks.cx('footer')
|
|
3037
|
-
}, ptCallbacks.ptm('footer'));
|
|
3038
|
-
var resizeHelperProps = mergeProps({
|
|
3039
|
-
className: ptCallbacks.cx('resizeHelper'),
|
|
3040
|
-
style: {
|
|
3041
|
-
display: 'none'
|
|
3042
|
-
}
|
|
3043
|
-
}, ptCallbacks.ptm('resizeHelper'));
|
|
3044
|
-
var headerFacet = props.header && /*#__PURE__*/React.createElement("div", headerProps, props.header);
|
|
3045
|
-
var footerFacet = props.footer && /*#__PURE__*/React.createElement("div", footerProps, props.footer);
|
|
3046
|
-
var paginatorTop = props.paginator && props.paginatorPosition !== 'bottom' && createPaginator('top', totalRecords);
|
|
3047
|
-
var paginatorBottom = props.paginator && props.paginatorPosition !== 'top' && createPaginator('bottom', totalRecords);
|
|
3048
|
-
var loader = createLoader();
|
|
3049
|
-
var resizeHelper = props.resizableColumns && /*#__PURE__*/React.createElement("div", _extends({
|
|
3050
|
-
ref: resizerHelperRef
|
|
3051
|
-
}, resizeHelperProps));
|
|
3052
|
-
var reorderIndicatorUpProps = mergeProps({
|
|
3053
|
-
className: ptCallbacks.cx('reorderIndicatorUp'),
|
|
3054
|
-
style: {
|
|
3055
|
-
position: 'absolute',
|
|
3056
|
-
display: 'none'
|
|
3057
|
-
}
|
|
3058
|
-
}, ptCallbacks.ptm('reorderIndicatorUp'));
|
|
3059
|
-
var reorderIndicatorUpIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorUpIcon'));
|
|
3060
|
-
var reorderIndicatorUpIcon = props.reorderableColumns && IconUtils.getJSXIcon(props.reorderIndicatorUpIcon || /*#__PURE__*/React.createElement(ArrowDownIcon, reorderIndicatorUpIconProps), _objectSpread({}, reorderIndicatorUpIconProps), {
|
|
3061
|
-
props: props
|
|
3062
|
-
});
|
|
3063
|
-
var reorderIndicatorUp = props.reorderableColumns && /*#__PURE__*/React.createElement("span", _extends({
|
|
3064
|
-
ref: reorderIndicatorUpRef
|
|
3065
|
-
}, reorderIndicatorUpProps), reorderIndicatorUpIcon);
|
|
3066
|
-
var reorderIndicatorDownProps = {
|
|
3067
|
-
className: ptCallbacks.sx('reorderIndicatorDown'),
|
|
3068
|
-
style: {
|
|
3069
|
-
position: 'absolute',
|
|
3070
|
-
display: 'none'
|
|
3071
|
-
}
|
|
3072
|
-
};
|
|
3073
|
-
var reorderIndicatorDownIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorDownIcon'));
|
|
3074
|
-
var reorderIndicatorDownIcon = IconUtils.getJSXIcon(props.reorderIndicatorDownIcon || /*#__PURE__*/React.createElement(ArrowUpIcon, reorderIndicatorDownIconProps), _objectSpread({}, reorderIndicatorDownIconProps), {
|
|
3075
|
-
props: props
|
|
3076
|
-
});
|
|
3077
|
-
var reorderIndicatorDown = props.reorderableColumns && /*#__PURE__*/React.createElement("span", _extends({
|
|
3078
|
-
ref: reorderIndicatorDownRef
|
|
3079
|
-
}, reorderIndicatorDownProps), reorderIndicatorDownIcon);
|
|
3080
|
-
var rootProps = mergeProps({
|
|
3081
|
-
id: props.id,
|
|
3082
|
-
className: classNames(props.className, ptCallbacks.cx('root', {
|
|
3083
|
-
isRowSelectionMode: isRowSelectionMode
|
|
3084
|
-
})),
|
|
3085
|
-
style: props.style,
|
|
3086
|
-
'data-scrollselectors': '.p-treetable-wrapper'
|
|
3087
|
-
}, ObjectUtils.findDiffKeys(props, TreeTable.defaultProps), ptCallbacks.ptm('root'));
|
|
3088
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
3089
|
-
ref: elementRef
|
|
3090
|
-
}, rootProps), loader, headerFacet, paginatorTop, table, paginatorBottom, footerFacet, resizeHelper, reorderIndicatorUp, reorderIndicatorDown);
|
|
3091
|
-
});
|
|
3092
|
-
TreeTable.displayName = 'TreeTable';
|
|
3093
|
-
|
|
3094
|
-
export { TreeTable };
|