-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbecd3aff.bac1ad95.js
1 lines (1 loc) · 8.93 KB
/
becd3aff.bac1ad95.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{138:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n(3),r=(n(0),n(165)),o=(n(179),n(177));const i={id:"editable",title:"Editable"},l={unversionedId:"edit/editable",id:"edit/editable",isDocsHomePage:!1,title:"Editable",description:"mbrn/material-table reference//material-table.com/#/docs/features/editable",source:"@site/demos/edit/editable.mdx",slug:"/edit/editable",permalink:"/demos/edit/editable",version:"current",sidebar:"sidebar",previous:{title:"Single Details Panel",permalink:"/demos/details-panel/single"},next:{title:"Basic Export",permalink:"/demos/export/basic"}},c=[{value:"Usage",id:"usage",children:[]},{value:"Live Demo",id:"live-demo",children:[]}],s={toc:c};function d(e){let{components:t,...n}=e;return Object(r.b)("wrapper",Object(a.a)({},s,n,{components:t,mdxType:"MDXLayout"}),Object(r.b)("div",{className:"admonition admonition-info alert alert--info"},Object(r.b)("div",{parentName:"div",className:"admonition-heading"},Object(r.b)("h5",{parentName:"div"},Object(r.b)("span",{parentName:"h5",className:"admonition-icon"},Object(r.b)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},Object(r.b)("path",{parentName:"svg",fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))),"More info")),Object(r.b)("div",{parentName:"div",className:"admonition-content"},Object(r.b)("p",{parentName:"div"},Object(r.b)("inlineCode",{parentName:"p"},"mbrn/material-table")," ",Object(r.b)("strong",{parentName:"p"},"reference")," : ",Object(r.b)("a",{parentName:"p",href:"https://material-table.com/#/docs/features/editable"},"https://material-table.com/#/docs/features/editable")))),Object(r.b)("h2",{id:"usage"},"Usage"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre",className:"language-jsx"},'import MaterialTable from "@material-table/core";\n\n<MaterialTable\n // ...\n editable={{\n onBulkUpdate: (changes) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n onRowAddCancelled: (rowData) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n onRowUpdateCancelled: (rowData) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n onRowAdd: (newData) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n onRowUpdate: (newData, oldData) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n onRowDelete: (oldData) => {\n return new Promise((resolve, reject) => {\n // Must return a Promise\n });\n },\n }}\n // ...\n/>;\n')),Object(r.b)("h2",{id:"live-demo"},"Live Demo"),Object(r.b)(o.a,{mdxType:"InfoBannerAboutGlobalVarsInDemos"}),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre",className:"language-jsx",metastring:"live",live:!0},'function BasicEditPanelDemo() {\n const [data, setData] = useState(EDITABLE_DATA);\n\n // Helper function\n function getNewDataBulkEdit(changes, copyData) {\n // key matches the column data id\n const keys = Object.keys(changes);\n for (let i = 0; i < keys.length; i++) {\n if (changes[keys[i]] && changes[keys[i]].newData) {\n // Find the data item with the same key in copyData[]\n let targetData = copyData.find((el) => el.id === keys[i]);\n if (targetData) {\n let newTargetDataIndex = copyData.indexOf(targetData);\n copyData[newTargetDataIndex] = changes[keys[i]].newData;\n }\n }\n }\n return copyData;\n }\n\n return (\n <MaterialTable\n data={data}\n columns={EDITABLE_COLUMNS}\n editable={{\n onBulkUpdate: (changes) => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n let copyData = [...data];\n setData(getNewDataBulkEdit(changes, copyData));\n resolve();\n }, 1000);\n });\n },\n onRowAddCancelled: (rowData) => console.log("Row adding cancelled"),\n onRowUpdateCancelled: (rowData) => console.log("Row editing cancelled"),\n onRowAdd: (newData) => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n newData.id = "uuid-" + Math.random() * 10000000;\n setData([...data, newData]);\n resolve();\n }, 1000);\n });\n },\n onRowUpdate: (newData, oldData) => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n const dataUpdate = [...data];\n // In dataUpdate, find target\n const target = dataUpdate.find((el) => el.id === oldData.id);\n const index = dataUpdate.indexOf(target);\n dataUpdate[index] = newData;\n setData(dataUpdate);\n resolve();\n }, 1000);\n });\n },\n onRowDelete: (oldData) => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n const dataDelete = data.filter((el) => el.id !== oldData.id);\n setData(dataDelete);\n resolve();\n }, 1000);\n });\n },\n }}\n />\n );\n}\n')))}d.isMDXComponent=!0},165:function(e,t,n){"use strict";n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return f}));var a=n(0),r=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),d=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=d(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},b=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),m=d(n),u=a,b=m["".concat(i,".").concat(u)]||m[u]||p[u]||o;return n?r.a.createElement(b,l(l({ref:t},s),{},{components:n})):r.a.createElement(b,l({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var s=2;s<o;s++)i[s]=n[s];return r.a.createElement.apply(null,i)}return r.a.createElement.apply(null,n)}b.displayName="MDXCreateElement"},177:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(0),r=n.n(a),o=(n(20),n(413)),i=n(244);const l=e=>{let{type:t,children:n}=e,a=t;return"tip"===t&&(a="success"),"note"===t&&(a="secondary"),r.a.createElement(o.a,{theme:Object(i.b)()},r.a.createElement("div",{className:`admonition admonition-${t} alert alert--${a}`},r.a.createElement("div",{className:"admonition-heading"},r.a.createElement("h5",null,r.a.createElement("span",{className:"admonition-icon"},r.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},r.a.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))),t.toLowerCase())),r.a.createElement("div",{className:"admonition-content"},r.a.createElement("p",null,n))))},c=()=>r.a.createElement(l,{type:"note"},"See"," ",r.a.createElement("a",{href:"/demos/#demo-environment"},r.a.createElement("b",null,r.a.createElement("i",null,"here")))," ","for more on the ",r.a.createElement("code",null,"GLOBAL_VARS")," we use in our demos")}}]);