@progress/kendo-react-chart-wizard
Version:
React Chart Wizard lets you create a chart using data from a Grid, another data-bound component, or an external source
9 lines (8 loc) • 2.57 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),x=require("@progress/kendo-react-buttons"),o=require("@progress/kendo-react-grid"),I=require("@progress/kendo-react-intl"),D=require("@progress/kendo-svg-icons"),d=require("./SeriesGridCells.js"),G=require("../messages.js"),k=require("@progress/kendo-charts"),{messages:q}=k.ChartWizardCommon,R=a=>{const[u,c]=n.useState({}),[s,m]=n.useState(null),C=e=>{if(s===e)return;const t=a.data.slice(),i=t.findIndex(r=>r===s),l=t.findIndex(r=>r===e);t.splice(i,1),t.splice(l,0,s||t[0]),a.onChange.call(void 0,t)},g=e=>{m(e)},f=()=>{const e=a.initialData.find(t=>!a.data.find(i=>i.id===t.id));e&&a.onChange.call(void 0,[...a.data,e])},S=e=>{c(t=>({...t,[e.id]:!0}))},E=e=>{c(t=>Object.keys(t).reduce((i,l)=>{if(l===e.id){const r={...t};return delete r[l],r}return i},{}))},h=e=>{const t=e.field||"",i=a.data.map(l=>l.id===e.dataItem.id?{...l,[t]:e.value}:l);a.onChange.call(void 0,i)},v=e=>{const t=a.data.filter(i=>i.id!==e);a.onChange.call(void 0,t)},b=e=>{c(e.edit)};return n.createElement(d.RemoveSeriesContext.Provider,{value:{onRemove:v,count:a.data.length}},n.createElement(d.ReorderContext.Provider,{value:{reorder:C,dragStart:g}},n.createElement(d.SeriesEditContext.Provider,{value:{enterEdit:S,exitEdit:E}},n.createElement(o.Grid,{className:"k-series-grid",style:{width:"100%"},size:"medium",data:a.data,dataItemKey:"id",onItemChange:h,scrollable:"none",editable:!0,cells:{headerCell:d.SeriesHeaderCell,data:d.SeriesDataCell,edit:{text:d.SeriesDataEditCell,boolean:d.SeriesDataEditCell,numeric:d.SeriesDataEditCell,date:d.SeriesDataEditCell}},edit:u,onEditChange:b},n.createElement(o.GridToolbar,null,n.createElement(x.Button,{type:"button",className:"k-toolbar-button",fillMode:"flat",onClick:f,disabled:a.data.length===a.initialData.length,svgIcon:D.plusIcon,icon:"plus"},I.useLocalization().toLanguageString(G.configurationSeriesAdd,q.configurationSeriesAdd))),n.createElement(o.GridColumn,{field:"reorder",width:"40px",editable:!1}),n.createElement(o.GridColumn,{field:"name",title:"Name"}),n.createElement(o.GridColumn,{field:"delete",width:"40px",editable:!1})))))};exports.SeriesGrid=R;