@progress/kendo-react-grid 11.0.0-develop.9 → 11.0.1-develop.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/BasePDFExport.js +8 -0
- package/BasePDFExport.mjs +52 -0
- package/Grid.js +1 -1
- package/Grid.mjs +13 -18
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +300 -288
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +387 -429
- package/GridPdfExportButton.js +8 -0
- package/GridPdfExportButton.mjs +35 -0
- package/GridSearchBox.js +1 -1
- package/GridSearchBox.mjs +1 -1
- package/GridToolbar.js +1 -1
- package/GridToolbar.mjs +15 -20
- package/StatusBar.js +1 -1
- package/StatusBar.mjs +23 -23
- package/cells/GridFilterCell.js +1 -1
- package/cells/GridFilterCell.mjs +46 -46
- package/cells/datacell/GridCell.js +1 -1
- package/cells/datacell/GridCell.mjs +9 -15
- package/cells/datacell/GridCellServerContainer.js +1 -1
- package/cells/datacell/GridCellServerContainer.mjs +1 -1
- package/cells/datacell/useCellClientTdProps.js +1 -1
- package/cells/datacell/useCellClientTdProps.mjs +1 -1
- package/cells/editcell/GridEditCell.js +1 -1
- package/cells/editcell/GridEditCell.mjs +7 -13
- package/cells/editcell/GridEditCellEditor.js +1 -1
- package/cells/editcell/GridEditCellEditor.mjs +1 -1
- package/cells/editcell/GridEditCellServerContainer.js +1 -1
- package/cells/editcell/GridEditCellServerContainer.mjs +1 -1
- package/cells/groupcell/GridGroupCell.js +1 -1
- package/cells/groupcell/GridGroupCell.mjs +8 -10
- package/cells/groupcell/GridGroupCellServerContainer.js +1 -1
- package/cells/groupcell/GridGroupCellServerContainer.mjs +1 -1
- package/cells/groupcell/GridGroupCellToggle.js +1 -1
- package/cells/groupcell/GridGroupCellToggle.mjs +1 -1
- package/cells/groupcell/useGroupCellClientTdProps.js +1 -1
- package/cells/groupcell/useGroupCellClientTdProps.mjs +1 -1
- package/cells/hierarchycell/GridHierarchyCell.js +1 -1
- package/cells/hierarchycell/GridHierarchyCell.mjs +8 -14
- package/cells/hierarchycell/GridHierarchyCellServerContainer.js +1 -1
- package/cells/hierarchycell/GridHierarchyCellServerContainer.mjs +1 -1
- package/cells/hierarchycell/GridHierarchyCellToggle.js +1 -1
- package/cells/hierarchycell/GridHierarchyCellToggle.mjs +1 -1
- package/cells/hierarchycell/useHierarchyCellClientTdProps.js +1 -1
- package/cells/hierarchycell/useHierarchyCellClientTdProps.mjs +15 -18
- package/cells/hooks.js +1 -1
- package/cells/hooks.mjs +1 -1
- package/cells/rowreordercell/useRowReorderCellClientTdProps.js +1 -1
- package/cells/rowreordercell/useRowReorderCellClientTdProps.mjs +1 -1
- package/cells/selectioncell/GridSelectionCell.js +1 -1
- package/cells/selectioncell/GridSelectionCell.mjs +7 -13
- package/cells/selectioncell/GridSelectionCellInput.js +1 -1
- package/cells/selectioncell/GridSelectionCellInput.mjs +1 -1
- package/cells/selectioncell/GridSelectionCellServerContainer.js +1 -1
- package/cells/selectioncell/GridSelectionCellServerContainer.mjs +1 -1
- package/codemods/v11/cell-render.js +9 -0
- package/codemods/v11/column-cell.js +9 -0
- package/codemods/v11/column-filter-cell.js +9 -0
- package/codemods/v11/column-footer-cell.js +9 -0
- package/codemods/v11/column-header-cell.js +9 -0
- package/codemods/v11/detail-expand-state.js +9 -0
- package/codemods/v11/edit-state.js +9 -0
- package/codemods/v11/filter-cell-render.js +9 -0
- package/codemods/v11/group-expand-state.js +9 -0
- package/codemods/v11/header-cell-render.js +9 -0
- package/codemods/v11/index.js +9 -0
- package/codemods/v11/row-render.js +9 -0
- package/codemods/v11/selection-state.js +9 -0
- package/codemods/v11/utils.js +9 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +3 -2
- package/columnMenu/GridColumnMenuColumnsChooser.js +1 -1
- package/columnMenu/GridColumnMenuColumnsChooser.mjs +1 -1
- package/columnMenu/GridColumnMenuFilter.js +1 -1
- package/columnMenu/GridColumnMenuFilter.mjs +1 -1
- package/columnMenu/GridColumnMenuFilterCell.js +1 -1
- package/columnMenu/GridColumnMenuFilterCell.mjs +35 -28
- package/columnMenu/GridColumnMenuFilterUI.js +1 -1
- package/columnMenu/GridColumnMenuFilterUI.mjs +1 -1
- package/columnMenu/GridColumnMenuItem.js +1 -1
- package/columnMenu/GridColumnMenuItem.mjs +1 -1
- package/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/columnMenu/GridColumnMenuWrapper.mjs +62 -49
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +2 -2
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +1 -1
- package/components/GridContainerElementContainer.js +1 -1
- package/components/GridContainerElementContainer.mjs +1 -1
- package/components/GridDragClue.js +1 -1
- package/components/GridDragClue.mjs +1 -1
- package/components/GridDraggableRowsContainer.js +1 -1
- package/components/GridDraggableRowsContainer.mjs +1 -1
- package/components/GridDropClue.js +1 -1
- package/components/GridDropClue.mjs +1 -1
- package/components/GridEditDialog.js +1 -1
- package/components/GridEditDialog.mjs +1 -1
- package/components/GridElementContainer.js +1 -1
- package/components/GridElementContainer.mjs +1 -1
- package/components/PagerContainer.js +1 -1
- package/components/PagerContainer.mjs +1 -1
- package/components/VirtualScrollHeightContainer.js +1 -1
- package/components/VirtualScrollHeightContainer.mjs +1 -1
- package/components/colGroup/GridColGroup.js +1 -1
- package/components/colGroup/GridColGroup.mjs +1 -1
- package/components/noRecords/GridNoRecordsContainer.js +1 -1
- package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
- package/components/table/GridTable.js +1 -1
- package/components/table/GridTable.mjs +1 -1
- package/components/table/GridTableBody.js +1 -1
- package/components/table/GridTableBody.mjs +1 -1
- package/components/table/GridTableScrollable.js +1 -1
- package/components/table/GridTableScrollable.mjs +1 -1
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/footer/Footer.js +1 -1
- package/footer/Footer.mjs +1 -1
- package/footer/FooterCell.js +1 -1
- package/footer/FooterCell.mjs +14 -14
- package/footer/client/FooterCellContainer.js +1 -1
- package/footer/client/FooterCellContainer.mjs +1 -1
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +42 -46
- package/header/GridHeaderCell.js +1 -1
- package/header/GridHeaderCell.mjs +11 -11
- package/header/GridHeaderSelectionCell.js +1 -1
- package/header/GridHeaderSelectionCell.mjs +14 -14
- package/header/GroupPanel.js +1 -1
- package/header/GroupPanel.mjs +1 -1
- package/header/Header.js +1 -1
- package/header/Header.mjs +1 -1
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +19 -20
- package/header/client/GridFilterCellContainer.js +1 -1
- package/header/client/GridFilterCellContainer.mjs +11 -12
- package/header/client/GridFilterCellElementContainer.js +1 -1
- package/header/client/GridFilterCellElementContainer.mjs +1 -1
- package/header/client/GridHeaderCellContainer.js +1 -1
- package/header/client/GridHeaderCellContainer.mjs +7 -8
- package/header/client/GridHeaderCellElementContainer.js +1 -1
- package/header/client/GridHeaderCellElementContainer.mjs +1 -1
- package/header/client/GridHeaderRowContainer.js +1 -1
- package/header/client/GridHeaderRowContainer.mjs +1 -1
- package/header/client/HeaderCellResizer.js +1 -1
- package/header/client/HeaderCellResizer.mjs +1 -1
- package/header/client/HeaderRowDraggable.js +1 -1
- package/header/client/HeaderRowDraggable.mjs +1 -1
- package/index.d.mts +293 -186
- package/index.d.ts +293 -186
- package/index.js +1 -1
- package/index.mjs +81 -71
- package/messages/index.js +1 -1
- package/messages/index.mjs +94 -76
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +77 -21
- package/rows/GridRow.js +1 -1
- package/rows/GridRow.mjs +32 -33
- package/toolbar-tools/GridToolbarCheckboxFilter.js +8 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.mjs +312 -0
- package/toolbar-tools/GridToolbarColumnsChooser.js +8 -0
- package/toolbar-tools/GridToolbarColumnsChooser.mjs +178 -0
- package/toolbar-tools/GridToolbarFilter.js +8 -0
- package/toolbar-tools/GridToolbarFilter.mjs +276 -0
- package/toolbar-tools/GridToolbarSort.js +8 -0
- package/toolbar-tools/GridToolbarSort.mjs +146 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +114 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +89 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +98 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.js +9 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.mjs +68 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.js +9 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.mjs +17 -0
- package/utils/GridContext.js +9 -0
- package/{codemods/index.js → utils/GridContext.mjs} +6 -1
- package/utils/index.js +1 -1
- package/utils/index.mjs +145 -148
- package/utils/premium.js +1 -1
- package/utils/premium.mjs +26 -25
- package/utils/virtualColumns.js +1 -1
- package/utils/virtualColumns.mjs +13 -7
- package/components/GridCustomCellClientContainer.js +0 -9
- package/components/GridCustomCellClientContainer.mjs +0 -34
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qe=require("react"),Oe=require("react-dom"),b=require("@progress/kendo-react-common"),Ae=require("../columnMenu/GridColumnMenuItem.js"),Pe=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Le=require("../utils/GridContext.js"),L=require("@progress/kendo-svg-icons"),d=require("../filterCommon.js"),I=require("@progress/kendo-react-buttons"),Ue=require("../columnMenu/GridColumnMenuFilterUI.js"),u=require("../messages/index.js"),Ve=require("@progress/kendo-react-intl"),C=require("../columnMenu/GridColumnMenuFilter.js"),_e=require("@progress/kendo-react-popup"),fe=require("@progress/kendo-react-indicators"),je=require("./adaptiveContext/GridToolbarAdaptiveContext.js"),ze=require("./adaptiveContent/GridAdaptiveToolbarFilter.js");function Ke(i){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const m in i)if(m!=="default"){const g=Object.getOwnPropertyDescriptor(i,m);Object.defineProperty(l,m,g.get?g:{enumerable:!0,get:()=>i[m]})}}return l.default=i,Object.freeze(l)}const t=Ke(qe),de=i=>{var te,re,oe,le,ne,ie,ae;const l=t.useContext(Le.GridContext),m=l.columnsRef;l.filterable;const g=l.defaultFilter,[y,E]=t.useState(!1),[me,k]=t.useState(!1),[F,S]=t.useState((m==null?void 0:m.map(e=>({column:e,expanded:!1})))||[]),[ge,U]=t.useState(!1),h=t.useRef(null),D=t.useRef(null),V=t.useRef(null),B=t.useRef(0),r=t.useRef(null),p=Ve.useLocalization(),pe=b.useDocument(h),_=t.useMemo(()=>(m==null?void 0:m.filter(e=>{var o;return(o=e.title||e.field)==null?void 0:o.toLowerCase()}))||[],[m]);t.useEffect(()=>{g&&k(!0)},[g]);const j=t.useCallback(e=>{const o=g&&g.filters.some(a=>a.field===e.field);return t.createElement(t.Fragment,null,e.title||e.field,o&&t.createElement("span",{className:"k-columnmenu-indicators"},t.createElement(b.SvgIcon,{key:1,icon:L.filterIcon})))},[g]),z=(e,o)=>{S(a=>(r.current=o,a.map(n=>n.column.field===o.field?{...n,expanded:!n.expanded}:{...n,expanded:!1}))),w(K()),U(!ge)},K=()=>{var o,a,n,c,se,ce;let e;if(r!=null&&r.current&&((o=r==null?void 0:r.current)!=null&&o.field)){const Te=d.getFilterType((a=r==null?void 0:r.current)==null?void 0:a.filter),v=d.getDefaultOperator(l.filterOperators,Te);e=C.filterGroupByField((n=r==null?void 0:r.current)==null?void 0:n.field,l.filter),e=e?{...e,filters:e.filters.map(N=>({...N}))}:{logic:"and",filters:[{field:(c=r==null?void 0:r.current)==null?void 0:c.field,operator:v,value:d.IsUnaryFilter(v)?null:void 0},{field:(se=r==null?void 0:r.current)==null?void 0:se.field,operator:v,value:d.IsUnaryFilter(v)?null:void 0}]},e.filters.filter(N=>{var ue;return N.field===((ue=r==null?void 0:r.current)==null?void 0:ue.field)}).length===1&&e.filters.splice(1,0,{field:(ce=r==null?void 0:r.current)==null?void 0:ce.field,operator:v})}return e},Fe=e=>{H(0,e)},he=e=>{H(1,e)},H=(e,o)=>{const a=f.filters.map((n,c)=>c===e?{...n,value:o.value||"",operator:o.operator||G[c].operator}:n);w({...f,filters:a})},[f,w]=t.useState(K()),s=f==null?void 0:f.filters,M=d.getFilterType((te=r==null?void 0:r.current)==null?void 0:te.filter),G=d.operatorMap(l.filterOperators[M],p),J=d.operatorMap(d.booleanFilterValues,p),ve={field:(re=r==null?void 0:r.current)==null?void 0:re.field,value:s==null?void 0:s[0].value,operator:s==null?void 0:s[0].operator,operators:G,booleanValues:J,onChange:Fe,filterType:M},be={field:(oe=r==null?void 0:r.current)==null?void 0:oe.field,value:s==null?void 0:s[1].value,operator:s==null?void 0:s[1].operator,operators:G,booleanValues:J,onChange:he,filterType:M},Ce=e=>{let o=e.target.value;e.target.tagName==="SPAN"&&(o=e.target.parentElement.value),w({...f,logic:o})},Q=f==null?void 0:f.logic,W=d.operatorMap(d.filterLogicList,p),T={value:W.find(e=>e.operator===(Q===null?"":Q)),onChange:Ce,data:W},Ee=i.hideSecondFilter!==void 0?i.hideSecondFilter:d.defaultHideSecondFilter[M],q=i.filterUI,O={firstFilterProps:ve,secondFilterProps:be,logicData:T.data,logicValue:T.value,onLogicChange:T.onChange,hideSecondFilter:Ee},X=()=>({...f,filters:f==null?void 0:f.filters.filter(e=>e.value!==void 0&&e.value!==null&&e.value!==""||e.value===null&&e.operator)}),A=((ne=(le=X())==null?void 0:le.filters)==null?void 0:ne.length)!==0||d.IsUnaryFilter(s==null?void 0:s[0].operator)||d.IsUnaryFilter(s==null?void 0:s[1].operator),Y=e=>{if(e.preventDefault(),!l.filterChange)return;const o=C.rootFilterOrDefault(l.filter),a={...o,filters:o.filters.filter(n=>{var c;return n.field!==((c=r==null?void 0:r.current)==null?void 0:c.field)})};A&&a.filters.push(X()),l.filterChange(a,e),k(!0),E(!1)},Z=e=>{if(e.preventDefault(),!l.filterChange)return;const o=C.rootFilterOrDefault(l.filter),a=o.filters.filter(n=>{var c;return n.field!==((c=r==null?void 0:r.current)==null?void 0:c.field)});a.length===0?l.filterChange(null,e):l.filterChange({...o,filters:a},e),i.onCloseMenu&&i.onCloseMenu(),k(!1),S(n=>n.map(c=>({...c,expanded:!1})))},ke=()=>{U(!1)},Me=e=>{e.preventDefault(),E(!y)},Ie=e=>{!e.isAnchorClicked&&E(!1)},P=t.useMemo(()=>i.show!==void 0?i.show:y,[i.show,y]),ye=e=>{const o=b.getActiveElement(document);clearTimeout(B.current),B.current=window.setTimeout(()=>{!l.mobileMode&&o&&e.relatedTarget!==h.current&&D.current&&!D.current.contains(o)&&$()})},$=()=>{var e;i.onCloseMenu&&i.onCloseMenu(),E(!1),h.current&&((e=h.current.element)==null||e.focus())},Se=()=>{clearTimeout(B.current)},{onFocus:De,onBlur:Be}=b.useAsyncFocusBlur({onFocus:e=>Se(),onBlur:e=>ye(e)}),we=e=>{var o;(o=V.current)==null||o.triggerMouseEvent(e)},Ge=e=>{var o;(o=V.current)==null||o.triggerKeyboardEvent(e)},x=t.useCallback(e=>{if(e.preventDefault(),!l.filterChange)return;const o=C.rootFilterOrDefault(l.filter),a=o.filters.filter(()=>!1);a.length===0?l.filterChange(null,e):l.filterChange({...o,filters:a},e),k(!1),S(n=>n.map(c=>({...c,expanded:!1})))},[l,C.rootFilterOrDefault]),R=t.createElement(I.Button,{ref:h,togglable:!0,selected:P,svgIcon:i.svgIcon?i.svgIcon:i.icon?void 0:L.filterIcon,icon:i.icon,size:l.mobileMode?"large":"medium",className:b.classNames("k-toolbar-button",{"k-icon-button":l.mobileMode}),title:p.toLanguageString(u.toolbarFilter,u.messages[u.toolbarFilter]),onClick:Me},!l.mobileMode&&p.toLanguageString(u.toolbarFilter,u.messages[u.toolbarFilter])),ee=t.createElement(t.Fragment,null,_.map(e=>{var o,a;return e.filterable&&t.createElement(Ne.GridColumnMenuItemGroup,{key:e.id},t.createElement("div",{className:"k-expander"},t.createElement(Ae.GridColumnMenuItem,{title:j(e),expandable:!0,expanded:!!((o=F==null?void 0:F.find(n=>n.column.field===e.field))!=null&&o.expanded),onClick:n=>z(n,e)})),t.createElement(Pe.GridColumnMenuItemContent,{show:!!((a=F==null?void 0:F.find(n=>n.column.field===e.field))!=null&&a.expanded)},t.createElement("form",{className:"k-filter-menu",onSubmit:Y,onReset:Z},t.createElement("div",{className:"k-filter-menu-container"},q?t.createElement(q,{...O}):t.createElement(Ue.GridColumnMenuFilterUI,{...O}),t.createElement("div",{className:"k-actions k-actions-stretched"},t.createElement(I.Button,{themeColor:"primary",disabled:!A},p.toLanguageString(u.filterSubmitButton,u.messages[u.filterSubmitButton])),t.createElement(I.Button,{type:"reset"},p.toLanguageString(u.filterClearButton,u.messages[u.filterClearButton])))))))}),t.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},t.createElement(I.Button,{svgIcon:L.filterClearIcon,onClick:x},p.toLanguageString(u.filterClearAllButton,u.messages[u.filterClearAllButton]))));return t.createElement(t.Fragment,null,me?t.createElement(fe.BadgeContainer,null,R,t.createElement(fe.Badge,{themeColor:"primary"})):R,l.mobileMode?t.createElement(je.GridToolbarAdaptiveProvider,null,Oe.createPortal(t.createElement(ze.GridAdaptiveToolbarFilter,{filtered:_,computedShow:P,expandState:F,FilterUI:q,filterUIProps:O,isFilterValid:A,renderTitle:j,onBackView:ke,clear:Z,submit:Y,onClose:$,onFilterExpand:z,handleClearAllFilters:x},ee),(ie=pe())==null?void 0:ie.body)):t.createElement(_e.Popup,{anchor:(ae=h.current)==null?void 0:ae.element,show:P,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:Ie},t.createElement("div",{ref:D,onBlur:Be,onFocus:De,onMouseDown:we,onKeyDown:Ge,className:"k-column-menu k-column-menu-md"},ee)))};de.displayName="KendoReactGridToolbarFilter";exports.GridToolbarFilter=de;
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import * as t from "react";
|
|
9
|
+
import Ge from "react-dom";
|
|
10
|
+
import { useDocument as Oe, SvgIcon as Ve, useAsyncFocusBlur as Ue, classNames as ze, getActiveElement as Ke } from "@progress/kendo-react-common";
|
|
11
|
+
import { GridColumnMenuItem as _e } from "../columnMenu/GridColumnMenuItem.mjs";
|
|
12
|
+
import { GridColumnMenuItemContent as He } from "../columnMenu/GridColumnMenuItemContent.mjs";
|
|
13
|
+
import { GridColumnMenuItemGroup as je } from "../columnMenu/GridColumnMenuItemGroup.mjs";
|
|
14
|
+
import { GridContext as qe } from "../utils/GridContext.mjs";
|
|
15
|
+
import { filterIcon as fe, filterClearIcon as Je } from "@progress/kendo-svg-icons";
|
|
16
|
+
import { getFilterType as me, operatorMap as V, defaultHideSecondFilter as Qe, IsUnaryFilter as C, getDefaultOperator as We, booleanFilterValues as Xe, filterLogicList as Ye } from "../filterCommon.mjs";
|
|
17
|
+
import { Button as k } from "@progress/kendo-react-buttons";
|
|
18
|
+
import { GridColumnMenuFilterUI as Ze } from "../columnMenu/GridColumnMenuFilterUI.mjs";
|
|
19
|
+
import { toolbarFilter as M, messages as v, filterSubmitButton as de, filterClearButton as ge, filterClearAllButton as pe } from "../messages/index.mjs";
|
|
20
|
+
import { useLocalization as $e } from "@progress/kendo-react-intl";
|
|
21
|
+
import { rootFilterOrDefault as w, filterGroupByField as xe } from "../columnMenu/GridColumnMenuFilter.mjs";
|
|
22
|
+
import { Popup as Re } from "@progress/kendo-react-popup";
|
|
23
|
+
import { BadgeContainer as et, Badge as tt } from "@progress/kendo-react-indicators";
|
|
24
|
+
import { GridToolbarAdaptiveProvider as rt } from "./adaptiveContext/GridToolbarAdaptiveContext.mjs";
|
|
25
|
+
import { GridAdaptiveToolbarFilter as ot } from "./adaptiveContent/GridAdaptiveToolbarFilter.mjs";
|
|
26
|
+
const lt = (c) => {
|
|
27
|
+
var te, re, oe, le, ne, ie, ae;
|
|
28
|
+
const n = t.useContext(qe), m = n.columnsRef;
|
|
29
|
+
n.filterable;
|
|
30
|
+
const p = n.defaultFilter, [S, F] = t.useState(!1), [he, E] = t.useState(!1), [d, D] = t.useState(
|
|
31
|
+
(m == null ? void 0 : m.map((e) => ({ column: e, expanded: !1 }))) || []
|
|
32
|
+
), [ve, U] = t.useState(!1), g = t.useRef(null), y = t.useRef(null), z = t.useRef(null), I = t.useRef(0), r = t.useRef(null), f = $e(), Fe = Oe(g), K = t.useMemo(
|
|
33
|
+
() => (m == null ? void 0 : m.filter((e) => {
|
|
34
|
+
var o;
|
|
35
|
+
return (o = e.title || e.field) == null ? void 0 : o.toLowerCase();
|
|
36
|
+
})) || [],
|
|
37
|
+
[m]
|
|
38
|
+
);
|
|
39
|
+
t.useEffect(() => {
|
|
40
|
+
p && E(!0);
|
|
41
|
+
}, [p]);
|
|
42
|
+
const _ = t.useCallback(
|
|
43
|
+
(e) => {
|
|
44
|
+
const o = p && p.filters.some((i) => i.field === e.field);
|
|
45
|
+
return /* @__PURE__ */ t.createElement(t.Fragment, null, e.title || e.field, o && /* @__PURE__ */ t.createElement("span", { className: "k-columnmenu-indicators" }, /* @__PURE__ */ t.createElement(Ve, { key: 1, icon: fe })));
|
|
46
|
+
},
|
|
47
|
+
[p]
|
|
48
|
+
), H = (e, o) => {
|
|
49
|
+
D((i) => (r.current = o, i.map((l) => l.column.field === o.field ? { ...l, expanded: !l.expanded } : { ...l, expanded: !1 }))), B(j()), U(!ve);
|
|
50
|
+
}, j = () => {
|
|
51
|
+
var o, i, l, s, se, ce;
|
|
52
|
+
let e;
|
|
53
|
+
if (r != null && r.current && ((o = r == null ? void 0 : r.current) != null && o.field)) {
|
|
54
|
+
const Pe = me((i = r == null ? void 0 : r.current) == null ? void 0 : i.filter), h = We(n.filterOperators, Pe);
|
|
55
|
+
e = xe((l = r == null ? void 0 : r.current) == null ? void 0 : l.field, n.filter), e = e ? {
|
|
56
|
+
...e,
|
|
57
|
+
filters: e.filters.map((O) => ({ ...O }))
|
|
58
|
+
} : {
|
|
59
|
+
logic: "and",
|
|
60
|
+
filters: [
|
|
61
|
+
{
|
|
62
|
+
field: (s = r == null ? void 0 : r.current) == null ? void 0 : s.field,
|
|
63
|
+
operator: h,
|
|
64
|
+
value: C(h) ? null : void 0
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
field: (se = r == null ? void 0 : r.current) == null ? void 0 : se.field,
|
|
68
|
+
operator: h,
|
|
69
|
+
value: C(h) ? null : void 0
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}, e.filters.filter((O) => {
|
|
73
|
+
var ue;
|
|
74
|
+
return O.field === ((ue = r == null ? void 0 : r.current) == null ? void 0 : ue.field);
|
|
75
|
+
}).length === 1 && e.filters.splice(1, 0, {
|
|
76
|
+
field: (ce = r == null ? void 0 : r.current) == null ? void 0 : ce.field,
|
|
77
|
+
operator: h
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return e;
|
|
81
|
+
}, Ee = (e) => {
|
|
82
|
+
q(0, e);
|
|
83
|
+
}, be = (e) => {
|
|
84
|
+
q(1, e);
|
|
85
|
+
}, q = (e, o) => {
|
|
86
|
+
const i = u.filters.map((l, s) => s === e ? {
|
|
87
|
+
...l,
|
|
88
|
+
value: o.value || "",
|
|
89
|
+
operator: o.operator || A[s].operator
|
|
90
|
+
} : l);
|
|
91
|
+
B({
|
|
92
|
+
...u,
|
|
93
|
+
filters: i
|
|
94
|
+
});
|
|
95
|
+
}, [u, B] = t.useState(j()), a = u == null ? void 0 : u.filters, b = me((te = r == null ? void 0 : r.current) == null ? void 0 : te.filter), A = V(n.filterOperators[b], f), J = V(Xe, f), Ce = {
|
|
96
|
+
field: (re = r == null ? void 0 : r.current) == null ? void 0 : re.field,
|
|
97
|
+
value: a == null ? void 0 : a[0].value,
|
|
98
|
+
operator: a == null ? void 0 : a[0].operator,
|
|
99
|
+
operators: A,
|
|
100
|
+
booleanValues: J,
|
|
101
|
+
onChange: Ee,
|
|
102
|
+
filterType: b
|
|
103
|
+
}, ke = {
|
|
104
|
+
field: (oe = r == null ? void 0 : r.current) == null ? void 0 : oe.field,
|
|
105
|
+
value: a == null ? void 0 : a[1].value,
|
|
106
|
+
operator: a == null ? void 0 : a[1].operator,
|
|
107
|
+
operators: A,
|
|
108
|
+
booleanValues: J,
|
|
109
|
+
onChange: be,
|
|
110
|
+
filterType: b
|
|
111
|
+
}, Me = (e) => {
|
|
112
|
+
let o = e.target.value;
|
|
113
|
+
e.target.tagName === "SPAN" && (o = e.target.parentElement.value), B({ ...u, logic: o });
|
|
114
|
+
}, Q = u == null ? void 0 : u.logic, W = V(Ye, f), T = {
|
|
115
|
+
value: W.find((e) => e.operator === (Q === null ? "" : Q)),
|
|
116
|
+
onChange: Me,
|
|
117
|
+
data: W
|
|
118
|
+
}, we = c.hideSecondFilter !== void 0 ? c.hideSecondFilter : Qe[b], N = c.filterUI, L = {
|
|
119
|
+
firstFilterProps: Ce,
|
|
120
|
+
secondFilterProps: ke,
|
|
121
|
+
logicData: T.data,
|
|
122
|
+
logicValue: T.value,
|
|
123
|
+
onLogicChange: T.onChange,
|
|
124
|
+
hideSecondFilter: we
|
|
125
|
+
}, X = () => ({
|
|
126
|
+
...u,
|
|
127
|
+
filters: u == null ? void 0 : u.filters.filter((e) => e.value !== void 0 && e.value !== null && e.value !== "" || e.value === null && e.operator)
|
|
128
|
+
}), P = ((ne = (le = X()) == null ? void 0 : le.filters) == null ? void 0 : ne.length) !== 0 || C(a == null ? void 0 : a[0].operator) || C(a == null ? void 0 : a[1].operator), Y = (e) => {
|
|
129
|
+
if (e.preventDefault(), !n.filterChange)
|
|
130
|
+
return;
|
|
131
|
+
const o = w(n.filter), i = {
|
|
132
|
+
...o,
|
|
133
|
+
filters: o.filters.filter((l) => {
|
|
134
|
+
var s;
|
|
135
|
+
return l.field !== ((s = r == null ? void 0 : r.current) == null ? void 0 : s.field);
|
|
136
|
+
})
|
|
137
|
+
};
|
|
138
|
+
P && i.filters.push(X()), n.filterChange(i, e), E(!0), F(!1);
|
|
139
|
+
}, Z = (e) => {
|
|
140
|
+
if (e.preventDefault(), !n.filterChange)
|
|
141
|
+
return;
|
|
142
|
+
const o = w(n.filter), i = o.filters.filter((l) => {
|
|
143
|
+
var s;
|
|
144
|
+
return l.field !== ((s = r == null ? void 0 : r.current) == null ? void 0 : s.field);
|
|
145
|
+
});
|
|
146
|
+
i.length === 0 ? n.filterChange(null, e) : n.filterChange({ ...o, filters: i }, e), c.onCloseMenu && c.onCloseMenu(), E(!1), D(
|
|
147
|
+
(l) => l.map((s) => ({
|
|
148
|
+
...s,
|
|
149
|
+
expanded: !1
|
|
150
|
+
}))
|
|
151
|
+
);
|
|
152
|
+
}, Se = () => {
|
|
153
|
+
U(!1);
|
|
154
|
+
}, De = (e) => {
|
|
155
|
+
e.preventDefault(), F(!S);
|
|
156
|
+
}, ye = (e) => {
|
|
157
|
+
!e.isAnchorClicked && F(!1);
|
|
158
|
+
}, G = t.useMemo(() => c.show !== void 0 ? c.show : S, [c.show, S]), Ie = (e) => {
|
|
159
|
+
const o = Ke(document);
|
|
160
|
+
clearTimeout(I.current), I.current = window.setTimeout(() => {
|
|
161
|
+
!n.mobileMode && o && e.relatedTarget !== g.current && y.current && !y.current.contains(o) && $();
|
|
162
|
+
});
|
|
163
|
+
}, $ = () => {
|
|
164
|
+
var e;
|
|
165
|
+
c.onCloseMenu && c.onCloseMenu(), F(!1), g.current && ((e = g.current.element) == null || e.focus());
|
|
166
|
+
}, Be = () => {
|
|
167
|
+
clearTimeout(I.current);
|
|
168
|
+
}, { onFocus: Ae, onBlur: Te } = Ue({
|
|
169
|
+
onFocus: (e) => Be(),
|
|
170
|
+
onBlur: (e) => Ie(e)
|
|
171
|
+
}), Ne = (e) => {
|
|
172
|
+
var o;
|
|
173
|
+
(o = z.current) == null || o.triggerMouseEvent(e);
|
|
174
|
+
}, Le = (e) => {
|
|
175
|
+
var o;
|
|
176
|
+
(o = z.current) == null || o.triggerKeyboardEvent(e);
|
|
177
|
+
}, x = t.useCallback(
|
|
178
|
+
(e) => {
|
|
179
|
+
if (e.preventDefault(), !n.filterChange)
|
|
180
|
+
return;
|
|
181
|
+
const o = w(n.filter), i = o.filters.filter(() => !1);
|
|
182
|
+
i.length === 0 ? n.filterChange(null, e) : n.filterChange({ ...o, filters: i }, e), E(!1), D(
|
|
183
|
+
(l) => l.map((s) => ({
|
|
184
|
+
...s,
|
|
185
|
+
expanded: !1
|
|
186
|
+
}))
|
|
187
|
+
);
|
|
188
|
+
},
|
|
189
|
+
[n, w]
|
|
190
|
+
), R = /* @__PURE__ */ t.createElement(
|
|
191
|
+
k,
|
|
192
|
+
{
|
|
193
|
+
ref: g,
|
|
194
|
+
togglable: !0,
|
|
195
|
+
selected: G,
|
|
196
|
+
svgIcon: c.svgIcon ? c.svgIcon : c.icon ? void 0 : fe,
|
|
197
|
+
icon: c.icon,
|
|
198
|
+
size: n.mobileMode ? "large" : "medium",
|
|
199
|
+
className: ze("k-toolbar-button", {
|
|
200
|
+
"k-icon-button": n.mobileMode
|
|
201
|
+
}),
|
|
202
|
+
title: f.toLanguageString(M, v[M]),
|
|
203
|
+
onClick: De
|
|
204
|
+
},
|
|
205
|
+
!n.mobileMode && f.toLanguageString(M, v[M])
|
|
206
|
+
), ee = /* @__PURE__ */ t.createElement(t.Fragment, null, K.map((e) => {
|
|
207
|
+
var o, i;
|
|
208
|
+
return e.filterable && /* @__PURE__ */ t.createElement(je, { key: e.id }, /* @__PURE__ */ t.createElement("div", { className: "k-expander" }, /* @__PURE__ */ t.createElement(
|
|
209
|
+
_e,
|
|
210
|
+
{
|
|
211
|
+
title: _(e),
|
|
212
|
+
expandable: !0,
|
|
213
|
+
expanded: !!((o = d == null ? void 0 : d.find((l) => l.column.field === e.field)) != null && o.expanded),
|
|
214
|
+
onClick: (l) => H(l, e)
|
|
215
|
+
}
|
|
216
|
+
)), /* @__PURE__ */ t.createElement(
|
|
217
|
+
He,
|
|
218
|
+
{
|
|
219
|
+
show: !!((i = d == null ? void 0 : d.find((l) => l.column.field === e.field)) != null && i.expanded)
|
|
220
|
+
},
|
|
221
|
+
/* @__PURE__ */ t.createElement("form", { className: "k-filter-menu", onSubmit: Y, onReset: Z }, /* @__PURE__ */ t.createElement("div", { className: "k-filter-menu-container" }, N ? /* @__PURE__ */ t.createElement(N, { ...L }) : /* @__PURE__ */ t.createElement(Ze, { ...L }), /* @__PURE__ */ t.createElement("div", { className: "k-actions k-actions-stretched" }, /* @__PURE__ */ t.createElement(k, { themeColor: "primary", disabled: !P }, f.toLanguageString(
|
|
222
|
+
de,
|
|
223
|
+
v[de]
|
|
224
|
+
)), /* @__PURE__ */ t.createElement(k, { type: "reset" }, f.toLanguageString(
|
|
225
|
+
ge,
|
|
226
|
+
v[ge]
|
|
227
|
+
)))))
|
|
228
|
+
));
|
|
229
|
+
}), /* @__PURE__ */ t.createElement("div", { className: "k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer" }, /* @__PURE__ */ t.createElement(k, { svgIcon: Je, onClick: x }, f.toLanguageString(pe, v[pe]))));
|
|
230
|
+
return /* @__PURE__ */ t.createElement(t.Fragment, null, he ? /* @__PURE__ */ t.createElement(et, null, R, /* @__PURE__ */ t.createElement(tt, { themeColor: "primary" })) : R, n.mobileMode ? /* @__PURE__ */ t.createElement(rt, null, Ge.createPortal(
|
|
231
|
+
/* @__PURE__ */ t.createElement(
|
|
232
|
+
ot,
|
|
233
|
+
{
|
|
234
|
+
filtered: K,
|
|
235
|
+
computedShow: G,
|
|
236
|
+
expandState: d,
|
|
237
|
+
FilterUI: N,
|
|
238
|
+
filterUIProps: L,
|
|
239
|
+
isFilterValid: P,
|
|
240
|
+
renderTitle: _,
|
|
241
|
+
onBackView: Se,
|
|
242
|
+
clear: Z,
|
|
243
|
+
submit: Y,
|
|
244
|
+
onClose: $,
|
|
245
|
+
onFilterExpand: H,
|
|
246
|
+
handleClearAllFilters: x
|
|
247
|
+
},
|
|
248
|
+
ee
|
|
249
|
+
),
|
|
250
|
+
(ie = Fe()) == null ? void 0 : ie.body
|
|
251
|
+
)) : /* @__PURE__ */ t.createElement(
|
|
252
|
+
Re,
|
|
253
|
+
{
|
|
254
|
+
anchor: (ae = g.current) == null ? void 0 : ae.element,
|
|
255
|
+
show: G,
|
|
256
|
+
popupClass: "k-grid-columnmenu-popup",
|
|
257
|
+
onMouseDownOutside: ye
|
|
258
|
+
},
|
|
259
|
+
/* @__PURE__ */ t.createElement(
|
|
260
|
+
"div",
|
|
261
|
+
{
|
|
262
|
+
ref: y,
|
|
263
|
+
onBlur: Te,
|
|
264
|
+
onFocus: Ae,
|
|
265
|
+
onMouseDown: Ne,
|
|
266
|
+
onKeyDown: Le,
|
|
267
|
+
className: "k-column-menu k-column-menu-md"
|
|
268
|
+
},
|
|
269
|
+
ee
|
|
270
|
+
)
|
|
271
|
+
));
|
|
272
|
+
};
|
|
273
|
+
lt.displayName = "KendoReactGridToolbarFilter";
|
|
274
|
+
export {
|
|
275
|
+
lt as GridToolbarFilter
|
|
276
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("react"),Q=require("react-dom"),U=require("../columnMenu/GridColumnMenuItemGroup.js"),W=require("../columnMenu/GridColumnMenuItem.js"),X=require("../utils/GridContext.js"),R=require("@progress/kendo-react-buttons"),d=require("@progress/kendo-svg-icons"),Y=require("@progress/kendo-react-intl"),a=require("../messages/index.js"),u=require("@progress/kendo-react-common"),x=require("@progress/kendo-react-indicators"),Z=require("@progress/kendo-react-popup"),$=require("./adaptiveContext/GridToolbarAdaptiveContext.js"),ee=require("./adaptiveContent/GridAdaptiveToolbarSort.js");function te(r){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const l in r)if(l!=="default"){const i=Object.getOwnPropertyDescriptor(r,l);Object.defineProperty(n,l,i.get?i:{enumerable:!0,get:()=>r[l]})}}return n.default=r,Object.freeze(n)}const e=te(J),A=r=>{var q,B;const n=e.useContext(X.GridContext),l=n.columnsState,i=n.sortable,c=n.sort,h=n.defaultSort,[v,E]=e.useState(!0),[O,m]=e.useState(!1),[g,b]=e.useState(!1),s=e.useRef(null),f=e.useRef(null),M=e.useRef(null),C=e.useRef(0),S=Y.useLocalization(),N=u.useDocument(s);e.useEffect(()=>{h&&(m(!0),E(!1))},[h]);const p=e.useMemo(()=>(l==null?void 0:l.filter(t=>{var o;return(o=t.title||t.field)==null?void 0:o.toLowerCase()}))||[],[l]),w=e.useCallback((t,o)=>{n.headerCellClick(t,o),E(!1),m(!0)},[n]),I=e.useCallback(t=>{n.sortChange([],t),m(!1)},[n]),D=e.useCallback(t=>{const o=c?c.findIndex(H=>H.field===t.field):-1;return e.createElement(e.Fragment,null,t.title||t.field,e.createElement("span",{className:"k-columnmenu-indicators"},o>=0&&[e.createElement(u.SvgIcon,{key:1,icon:c[o].dir==="asc"?d.sortAscSmallIcon:d.sortDescSmallIcon}),c.length>1&&e.createElement("span",{key:2,className:"k-sort-index"},o+1)]))},[c]),P=t=>{t.preventDefault(),b(!g)},k=e.useMemo(()=>r.show!==void 0?r.show:g,[r.show,g]),y=()=>{var t;r.onCloseMenu&&r.onCloseMenu(),b(!1),s.current&&((t=s.current.element)==null||t.focus())},F=t=>{const o=u.getActiveElement(document);clearTimeout(C.current),C.current=window.setTimeout(()=>{!n.mobileMode&&o&&t.relatedTarget!==s.current&&f.current&&!f.current.contains(o)&&y()})},j=()=>{clearTimeout(C.current)},{onFocus:z,onBlur:L}=u.useAsyncFocusBlur({onFocus:t=>j(),onBlur:t=>F(t)}),K=t=>{var o;(o=M.current)==null||o.triggerMouseEvent(t)},_=t=>{var o;(o=M.current)==null||o.triggerKeyboardEvent(t)},V=t=>{!t.isAnchorClicked&&b(!1)},G=e.createElement(e.Fragment,null,e.createElement(U.GridColumnMenuItemGroup,null,p.map(t=>e.createElement(W.GridColumnMenuItem,{key:t.id,title:D(t),onClick:o=>w(o,t)}))),e.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},e.createElement(R.Button,{svgIcon:d.xIcon,onClick:I,disabled:v},S.toLanguageString(a.sortClearButton,a.messages[a.sortClearButton])))),T=e.createElement(R.Button,{ref:s,togglable:!0,selected:k,svgIcon:r.svgIcon?r.svgIcon:r.icon?void 0:d.arrowsSwapIcon,icon:r.icon,size:n.mobileMode?"large":"medium",className:u.classNames("k-toolbar-button",{"k-icon-button":n.mobileMode}),title:S.toLanguageString(a.toolbarSort,a.messages[a.toolbarSort]),onClick:P},!n.mobileMode&&S.toLanguageString(a.toolbarSort,a.messages[a.toolbarSort]));return i&&e.createElement(e.Fragment,null,O?e.createElement(x.BadgeContainer,null,T,e.createElement(x.Badge,{themeColor:"primary"})):T,n.mobileMode?e.createElement($.GridToolbarAdaptiveProvider,null,Q.createPortal(e.createElement(ee.GridAdaptiveToolbarSort,{filtered:p,computedShow:k,isDisabledButton:v,renderTitle:D,onClose:y,onClear:I,handleSorting:w},G),(q=N())==null?void 0:q.body)):e.createElement(Z.Popup,{anchor:(B=s.current)==null?void 0:B.element,show:k,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:V},e.createElement("div",{ref:f,onBlur:L,onFocus:z,onMouseDown:K,onKeyDown:_,className:"k-column-menu k-column-menu-md"},G)))};A.displayName="KendoReactGridToolbarSort";exports.GridToolbarSort=A;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import * as e from "react";
|
|
9
|
+
import j from "react-dom";
|
|
10
|
+
import { GridColumnMenuItemGroup as q } from "../columnMenu/GridColumnMenuItemGroup.mjs";
|
|
11
|
+
import { GridColumnMenuItem as J } from "../columnMenu/GridColumnMenuItem.mjs";
|
|
12
|
+
import { GridContext as Q } from "../utils/GridContext.mjs";
|
|
13
|
+
import { Button as x } from "@progress/kendo-react-buttons";
|
|
14
|
+
import { sortAscSmallIcon as U, sortDescSmallIcon as W, xIcon as X, arrowsSwapIcon as Y } from "@progress/kendo-svg-icons";
|
|
15
|
+
import { useLocalization as Z } from "@progress/kendo-react-intl";
|
|
16
|
+
import { sortClearButton as A, messages as b, toolbarSort as c } from "../messages/index.mjs";
|
|
17
|
+
import { useDocument as $, SvgIcon as ee, useAsyncFocusBlur as te, classNames as oe, getActiveElement as ne } from "@progress/kendo-react-common";
|
|
18
|
+
import { BadgeContainer as re, Badge as le } from "@progress/kendo-react-indicators";
|
|
19
|
+
import { Popup as ae } from "@progress/kendo-react-popup";
|
|
20
|
+
import { GridToolbarAdaptiveProvider as se } from "./adaptiveContext/GridToolbarAdaptiveContext.mjs";
|
|
21
|
+
import { GridAdaptiveToolbarSort as ce } from "./adaptiveContent/GridAdaptiveToolbarSort.mjs";
|
|
22
|
+
const ie = (r) => {
|
|
23
|
+
var y, T;
|
|
24
|
+
const n = e.useContext(Q), s = n.columnsState, G = n.sortable, a = n.sort, h = n.defaultSort, [p, k] = e.useState(!0), [F, i] = e.useState(!1), [u, m] = e.useState(!1), l = e.useRef(null), d = e.useRef(null), E = e.useRef(null), f = e.useRef(0), g = Z(), N = $(l);
|
|
25
|
+
e.useEffect(() => {
|
|
26
|
+
h && (i(!0), k(!1));
|
|
27
|
+
}, [h]);
|
|
28
|
+
const S = e.useMemo(
|
|
29
|
+
() => (s == null ? void 0 : s.filter((t) => {
|
|
30
|
+
var o;
|
|
31
|
+
return (o = t.title || t.field) == null ? void 0 : o.toLowerCase();
|
|
32
|
+
})) || [],
|
|
33
|
+
[s]
|
|
34
|
+
), v = e.useCallback(
|
|
35
|
+
(t, o) => {
|
|
36
|
+
n.headerCellClick(t, o), k(!1), i(!0);
|
|
37
|
+
},
|
|
38
|
+
[n]
|
|
39
|
+
), w = e.useCallback(
|
|
40
|
+
(t) => {
|
|
41
|
+
n.sortChange([], t), i(!1);
|
|
42
|
+
},
|
|
43
|
+
[n]
|
|
44
|
+
), M = e.useCallback(
|
|
45
|
+
(t) => {
|
|
46
|
+
const o = a ? a.findIndex((_) => _.field === t.field) : -1;
|
|
47
|
+
return /* @__PURE__ */ e.createElement(e.Fragment, null, t.title || t.field, /* @__PURE__ */ e.createElement("span", { className: "k-columnmenu-indicators" }, o >= 0 && [
|
|
48
|
+
/* @__PURE__ */ e.createElement(
|
|
49
|
+
ee,
|
|
50
|
+
{
|
|
51
|
+
key: 1,
|
|
52
|
+
icon: a[o].dir === "asc" ? U : W
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
a.length > 1 && /* @__PURE__ */ e.createElement("span", { key: 2, className: "k-sort-index" }, o + 1)
|
|
56
|
+
]));
|
|
57
|
+
},
|
|
58
|
+
[a]
|
|
59
|
+
), R = (t) => {
|
|
60
|
+
t.preventDefault(), m(!u);
|
|
61
|
+
}, C = e.useMemo(() => r.show !== void 0 ? r.show : u, [r.show, u]), D = () => {
|
|
62
|
+
var t;
|
|
63
|
+
r.onCloseMenu && r.onCloseMenu(), m(!1), l.current && ((t = l.current.element) == null || t.focus());
|
|
64
|
+
}, L = (t) => {
|
|
65
|
+
const o = ne(document);
|
|
66
|
+
clearTimeout(f.current), f.current = window.setTimeout(() => {
|
|
67
|
+
!n.mobileMode && o && t.relatedTarget !== l.current && d.current && !d.current.contains(o) && D();
|
|
68
|
+
});
|
|
69
|
+
}, z = () => {
|
|
70
|
+
clearTimeout(f.current);
|
|
71
|
+
}, { onFocus: K, onBlur: P } = te({
|
|
72
|
+
onFocus: (t) => z(),
|
|
73
|
+
onBlur: (t) => L(t)
|
|
74
|
+
}), O = (t) => {
|
|
75
|
+
var o;
|
|
76
|
+
(o = E.current) == null || o.triggerMouseEvent(t);
|
|
77
|
+
}, V = (t) => {
|
|
78
|
+
var o;
|
|
79
|
+
(o = E.current) == null || o.triggerKeyboardEvent(t);
|
|
80
|
+
}, H = (t) => {
|
|
81
|
+
!t.isAnchorClicked && m(!1);
|
|
82
|
+
}, I = /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(q, null, S.map((t) => /* @__PURE__ */ e.createElement(
|
|
83
|
+
J,
|
|
84
|
+
{
|
|
85
|
+
key: t.id,
|
|
86
|
+
title: M(t),
|
|
87
|
+
onClick: (o) => v(o, t)
|
|
88
|
+
}
|
|
89
|
+
))), /* @__PURE__ */ e.createElement("div", { className: "k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer" }, /* @__PURE__ */ e.createElement(x, { svgIcon: X, onClick: w, disabled: p }, g.toLanguageString(A, b[A])))), B = /* @__PURE__ */ e.createElement(
|
|
90
|
+
x,
|
|
91
|
+
{
|
|
92
|
+
ref: l,
|
|
93
|
+
togglable: !0,
|
|
94
|
+
selected: C,
|
|
95
|
+
svgIcon: r.svgIcon ? r.svgIcon : r.icon ? void 0 : Y,
|
|
96
|
+
icon: r.icon,
|
|
97
|
+
size: n.mobileMode ? "large" : "medium",
|
|
98
|
+
className: oe("k-toolbar-button", {
|
|
99
|
+
"k-icon-button": n.mobileMode
|
|
100
|
+
}),
|
|
101
|
+
title: g.toLanguageString(c, b[c]),
|
|
102
|
+
onClick: R
|
|
103
|
+
},
|
|
104
|
+
!n.mobileMode && g.toLanguageString(c, b[c])
|
|
105
|
+
);
|
|
106
|
+
return G && /* @__PURE__ */ e.createElement(e.Fragment, null, F ? /* @__PURE__ */ e.createElement(re, null, B, /* @__PURE__ */ e.createElement(le, { themeColor: "primary" })) : B, n.mobileMode ? /* @__PURE__ */ e.createElement(se, null, j.createPortal(
|
|
107
|
+
/* @__PURE__ */ e.createElement(
|
|
108
|
+
ce,
|
|
109
|
+
{
|
|
110
|
+
filtered: S,
|
|
111
|
+
computedShow: C,
|
|
112
|
+
isDisabledButton: p,
|
|
113
|
+
renderTitle: M,
|
|
114
|
+
onClose: D,
|
|
115
|
+
onClear: w,
|
|
116
|
+
handleSorting: v
|
|
117
|
+
},
|
|
118
|
+
I
|
|
119
|
+
),
|
|
120
|
+
(y = N()) == null ? void 0 : y.body
|
|
121
|
+
)) : /* @__PURE__ */ e.createElement(
|
|
122
|
+
ae,
|
|
123
|
+
{
|
|
124
|
+
anchor: (T = l.current) == null ? void 0 : T.element,
|
|
125
|
+
show: C,
|
|
126
|
+
popupClass: "k-grid-columnmenu-popup",
|
|
127
|
+
onMouseDownOutside: H
|
|
128
|
+
},
|
|
129
|
+
/* @__PURE__ */ e.createElement(
|
|
130
|
+
"div",
|
|
131
|
+
{
|
|
132
|
+
ref: d,
|
|
133
|
+
onBlur: P,
|
|
134
|
+
onFocus: K,
|
|
135
|
+
onMouseDown: O,
|
|
136
|
+
onKeyDown: V,
|
|
137
|
+
className: "k-column-menu k-column-menu-md"
|
|
138
|
+
},
|
|
139
|
+
I
|
|
140
|
+
)
|
|
141
|
+
));
|
|
142
|
+
};
|
|
143
|
+
ie.displayName = "KendoReactGridToolbarSort";
|
|
144
|
+
export {
|
|
145
|
+
ie as GridToolbarSort
|
|
146
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),n=require("../../messages/index.js"),A=require("../../utils/GridContext.js"),l=require("@progress/kendo-react-layout"),u=require("@progress/kendo-react-buttons"),c=require("@progress/kendo-svg-icons"),N=require("@progress/kendo-react-intl"),g=require("@progress/kendo-react-inputs"),I=require("../../columnMenu/adaptiveContent/GridActionSheetFooter.js"),y=require("../adaptiveContext/GridToolbarAdaptiveContext.js"),M=require("@progress/kendo-react-common"),w=require("../../columnMenu/GridColumnMenuItemGroup.js"),B=require("../../columnMenu/GridColumnMenuItem.js"),q=t=>{const i=e.useContext(A.GridContext),{actionSheetRef:d,firstViewRef:v,secondViewRef:f}=e.useContext(y.GridToolbarAdaptiveContext),r=M.useAdaptiveModeContext(),o=N.useLocalization(),[k,E]=e.useState(""),S={animation:!0,navigatable:!1,navigatableElements:[],expand:t.computedShow,animationStyles:r&&i.adaptiveColumnMenuRef<=r.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:r&&i.adaptiveColumnMenuRef<=r.small?"fullscreen":void 0},b=i.dir==="rtl"?c.chevronRightIcon:c.chevronLeftIcon,C=o.toLanguageString(n.adaptiveColumnMenuCheckboxFilterTitle,n.messages[n.adaptiveColumnMenuCheckboxFilterTitle]),x=()=>{t.onBackView&&t.onBackView(),i!=null&&i.mobileMode&&d.current.element.style.setProperty("--kendo-actionsheet-view-current",1)};return e.createElement(l.ActionSheet,{...S,ref:d,style:{"--kendo-actionsheet-view-current":1},onClose:t.onClose},e.createElement(l.ActionSheetView,{className:"k-actionsheet-view-animated",ref:v,style:{transitionDuration:"500ms",transitionProperty:"transform"}},e.createElement(l.ActionSheetHeader,null,e.createElement("div",{className:"k-actionsheet-titlebar-group"},e.createElement("div",{className:"k-actionsheet-title"},e.createElement("div",{className:"k-text-center"},C)),e.createElement("div",{className:"k-actionsheet-actions"},e.createElement(u.Button,{svgIcon:c.xIcon,onClick:t.onClose,fillMode:"flat"})))),e.createElement(l.ActionSheetContent,null,e.createElement("div",{className:"k-column-menu k-column-menu-lg"},t.filtered.map(a=>{var s,m;return e.createElement(w.GridColumnMenuItemGroup,{key:a.id},e.createElement("div",{className:"k-expander"},e.createElement(B.GridColumnMenuItem,{title:t.renderTitle(a),expandable:!0,expanded:!!((m=(s=t.expandState)==null?void 0:s.find(h=>h.column.field===a.field))!=null&&m.expanded),onClick:h=>(d.current.element.style.setProperty("--kendo-actionsheet-view-current",2),E(a.field),t.onFilterExpand(h,a))})))}))),e.createElement(l.ActionSheetFooter,null,e.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},e.createElement(u.Button,{svgIcon:c.filterClearIcon,onClick:t.handleClearAllFilters,size:"large"},o.toLanguageString(n.filterClearAllButton,n.messages[n.filterClearAllButton]))))),e.createElement(l.ActionSheetView,{className:"k-actionsheet-view-animated",ref:f,style:{transitionDuration:"500ms",transitionProperty:"transform"}},e.createElement(l.ActionSheetHeader,null,e.createElement("div",{className:"k-actionsheet-titlebar-group"},e.createElement("div",{className:"k-actionsheet-actions"},e.createElement(u.Button,{type:"button",onClick:x,svgIcon:b,fillMode:"flat"})),e.createElement("div",{className:"k-actionsheet-title"},e.createElement("div",{className:"k-text-center"},C+(k?` ${k}`:""))),e.createElement("div",{className:"k-actionsheet-actions"},e.createElement(u.Button,{type:"button",svgIcon:c.xIcon,onClick:t.onClose,fillMode:"flat"})))),e.createElement(l.ActionSheetContent,null,e.createElement("div",{className:"k-filter-menu"},e.createElement("div",{className:"k-filter-menu-container"},t.searchBox,e.createElement("ul",{className:"k-multicheck-wrap"},e.createElement("li",{className:"k-item k-check-all-wrap"},e.createElement(g.Checkbox,{size:i.mobileMode?"large":"medium",label:o.toLanguageString(n.filterCheckAll,n.messages[n.filterCheckAll]),onChange:a=>t.handleCheckBoxChange(a,"all"),checked:t.isAllSelected()})),t.currentData.map((a,s)=>e.createElement("li",{className:"k-item",key:`colmenu-checkbox-item-${s}`},e.createElement(g.Checkbox,{size:i.mobileMode?"large":"medium",label:String(a),onChange:m=>t.handleCheckBoxChange(m,a),checked:t.uniqueFilterValues.includes(a)})))),e.createElement("div",{className:"k-filter-selected-items"},t.uniqueFilterValues.length+" "+o.toLanguageString(n.filterSelectedItems,n.messages[n.filterSelectedItems]))))),e.createElement(l.ActionSheetFooter,null,e.createElement(I.GridActionSheetFooterContent,{onApply:t.submit,onReset:t.clear,submitMessage:o.toLanguageString(n.filterSubmitButton,n.messages[n.filterSubmitButton]),resetMessage:o.toLanguageString(n.filterClearButton,n.messages[n.filterClearButton])}))))};exports.GridAdaptiveToolbarCheckboxFilter=q;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import e from "react";
|
|
10
|
+
import { adaptiveColumnMenuCheckboxFilterTitle as f, messages as i, filterClearAllButton as k, filterCheckAll as g, filterSelectedItems as v, filterSubmitButton as E, filterClearButton as C } from "../../messages/index.mjs";
|
|
11
|
+
import { GridContext as L } from "../../utils/GridContext.mjs";
|
|
12
|
+
import { ActionSheet as R, ActionSheetView as S, ActionSheetHeader as x, ActionSheetContent as N, ActionSheetFooter as b } from "@progress/kendo-react-layout";
|
|
13
|
+
import { Button as m } from "@progress/kendo-react-buttons";
|
|
14
|
+
import { chevronRightIcon as V, chevronLeftIcon as G, xIcon as w, filterClearIcon as z } from "@progress/kendo-svg-icons";
|
|
15
|
+
import { useLocalization as P } from "@progress/kendo-react-intl";
|
|
16
|
+
import { Checkbox as y } from "@progress/kendo-react-inputs";
|
|
17
|
+
import { GridActionSheetFooterContent as T } from "../../columnMenu/adaptiveContent/GridActionSheetFooter.mjs";
|
|
18
|
+
import { GridToolbarAdaptiveContext as D } from "../adaptiveContext/GridToolbarAdaptiveContext.mjs";
|
|
19
|
+
import { useAdaptiveModeContext as q } from "@progress/kendo-react-common";
|
|
20
|
+
import { GridColumnMenuItemGroup as _ } from "../../columnMenu/GridColumnMenuItemGroup.mjs";
|
|
21
|
+
import { GridColumnMenuItem as $ } from "../../columnMenu/GridColumnMenuItem.mjs";
|
|
22
|
+
const ae = (t) => {
|
|
23
|
+
const a = e.useContext(L), { actionSheetRef: s, firstViewRef: A, secondViewRef: M } = e.useContext(D), o = q(), l = P(), [d, I] = e.useState(""), p = {
|
|
24
|
+
animation: !0,
|
|
25
|
+
navigatable: !1,
|
|
26
|
+
navigatableElements: [],
|
|
27
|
+
expand: t.computedShow,
|
|
28
|
+
animationStyles: o && a.adaptiveColumnMenuRef <= o.small ? { top: 0, width: "100%", height: "100%" } : void 0,
|
|
29
|
+
className: "k-adaptive-actionsheet",
|
|
30
|
+
position: o && a.adaptiveColumnMenuRef <= o.small ? "fullscreen" : void 0
|
|
31
|
+
}, B = a.dir === "rtl" ? V : G, h = l.toLanguageString(
|
|
32
|
+
f,
|
|
33
|
+
i[f]
|
|
34
|
+
), F = () => {
|
|
35
|
+
t.onBackView && t.onBackView(), a != null && a.mobileMode && s.current.element.style.setProperty("--kendo-actionsheet-view-current", 1);
|
|
36
|
+
};
|
|
37
|
+
return /* @__PURE__ */ e.createElement(
|
|
38
|
+
R,
|
|
39
|
+
{
|
|
40
|
+
...p,
|
|
41
|
+
ref: s,
|
|
42
|
+
style: { "--kendo-actionsheet-view-current": 1 },
|
|
43
|
+
onClose: t.onClose
|
|
44
|
+
},
|
|
45
|
+
/* @__PURE__ */ e.createElement(
|
|
46
|
+
S,
|
|
47
|
+
{
|
|
48
|
+
className: "k-actionsheet-view-animated",
|
|
49
|
+
ref: A,
|
|
50
|
+
style: {
|
|
51
|
+
transitionDuration: "500ms",
|
|
52
|
+
transitionProperty: "transform"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
/* @__PURE__ */ e.createElement(x, null, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-titlebar-group" }, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-title" }, /* @__PURE__ */ e.createElement("div", { className: "k-text-center" }, h)), /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-actions" }, /* @__PURE__ */ e.createElement(m, { svgIcon: w, onClick: t.onClose, fillMode: "flat" })))),
|
|
56
|
+
/* @__PURE__ */ e.createElement(N, null, /* @__PURE__ */ e.createElement("div", { className: "k-column-menu k-column-menu-lg" }, t.filtered.map((n) => {
|
|
57
|
+
var c, r;
|
|
58
|
+
return /* @__PURE__ */ e.createElement(_, { key: n.id }, /* @__PURE__ */ e.createElement("div", { className: "k-expander" }, /* @__PURE__ */ e.createElement(
|
|
59
|
+
$,
|
|
60
|
+
{
|
|
61
|
+
title: t.renderTitle(n),
|
|
62
|
+
expandable: !0,
|
|
63
|
+
expanded: !!((r = (c = t.expandState) == null ? void 0 : c.find(
|
|
64
|
+
(u) => u.column.field === n.field
|
|
65
|
+
)) != null && r.expanded),
|
|
66
|
+
onClick: (u) => (s.current.element.style.setProperty("--kendo-actionsheet-view-current", 2), I(n.field), t.onFilterExpand(u, n))
|
|
67
|
+
}
|
|
68
|
+
)));
|
|
69
|
+
}))),
|
|
70
|
+
/* @__PURE__ */ e.createElement(b, null, /* @__PURE__ */ e.createElement("div", { className: "k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer" }, /* @__PURE__ */ e.createElement(m, { svgIcon: z, onClick: t.handleClearAllFilters, size: "large" }, l.toLanguageString(k, i[k]))))
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ e.createElement(
|
|
73
|
+
S,
|
|
74
|
+
{
|
|
75
|
+
className: "k-actionsheet-view-animated",
|
|
76
|
+
ref: M,
|
|
77
|
+
style: {
|
|
78
|
+
transitionDuration: "500ms",
|
|
79
|
+
transitionProperty: "transform"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
/* @__PURE__ */ e.createElement(x, null, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-titlebar-group" }, /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-actions" }, /* @__PURE__ */ e.createElement(m, { type: "button", onClick: F, svgIcon: B, fillMode: "flat" })), /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-title" }, /* @__PURE__ */ e.createElement("div", { className: "k-text-center" }, h + (d ? ` ${d}` : ""))), /* @__PURE__ */ e.createElement("div", { className: "k-actionsheet-actions" }, /* @__PURE__ */ e.createElement(m, { type: "button", svgIcon: w, onClick: t.onClose, fillMode: "flat" })))),
|
|
83
|
+
/* @__PURE__ */ e.createElement(N, null, /* @__PURE__ */ e.createElement("div", { className: "k-filter-menu" }, /* @__PURE__ */ e.createElement("div", { className: "k-filter-menu-container" }, t.searchBox, /* @__PURE__ */ e.createElement("ul", { className: "k-multicheck-wrap" }, /* @__PURE__ */ e.createElement("li", { className: "k-item k-check-all-wrap" }, /* @__PURE__ */ e.createElement(
|
|
84
|
+
y,
|
|
85
|
+
{
|
|
86
|
+
size: a.mobileMode ? "large" : "medium",
|
|
87
|
+
label: l.toLanguageString(g, i[g]),
|
|
88
|
+
onChange: (n) => t.handleCheckBoxChange(n, "all"),
|
|
89
|
+
checked: t.isAllSelected()
|
|
90
|
+
}
|
|
91
|
+
)), t.currentData.map((n, c) => /* @__PURE__ */ e.createElement("li", { className: "k-item", key: `colmenu-checkbox-item-${c}` }, /* @__PURE__ */ e.createElement(
|
|
92
|
+
y,
|
|
93
|
+
{
|
|
94
|
+
size: a.mobileMode ? "large" : "medium",
|
|
95
|
+
label: String(n),
|
|
96
|
+
onChange: (r) => t.handleCheckBoxChange(r, n),
|
|
97
|
+
checked: t.uniqueFilterValues.includes(n)
|
|
98
|
+
}
|
|
99
|
+
)))), /* @__PURE__ */ e.createElement("div", { className: "k-filter-selected-items" }, t.uniqueFilterValues.length + " " + l.toLanguageString(v, i[v]))))),
|
|
100
|
+
/* @__PURE__ */ e.createElement(b, null, /* @__PURE__ */ e.createElement(
|
|
101
|
+
T,
|
|
102
|
+
{
|
|
103
|
+
onApply: t.submit,
|
|
104
|
+
onReset: t.clear,
|
|
105
|
+
submitMessage: l.toLanguageString(E, i[E]),
|
|
106
|
+
resetMessage: l.toLanguageString(C, i[C])
|
|
107
|
+
}
|
|
108
|
+
))
|
|
109
|
+
)
|
|
110
|
+
);
|
|
111
|
+
};
|
|
112
|
+
export {
|
|
113
|
+
ae as GridAdaptiveToolbarCheckboxFilter
|
|
114
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),S=require("../../utils/GridContext.js"),m=require("@progress/kendo-svg-icons"),t=require("../../messages/index.js"),f=require("@progress/kendo-react-buttons"),b=require("@progress/kendo-react-intl"),s=require("@progress/kendo-react-inputs"),i=require("@progress/kendo-react-layout"),u=require("@progress/kendo-react-common"),x=require("../../columnMenu/adaptiveContent/GridActionSheetFooter.js"),E=require("../adaptiveContext/GridToolbarAdaptiveContext.js"),A=n=>{const l=e.useContext(S.GridContext),{actionSheetRef:d}=e.useContext(E.GridToolbarAdaptiveContext),c=u.useAdaptiveModeContext(),a=b.useLocalization(),C={animation:!0,navigatable:!1,navigatableElements:[],expand:n.computedShow,animationStyles:c&&l.adaptiveColumnMenuRef<=c.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:c&&l.adaptiveColumnMenuRef<=c.small?"fullscreen":void 0},h=a.toLanguageString(t.adaptiveColumnMenuChooserTitle,t.messages[t.adaptiveColumnMenuChooserTitle]),g=a.toLanguageString(t.adaptiveColumnMenuChooserSubTitle,t.messages[t.adaptiveColumnMenuChooserSubTitle]),k=()=>e.createElement(s.InputPrefix,null,e.createElement(u.IconWrap,{name:"search",icon:m.searchIcon}));return e.createElement(i.ActionSheet,{...C,ref:d,style:{"--kendo-actionsheet-view-current":1},onClose:n.onClose},e.createElement(i.ActionSheetView,null,e.createElement(i.ActionSheetHeader,null,e.createElement("div",{className:"k-actionsheet-titlebar-group"},e.createElement("div",{className:"k-actionsheet-title"},e.createElement("div",{className:"k-text-center"},h),e.createElement("div",{className:"k-actionsheet-subtitle k-text-center"},g)),e.createElement("div",{className:"k-actionsheet-actions"},e.createElement(f.Button,{type:"button",svgIcon:m.xIcon,onClick:n.onClose,fillMode:"flat"})))),e.createElement(i.ActionSheetContent,null,e.createElement("div",{className:"k-filter-menu"},e.createElement("div",{className:"k-filter-menu-container"},e.createElement(s.TextBox,{size:l.mobileMode?"large":"medium",className:"k-searchbox",value:n.filter,onChange:n.onFilter,prefix:k}),e.createElement("ul",{className:"k-reset k-multicheck-wrap"},!n.filter&&e.createElement("li",{className:"k-item k-check-all-wrap"},e.createElement(s.Checkbox,{size:l.mobileMode?"large":"medium",checked:n.allSelected,onChange:n.onSelectAll,label:a.toLanguageString(t.filterSelectAll,t.messages[t.filterSelectAll])})),n.filtered.map((o,M)=>e.createElement("li",{key:o.id,className:"k-item"},e.createElement(s.Checkbox,{size:l.mobileMode?"large":"medium",disabled:n.selectedColumns[o.id||""]&&n.checkedCount===1,checked:n.selectedColumns[o.id||""],onChange:v=>{var r;return n.onCheckChange(!!((r=v.target.element)!=null&&r.checked),o.id)},label:o.title||o.field})))),e.createElement("div",{className:"k-filter-selected-items"},n.checkedCount," ",a.toLanguageString(t.columnMenuColumnChooserSelectedItems,t.messages[t.columnMenuColumnChooserSelectedItems]))))),e.createElement(i.ActionSheetFooter,null,e.createElement(x.GridActionSheetFooterContent,{onApply:n.onApply,onReset:n.onReset,resetMessage:a.toLanguageString(t.filterResetButton,t.messages[t.filterResetButton]),submitMessage:a.toLanguageString(t.filterApplyButton,t.messages[t.filterApplyButton])}))))};exports.GridAdaptiveToolbarColumnChooser=A;
|